# Created by Octave 3.8.0, Fri Feb 07 23:01:03 2014 CET <marco@GE-MATZERI-EU>
# name: cache
# type: cell
# rows: 3
# columns: 20
# 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-dimensio



# 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 equa



# 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: 75
  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: 55
 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: 21
Uphilipsmobiltymodeln


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



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




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


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



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




# 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 & Sidi S



# 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 non-d



# 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: 12
block_jacobi


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 603
 -- Function File: [X, RES, NIT] = block_jacobi (A, B, X0, NBLOCKS,
          MAXIT, TOL)
     Solve the linear system 'A * x = b' using the block-Jacobi
     iterative algorithm.  The algorithm is implemented as a
     preconditioned Richardson iteration with a block-diagonal
     preconditioner.  NBLOCKS is the number of diagonal blocks to be
     extracted from the matrix A, MAXIT the maximum number of
     iterations.  If requested, the output parameter RES contains the
     value of the residual 'b - A*x' at the last iteration and NIT the
     number of iterations that have been performed.




# name: <cell-element>
# type: sq_string
# elements: 1
# length: 79
Solve the linear system 'A * x = b' using the block-Jacobi iterative
algorithm.



# 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 overwrite





