Navigation

Operators and Keywords

Function List:

C++ API

secs2d

A Drift-Diffusion simulator for 2d semiconductor devices

Select category:

Utilities

Ubern
[bp,bn]=Ubern(x) computes Bernoulli function B(x)=x/(exp(x)-1) corresponding to to input values Z and -Z, recalling that B(-Z)=Z+B(Z)
Ubernoulli
Not implemented.
Umediaarmonica
Not implemented.
UDXappend2Ddata
UDXappend2Ddata(filename,p,t,u,attr_name,attr_rank,attr_shape)
UDXoutput2Ddata
UDXoutput2Ddata(filename,p,t,u,attr_name,attr_rank,attr_shape,endfile)
UDXoutput2Dtimeseries
UDXoutput2Dtimeseries(filename,p,t,u,attr_name,attr_rank,attr_shape,time)
URREcyclingpattern
prcomputes cycling pattern for RRE extrapolation:
Ucolumns
function r=columns(m)
Ucompmass2
Bmat = Ucompmass2 (imesh,Bvect,Cvect);
Udescaling
[odata,omesh] = Udescaling(imesh,idata);
Udopdepmob
Udopdepmob (mu,par,D);
Udrawedge
Udrawedge(mesh);
Udriftdepmob
mob = Ufielddepmob(imesh,u0,F,vsat,b) Computes field dependent mobility
Udriftdiffusion2
c=Udriftdiffusion(mesh,Dsides,guess,M,U,V,Vth,u) solves the drift diffusion equation $ -div ( u ( \nabla (n Vth) - n \nabla V)) + M = U $
Ufielddepmob
mob = Ufielddepmob(imesh,u0,F,vsat,b) Computes field dependent mobility
Ufvsgcurrent
[jx,jy]=Udrawcurrent(omesh,n,psi,psith,coeffe);
Ufvsgcurrent2
[jx,jy]=Udrawcurrent2(omesh,n,psi,psith,coeffe);
Ufvsgcurrent3
Builds the Scharfetter-Gummel approximation of the vector field
Uinvfermidirac
[fd]=Uinvfermidirac(eta,par);
Uise2pde
[mesh,data]=ise2pde3(grid_file,pref,data_file,load_data,out_file) ise2pde3 estrae dati dal formato DF-ISE di ISE a pdetool di Matlab grid_file contiene il nome del file di griglia da estrarre pre
Ujoinmeshes
mesh=Ujoinmeshes(mesh1,mesh2,side1,side2)
Umeshproperties
mesh=Umeshproperties(mesh) precomputes some useful mesh properties
Umsh2pdetool
Umshcreatemesh
Unodesonside
Dnodes=Unodesonside(mesh,Dsides);
Updegrad
[Fx,Fy]=Updegrad(mesh,F);
Updemesh
Udrawedge(mesh);
Updesurf
Updemesh(varargin);
Urows
function r=rows(m)
Urrextrapolation
s = Urrextrapolation(X) RRE vector extrapolation see Smith, Ford & Sidi SIREV 29 II 06/1987
Uscaling
[odata,omesh] = Uscaling(imesh,idata);
Uscharfettergummel2
SG=Ufastscharfettergummel2(mesh,v,acoeff,bcoeff)
Usmoothguess
guess = Usmoothguess(mesh,new,old,Dsides);
Ustructmesh
[p,e,t]=Ustructmesh(x,y,region,sides,varargin)
Ustructmesh_left
[p,e,t]=Ustructmesh(x,y,region,sides)
Ustructmesh_random
[p,e,t]=Ustructmesh(x,y,region,sides)
Ustructmesh_right
[p,e,t]=Ustructmesh(x,y,region,sides)
Usubdomains2
[e,t]=Usubdomains(p,t,rcts,sidelist);
Usubmesh
[omesh,onodes,oelements]=Usubmesh(imesh,intrfc,sdl,short)
Utemplogm
Not implemented.
secs2d
PKG_ADD:# Run this only if the package is installed PKG_ADD:if (! exist (fullfile (fileparts (mfilename ("fullpath")), "inst"), "dir")) PKG_ADD: dirlist= {"Utilities","DDGOX","ThDDGOX","QDDGOX","M

Finite Element matrix assembly functions

