# doc-cache created by Octave 10.2.0
# name: cache
# type: cell
# rows: 3
# columns: 20
# name: <cell-element>
# type: sq_string
# elements: 1
# length: 5
Ubern


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 157

 [bp,bn]=Ubern(x)

 calcola la funzione di Bernoulli
 B(x)=x/(exp(x)-1) in corrispondenza dei 
 due argomenti Z e -Z, ricordando che risulta
 B(-Z)=Z+B(Z)




# name: <cell-element>
# type: sq_string
# elements: 1
# length: 18

 [bp,bn]=Ubern(x)



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 10
Ucompconst


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 37
 C = Ucompconst (mesh,coeffn,coeffe)



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 37
 C = Ucompconst (mesh,coeffn,coeffe)




# name: <cell-element>
# type: sq_string
# elements: 1
# length: 8
Ucomplap


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 27
 L = Ucomplap (mesh,coeff)



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 27
 L = Ucomplap (mesh,coeff)




# name: <cell-element>
# type: sq_string
# elements: 1
# length: 9
Ucompmass


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 33
  Bmat	= Ucompmass (mesh,Bvect);



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 33
  Bmat	= Ucompmass (mesh,Bvect);




# name: <cell-element>
# type: sq_string
# elements: 1
# length: 10
Ucompmass2


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 40
  Bmat	= Ucompmass2 (mesh,Bvect,Cvect);



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 40
  Bmat	= Ucompmass2 (mesh,Bvect,Cvect);




# name: <cell-element>
# type: sq_string
# elements: 1
# length: 10
Udescaling


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 90
  [odata,omesh] = Udescaling(imesh,idata);
  rescale data back from non-dimensional form.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
  [odata,omesh] = Udescaling(imesh,idata);
  rescale data back from non-dimen...



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 10
Udrawfaces


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 24
 Udrawfaces(mesh,sides)



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 24
 Udrawfaces(mesh,sides)




# name: <cell-element>
# type: sq_string
# elements: 1
# length: 12
Udrawregions


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 22
 Udrawregions(mesh,r)



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 22
 Udrawregions(mesh,r)




# name: <cell-element>
# type: sq_string
# elements: 1
# length: 15
Udriftdiffusion


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 137
 c = Udriftdiffusion(mesh,Dsides,guess,M,U,V,u)
 solves the drift diffusion equation
 $ -div[ mu (u \nabla n - n \nabla V) ] + M u = U $



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
 c = Udriftdiffusion(mesh,Dsides,guess,M,U,V,u)
 solves the drift diffusion e...



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 12
Ufielddepmob


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 75
 mob = Ufielddepmob(imesh,u0,F,vsat,b) 
 Computes field dependent mobility



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 75
 mob = Ufielddepmob(imesh,u0,F,vsat,b) 
 Computes field dependent mobility




# name: <cell-element>
# type: sq_string
# elements: 1
# length: 15
Ugetnodesonface


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 93

 [outnodes]=Ugetnodesonface(mesh,faceID);

 Returns a list of nodes on face with ID faceID




# name: <cell-element>
# type: sq_string
# elements: 1
# length: 42

 [outnodes]=Ugetnodesonface(mesh,faceID);



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 11
Ujoinmeshes


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 76
  mesh=Ujoinmeshes(mesh1,mesh2,side1,side2)
 Join two structured 3d meshes.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 76
  mesh=Ujoinmeshes(mesh1,mesh2,side1,side2)
 Join two structured 3d meshes.




# name: <cell-element>
# type: sq_string
# elements: 1
# length: 15
Umeshproperties


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 56
 omesh = Umeshproperties (imesh)
 Precompute mesh data.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 56
 omesh = Umeshproperties (imesh)
 Precompute mesh data.




# name: <cell-element>
# type: sq_string
# elements: 1
# length: 8
Updegrad


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 157
 [Fx,Fy]=Updegrad(mesh,F);

 computes piecewise constant
 gradient of a piecewise linear
 scalar function F defined on
 the mesh structure described by mesh



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 26
 [Fx,Fy]=Updegrad(mesh,F);



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 16
Urrextrapolation


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 99
  s = Urrextrapolation(X)
  RRE vector extrapolation see 
  Smith, Ford & Sidi SIREV 29 II 06/1987



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
  s = Urrextrapolation(X)
  RRE vector extrapolation see 
  Smith, Ford & Sid...



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 8
Uscaling


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 98

 function [odata,omesh] = Uscaling(imesh,idata);
 
 Convert input data to non-dimensional form.




# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80

 function [odata,omesh] = Uscaling(imesh,idata);
 
 Convert input data to no...



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 18
Uscharfettergummel


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 372
 SG=Uscharfettergummel(mesh,v,acoeff)
 

 Builds the Scharfetter-Gummel  matrix for the 
 the discretization of the LHS 
 of the Drift-Diffusion equation:

 $ -\div (a(x) (\grad u -  u \grad v'(x) ))= f $

 where a(x) is piecewise constant
 and v(x) is piecewise linear, so that 
 v'(x) is still piecewise constant
 b is a constant independent of x
 and u is the unknown




# name: <cell-element>
# type: sq_string
# elements: 1
# length: 39
 SG=Uscharfettergummel(mesh,v,acoeff)
 



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 11
Ustructmesh


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 94

 [omesh]=Ustructmesh(x,y,z,region,sides)

 Construct a structured mesh of a parallelepiped.




# name: <cell-element>
# type: sq_string
# elements: 1
# length: 41

 [omesh]=Ustructmesh(x,y,z,region,sides)



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 8
Usubmesh


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 128

  [omesh,onodes,oelements]=Usubmesh(imesh,intrfc,sdl,short)

 builds the mesh structure for the given list
 of subdomains sdl




# name: <cell-element>
# type: sq_string
# elements: 1
# length: 60

  [omesh,onodes,oelements]=Usubmesh(imesh,intrfc,sdl,short)



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 9
constants


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 135
 Material properties for Si and SiO2
 change this script and use it to overwrite constants.mat
 if you want to use different materials



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
 Material properties for Si and SiO2
 change this script and use it to overwr...





