X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fsecs2d-0.0.8%2FUtilities%2Fdoc-cache;fp=octave_packages%2Fsecs2d-0.0.8%2FUtilities%2Fdoc-cache;h=1280d121e0f8fa91d77f695fcbd0403553fd1dc1;hp=0000000000000000000000000000000000000000;hb=f5f7a74bd8a4900f0b797da6783be80e11a68d86;hpb=1705066eceaaea976f010f669ce8e972f3734b05 diff --git a/octave_packages/secs2d-0.0.8/Utilities/doc-cache b/octave_packages/secs2d-0.0.8/Utilities/doc-cache new file mode 100644 index 0000000..1280d12 --- /dev/null +++ b/octave_packages/secs2d-0.0.8/Utilities/doc-cache @@ -0,0 +1,1226 @@ +# Created by Octave 3.6.1, Sun Mar 25 18:44:37 2012 UTC +# name: cache +# type: cell +# rows: 3 +# columns: 42 +# name: +# type: sq_string +# elements: 1 +# length: 15 +UDXappend2Ddata + + +# name: +# type: sq_string +# elements: 1 +# length: 521 + + UDXappend2Ddata(filename,p,t,u,attr_name,attr_rank,attr_shape) + + Apends data to a file in DX form. + Only one variable can be written to the file + variable must be a scalar, vector or tensor of doubles + mesh data in the file must be consistent with this variable + + x + attr_name = name of the variable (type string) + attr_rank = rank of variable data (0 for scalar, 1 for vector, etc.) + attr_shape = number of components of variable data (assumed 1 for scalar) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 67 + + UDXappend2Ddata(filename,p,t,u,attr_name,attr_rank,attr_shape) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 15 +UDXoutput2Ddata + + +# name: +# type: sq_string +# elements: 1 +# length: 457 + + UDXoutput2Ddata(filename,p,t,u,attr_name,attr_rank,attr_shape,endfile) + + Outputs data in DX form. + Only one variable can be written to the file + variable must be a scalar, vector or tensor of doubles + + x + attr_name = name of the variable (type string) + attr_rank = rank of variable data (0 for scalar, 1 for vector, etc.) + attr_shape = number of components of variable data (assumed 1 for scalar) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 75 + + UDXoutput2Ddata(filename,p,t,u,attr_name,attr_rank,attr_shape,endfile) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 21 +UDXoutput2Dtimeseries + + +# name: +# type: sq_string +# elements: 1 +# length: 455 + + UDXoutput2Dtimeseries(filename,p,t,u,attr_name,attr_rank,attr_shape,time) + + Outputs data in DX form. + Only one variable can be written to the file + variable must be a scalar, vector or tensor of doubles + + attr_name = name of the variable (type string) + attr_rank = rank of variable data (0 for scalar, 1 for vector, etc.) + attr_shape = number of components of variable data (assumed 1 for scalar) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 78 + + UDXoutput2Dtimeseries(filename,p,t,u,attr_name,attr_rank,attr_shape,time) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 18 +URREcyclingpattern + + +# name: +# type: sq_string +# elements: 1 +# length: 181 + prcomputes cycling pattern for RRE extrapolation: + + -1 = Do Nothing + 0 = extrapolate + 1..RRErank = store + + RREpattern = URREcyclingpattern(RREnnit,RRErank,toll); + + + + +# name: +# type: sq_string +# elements: 1 +# length: 51 + prcomputes cycling pattern for RRE extrapolation: + + + + +# name: +# type: sq_string +# elements: 1 +# length: 5 +Ubern + + +# name: +# type: sq_string +# elements: 1 +# length: 156 + + [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: +# type: sq_string +# elements: 1 +# length: 19 + + [bp,bn]=Ubern(x) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 8 +Ucolumns + + +# name: +# type: sq_string +# elements: 1 +# length: 129 + + function r=columns(m) + + Note: octave already has this function, + this is here only for matlab compatibility + + + +# name: +# type: sq_string +# elements: 1 +# length: 24 + + function r=columns(m) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 10 +Ucompconst + + +# name: +# type: sq_string +# elements: 1 +# length: 38 + C = Ucompconst (imesh,coeffn,coeffe) + + + +# name: +# type: sq_string +# elements: 1 +# length: 38 + C = Ucompconst (imesh,coeffn,coeffe) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 8 +Ucomplap + + +# name: +# type: sq_string +# elements: 1 +# length: 31 + L = Ufastcomplap (mesh,coeff) + + + +# name: +# type: sq_string +# elements: 1 +# length: 31 + L = Ufastcomplap (mesh,coeff) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 10 +Ucompmass2 + + +# name: +# type: sq_string +# elements: 1 +# length: 41 + Bmat = Ucompmass2 (imesh,Bvect,Cvect); + + + +# name: +# type: sq_string +# elements: 1 +# length: 41 + Bmat = Ucompmass2 (imesh,Bvect,Cvect); + + + + +# name: +# type: sq_string +# elements: 1 +# length: 10 +Udescaling + + +# name: +# type: sq_string +# elements: 1 +# length: 43 + [odata,omesh] = Udescaling(imesh,idata); + + + +# name: +# type: sq_string +# elements: 1 +# length: 43 + [odata,omesh] = Udescaling(imesh,idata); + + + + +# name: +# type: sq_string +# elements: 1 +# length: 10 +Udopdepmob + + +# name: +# type: sq_string +# elements: 1 +# length: 24 + Udopdepmob (mu,par,D); + + + +# name: +# type: sq_string +# elements: 1 +# length: 24 + Udopdepmob (mu,par,D); + + + + +# name: +# type: sq_string +# elements: 1 +# length: 9 +Udrawedge + + +# name: +# type: sq_string +# elements: 1 +# length: 19 + Udrawedge(mesh); + + + +# name: +# type: sq_string +# elements: 1 +# length: 19 + Udrawedge(mesh); + + + + +# name: +# type: sq_string +# elements: 1 +# length: 12 +Udriftdepmob + + +# name: +# type: sq_string +# elements: 1 +# length: 75 + mob = Ufielddepmob(imesh,u0,F,vsat,b) + Computes field dependent mobility + + + +# name: +# type: sq_string +# elements: 1 +# length: 75 + mob = Ufielddepmob(imesh,u0,F,vsat,b) + Computes field dependent mobility + + + + +# name: +# type: sq_string +# elements: 1 +# length: 15 +Udriftdiffusion + + +# name: +# type: sq_string +# elements: 1 +# length: 134 + + c=Udriftdiffusion(mesh,Dsides,guess,M,U,V,u) + solves the drift diffusion equation + $ -div ( u ( \nabla n - n \nabla V)) + M = U $ + + + + +# name: +# type: sq_string +# elements: 1 +# length: 80 + + c=Udriftdiffusion(mesh,Dsides,guess,M,U,V,u) + solves the drift diffusion equa + + + +# name: +# type: sq_string +# elements: 1 +# length: 16 +Udriftdiffusion2 + + +# name: +# type: sq_string +# elements: 1 +# length: 144 + + 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 $ + + + + +# name: +# type: sq_string +# elements: 1 +# length: 80 + + c=Udriftdiffusion(mesh,Dsides,guess,M,U,V,Vth,u) + solves the drift diffusion + + + +# name: +# type: sq_string +# elements: 1 +# length: 12 +Ufielddepmob + + +# name: +# type: sq_string +# elements: 1 +# length: 75 + mob = Ufielddepmob(imesh,u0,F,vsat,b) + Computes field dependent mobility + + + +# name: +# type: sq_string +# elements: 1 +# length: 75 + mob = Ufielddepmob(imesh,u0,F,vsat,b) + Computes field dependent mobility + + + + +# name: +# type: sq_string +# elements: 1 +# length: 12 +Ufvsgcurrent + + +# name: +# type: sq_string +# elements: 1 +# length: 49 + [jx,jy]=Udrawcurrent(omesh,n,psi,psith,coeffe); + + + +# name: +# type: sq_string +# elements: 1 +# length: 49 + [jx,jy]=Udrawcurrent(omesh,n,psi,psith,coeffe); + + + + +# name: +# type: sq_string +# elements: 1 +# length: 13 +Ufvsgcurrent2 + + +# name: +# type: sq_string +# elements: 1 +# length: 50 + [jx,jy]=Udrawcurrent2(omesh,n,psi,psith,coeffe); + + + +# name: +# type: sq_string +# elements: 1 +# length: 50 + [jx,jy]=Udrawcurrent2(omesh,n,psi,psith,coeffe); + + + + +# name: +# type: sq_string +# elements: 1 +# length: 13 +Ufvsgcurrent3 + + +# name: +# type: sq_string +# elements: 1 +# length: 786 + -- Function File: [JX,JY] = Ufvsgcurrent3 (MESH, U, ALPHA, GAMMA, ETA, + BETA); + Builds the Scharfetter-Gummel approximation of the vector field + + J(U) = ALPHA* GAMMA * (ETA * grad U - BETA * U)) + + where: + - ALPHA is an element-wise constant scalar function + + - ETA, U, GAMMA are piecewise linear conforming scalar functions + + - BETA is an element-wise constant vector function + + J(U) is an element-wise constant vector function + + Instead of passing the vector field BETA directly one can pass a + piecewise linear conforming scalar function PHI as the last input. + In such case BETA = grad PHI is assumed. If PHI is a single + scalar value BETA is assumed to be 0 in the whole domain. + + See also: Uscharfettergummel3 + + + + + +# name: +# type: sq_string +# elements: 1 +# length: 64 +Builds the Scharfetter-Gummel approximation of the vector field + + + + +# name: +# type: sq_string +# elements: 1 +# length: 14 +Uinvfermidirac + + +# name: +# type: sq_string +# elements: 1 +# length: 32 + [fd]=Uinvfermidirac(eta,par); + + + +# name: +# type: sq_string +# elements: 1 +# length: 32 + [fd]=Uinvfermidirac(eta,par); + + + + +# name: +# type: sq_string +# elements: 1 +# length: 8 +Uise2pde + + +# name: +# type: sq_string +# elements: 1 +# length: 595 + [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 + pref un prefisso che verra' dato ai files temporanei creati da grep + data_file e' un cell array delle file da estrarre + load_data e' un cell array che contiene i nomi delle grandezze da estrarre + out_file e' il nome del file matlab opzionale per salvare i dati estratti + + 17-3-2004 ver 3.1 + Marco Bellini marco_bellini_1@yahoo.it + 14.02.2007 ver 3.2 + Octave porting and bug fixes Carlo de Falco + + + +# name: +# type: sq_string +# elements: 1 +# length: 80 + [mesh,data]=ise2pde3(grid_file,pref,data_file,load_data,out_file) + ise2pde3 + es + + + +# name: +# type: sq_string +# elements: 1 +# length: 11 +Ujoinmeshes + + +# name: +# type: sq_string +# elements: 1 +# length: 44 + mesh=Ujoinmeshes(mesh1,mesh2,side1,side2) + + + +# name: +# type: sq_string +# elements: 1 +# length: 44 + mesh=Ujoinmeshes(mesh1,mesh2,side1,side2) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 15 +Umeshproperties + + +# name: +# type: sq_string +# elements: 1 +# length: 71 + + mesh=Umeshproperties(mesh) + precomputes some useful mesh properties + + + + +# name: +# type: sq_string +# elements: 1 +# length: 70 + + mesh=Umeshproperties(mesh) + precomputes some useful mesh properties + + + + +# name: +# type: sq_string +# elements: 1 +# length: 12 +Umsh2pdetool + + +# name: +# type: sq_string +# elements: 1 +# length: 30 + + + loadgmshmesh(filename); + + + + + +# name: +# type: sq_string +# elements: 1 +# length: 1 + + + + + +# name: +# type: sq_string +# elements: 1 +# length: 14 +Umshcreatemesh + + +# name: +# type: sq_string +# elements: 1 +# length: 49 + + + omesh=Umshcreatemesh(geometry,scalefactor); + + + + + +# name: +# type: sq_string +# elements: 1 +# length: 1 + + + + + +# name: +# type: sq_string +# elements: 1 +# length: 12 +Unodesonside + + +# name: +# type: sq_string +# elements: 1 +# length: 35 + Dnodes=Unodesonside(mesh,Dsides); + + + +# name: +# type: sq_string +# elements: 1 +# length: 35 + Dnodes=Unodesonside(mesh,Dsides); + + + + +# name: +# type: sq_string +# elements: 1 +# length: 8 +Updegrad + + +# name: +# 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: +# type: sq_string +# elements: 1 +# length: 27 + [Fx,Fy]=Updegrad(mesh,F); + + + + +# name: +# type: sq_string +# elements: 1 +# length: 8 +Updemesh + + +# name: +# type: sq_string +# elements: 1 +# length: 19 + Udrawedge(mesh); + + + +# name: +# type: sq_string +# elements: 1 +# length: 19 + Udrawedge(mesh); + + + + +# name: +# type: sq_string +# elements: 1 +# length: 8 +Updesurf + + +# name: +# type: sq_string +# elements: 1 +# length: 22 + Updemesh(varargin); + + + +# name: +# type: sq_string +# elements: 1 +# length: 22 + Updemesh(varargin); + + + + +# name: +# type: sq_string +# elements: 1 +# length: 5 +Urows + + +# name: +# type: sq_string +# elements: 1 +# length: 22 + + function r=rows(m) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 21 + + function r=rows(m) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 16 +Urrextrapolation + + +# name: +# type: sq_string +# elements: 1 +# length: 99 + s = Urrextrapolation(X) + RRE vector extrapolation see + Smith, Ford & Sidi SIREV 29 II 06/1987 + + + +# name: +# type: sq_string +# elements: 1 +# length: 80 + s = Urrextrapolation(X) + RRE vector extrapolation see + Smith, Ford & Sidi S + + + +# name: +# type: sq_string +# elements: 1 +# length: 8 +Uscaling + + +# name: +# type: sq_string +# elements: 1 +# length: 40 + [odata,omesh] = Uscaling(imesh,idata); + + + +# name: +# type: sq_string +# elements: 1 +# length: 40 + [odata,omesh] = Uscaling(imesh,idata); + + + + +# name: +# type: sq_string +# elements: 1 +# length: 19 +Uscharfettergummel2 + + +# name: +# type: sq_string +# elements: 1 +# length: 368 + + SG=Ufastscharfettergummel2(mesh,v,acoeff,bcoeff) + + + Builds the Scharfetter-Gummel matrix for the + the discretization of the LHS + of the Drift-Diffusion equation: + + $ -\div (a(x) (\grad (b(x) u) - b(x) u \grad v'(x) ))= f $ + + where a(x) is piecewise constant + and v(x),b(x) is piecewise linear, so that + v'(x) is still piecewise constant + and u is the unknown + + + + +# name: +# type: sq_string +# elements: 1 +# length: 53 + + SG=Ufastscharfettergummel2(mesh,v,acoeff,bcoeff) + + + + + +# name: +# type: sq_string +# elements: 1 +# length: 19 +Uscharfettergummel3 + + +# name: +# type: sq_string +# elements: 1 +# length: 1554 + -- Function File: S = Uscharfettergummel3 (MESH, ALPHA, GAMMA, ETA, + BETA) + Builds the Scharfetter-Gummel matrix for the discretization of the + LHS of the equation: + + -div (ALPHA * GAMMA (ETA grad u - BETA u )) = f + + where: + - ALPHA is an element-wise constant scalar function + + - ETA, GAMMA are piecewise linear conforming scalar functions + + - BETA is an element-wise constant vector function + + Instead of passing the vector field BETA directly one can pass a + piecewise linear conforming scalar function PHI as the last input. + In such case BETA = grad PHI is assumed. If PHI is a single + scalar value BETA is assumed to be 0 in the whole domain. + + Example: + [mesh.p,mesh.e,mesh.t] = Ustructmesh([0:1/3:1],[0:1/3:1],1,1:4); + mesh = Umeshproperties(mesh); + x = mesh.p(1,:)'; + Dnodes = Unodesonside(mesh,[2,4]); + Nnodes = columns(mesh.p); Nelements = columns(mesh.t); + Varnodes = setdiff(1:Nnodes,Dnodes); + alpha = ones(Nelements,1); eta = .1*ones(Nnodes,1); + beta = [ones(1,Nelements);zeros(1,Nelements)]; + gamma = ones(Nnodes,1); + f = Ucompconst(mesh,ones(Nnodes,1),ones(Nelements,1)); + S = Uscharfettergummel3(mesh,alpha,gamma,eta,beta); + u = zeros(Nnodes,1); + u(Varnodes) = S(Varnodes,Varnodes)\f(Varnodes); + uex = x - (exp(10*x)-1)/(exp(10)-1); + assert(u,uex,1e-7) + + See also: Ucomplap, Ucompconst, Ucompmass2, Uscharfettergummel + + + + + +# name: +# type: sq_string +# elements: 1 +# length: 80 +Builds the Scharfetter-Gummel matrix for the discretization of the LHS +of the eq + + + +# name: +# type: sq_string +# elements: 1 +# length: 12 +Usmoothguess + + +# name: +# type: sq_string +# elements: 1 +# length: 44 + guess = Usmoothguess(mesh,new,old,Dsides); + + + +# name: +# type: sq_string +# elements: 1 +# length: 44 + guess = Usmoothguess(mesh,new,old,Dsides); + + + + +# name: +# type: sq_string +# elements: 1 +# length: 11 +Ustructmesh + + +# name: +# type: sq_string +# elements: 1 +# length: 48 + [p,e,t]=Ustructmesh(x,y,region,sides,varargin) + + + +# name: +# type: sq_string +# elements: 1 +# length: 48 + [p,e,t]=Ustructmesh(x,y,region,sides,varargin) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 16 +Ustructmesh_left + + +# name: +# type: sq_string +# elements: 1 +# length: 39 + [p,e,t]=Ustructmesh(x,y,region,sides) + + + +# name: +# type: sq_string +# elements: 1 +# length: 39 + [p,e,t]=Ustructmesh(x,y,region,sides) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 18 +Ustructmesh_random + + +# name: +# type: sq_string +# elements: 1 +# length: 39 + [p,e,t]=Ustructmesh(x,y,region,sides) + + + +# name: +# type: sq_string +# elements: 1 +# length: 39 + [p,e,t]=Ustructmesh(x,y,region,sides) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 17 +Ustructmesh_right + + +# name: +# type: sq_string +# elements: 1 +# length: 39 + [p,e,t]=Ustructmesh(x,y,region,sides) + + + +# name: +# type: sq_string +# elements: 1 +# length: 39 + [p,e,t]=Ustructmesh(x,y,region,sides) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 12 +Usubdomains2 + + +# name: +# type: sq_string +# elements: 1 +# length: 40 + [e,t]=Usubdomains(p,t,rcts,sidelist); + + + +# name: +# type: sq_string +# elements: 1 +# length: 40 + [e,t]=Usubdomains(p,t,rcts,sidelist); + + + + +# name: +# type: sq_string +# elements: 1 +# length: 8 +Usubmesh + + +# name: +# type: sq_string +# elements: 1 +# length: 201 + + [omesh,onodes,oelements]=Usubmesh(imesh,intrfc,sdl,short) + + builds the mesh structure for + the given list + of subdomains sdl + + NOTE: the intrfc parameter is unused and only kept + as a legacy + + + +# name: +# type: sq_string +# elements: 1 +# length: 61 + + [omesh,onodes,oelements]=Usubmesh(imesh,intrfc,sdl,short) + + + + +# name: +# type: sq_string +# elements: 1 +# length: 9 +constants + + +# name: +# type: sq_string +# elements: 1 +# length: 844 + This file is part of + + SECS2D - A 2-D Drift--Diffusion Semiconductor Device Simulator + ------------------------------------------------------------------- + Copyright (C) 2004-2006 Carlo de Falco + + + + SECS2D is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + SECS2D is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SECS2D; If not, see . + + + +# name: +# type: sq_string +# elements: 1 +# length: 23 + This file is part of + + + + + +