Udriftdiffusion
c=Udriftdiffusion(mesh,Dsides,guess,M,U,V,u) solves the drift diffusion equation $ -div ( u ( \nabla n - n \nabla V)) + M = U $
Ucomplap
L = Ucomplap (mesh,coeff) Builds the FEM matrix for the the discretization of the - Laplacian
Ucompconst
L = Ucompconst (mesh,coeffn,coeffe) Builds the FEM vector for the the discretization of the RHS
Ucompmass
Not implemented.
Uscharfettergummel3
Builds the Scharfetter-Gummel matrix for the discretization of the LHS of the equation:

Physical constants and material properties

constants
This file is part of

DDGOX

DDGOXddcurrent
[current,divrg]=DDGOXddcurrent(mesh,Sinodes,data,contacts);
DDGOXelectron_driftdiffusion
n=DDGelectron_driftdiffusion(mesh,Dsides,nin,pin,V,un,tn,tp,n0,p0) IN: v = electric potential mesh = integration domain ng = initial guess and BCs for electron density p
DDGOXgummelmap
[odata,it,res] = DDGOXgummelmap (imesh,Dsides,.
DDGOXhole_driftdiffusion
p=DDGhole_driftdiffusion(mesh,Dsides,nin,pin,V,up,tn,tp,n0,p0) IN: v = electric potential mesh = integration domain nin = initial guess and BCs for electron density pin =
DDGOXnlpoisson
[V,n,p,res,niter] = DDGOXnlpoisson (mesh,Dsides,Sinodes,Vin,nin,pin,.
DDGOXplotresults
DDGOXplotresults(mesh,Simesh,n,p,V,Fn,Fp,gi,nrm,step);

DDGOXT

DDGOXTelectron_driftdiffusion
n=DDGelectron_driftdiffusion(mesh,Dsides,nin,pin,V,un,tn,tp,n0,p0,weight)
DDGOXTgummelmap
function [odata,it,res] = DDGOXTgummelmap (imesh,Dsides,.
DDGOXThole_driftdiffusion
p=DDGhole_driftdiffusion(mesh,Dsides,nin,pin,V,un,tn,tp,n0,p0,weight)

METLINES

METLINEScapcomp
METLINESdefinepermittivity

QDDGOX

QDDGOXcompdens
w = QDDGOXcompdens(mesh,Dsides,win,vin,fermiin,d2,toll,maxit,verbose);
QDDGOXddcurrent
[current,divrg]=QDDGOXddcurrent(mesh,Sinodes,data,contacts);
QDDGOXgummelmap
[odata,it,res] = QDDGOXgummelmap (imesh,Dsides,.
QDDGOXnlpoisson
[V,n,p,res,niter] = QDDGOXnlpoisson (mesh,Dsides,Sinodes,SiDnodes,.

ThDDGOX

ThDDGOXMOBN0STD
Not implemented.
ThDDGOXMOBN1STD
Not implemented.
ThDDGOXMOBP0STD
Not implemented.
ThDDGOXMOBP1STD
Not implemented.
ThDDGOXTWN0STD
Not implemented.
ThDDGOXTWN1STD
Not implemented.
ThDDGOXTWP0STD
Not implemented.
ThDDGOXTWP1STD
Not implemented.
ThDDGOXddcurrent
[current,divrg]=DDGOXddcurrent(Simesh,Sinodes,data,contacts);
ThDDGOXelectron_driftdiffusion
n=ThDDGOXelectron_driftdiffusion(mesh,Dnodes,n,pin,V,Tn,un0,un1,tn,tp,n0,p0)
ThDDGOXeletiteration
function [odata,nrm]=ThDDGOXeletiteration(imesh,Dsides,.
ThDDGOXgummelmap
[odata,it,res] = ThDDGOXgummelmap (imesh,Dsides,.
ThDDGOXhole_driftdiffusion
p=ThDDGOXhole_driftdiffusion(mesh,Dnodes,nin,p,V,Tp,monp0,mobp1,tn,tp,n0,p0)
ThDDGOXnlpoisson
[V,n,p,res,niter] = DDGOXnlpoisson (mesh,Dsides,Sinodes,Vin,nin,pin,.
ThDDGOXthermaliteration
[thermdata,innrm] = ThDDGOXthermaliteration(imesh,Dsides,.
ThDDGOXupdateelectron_temp
Tn = ThDDGOXupdateelectron_temp(mesh,Dnodes,Tn,n,p,Tl,Jn,E,mobn,.
ThDDGOXupdatehole_temp
Tp = ThDDGOXupdatehole_temp(mesh,Dnodes,Tp,n,p,Tl,Jp,E,mobp0,.
ThDDGOXupdatelattice_temp
Tl = ThDDGOXupdatelattice_temp(mesh,Dnodes,Tl,Tn,Tp,n,p,.