Declare solution variables explanation: Difference between revisions

From Flooxs
Jump to navigation Jump to search
No edit summary
 
Line 43: Line 43:
  solution add name=Elec  pde solve !negative
  solution add name=Elec  pde solve !negative
  solution add name=Hole  pde solve !negative
  solution add name=Hole  pde solve !negative
Many of the arguments to the "solution" command are self-explanatory. "nosolve" means don't solve this solution variable, "solve" means solve, negative means the solution variables is allowed to go negative, and "!negative" means that the solution variable will never be negative. Keep in mind that "Elec" and "Hole" are electron or hole concentration /cm^3 and do not include the charge sign. That is why they are !negative. Declaring these 3 variables as "pde," or as solutions to partial differential equations means that these are the "3 unknowns" for which you will need to define "3 equations." You will need to define 3 equations - 1 for each of these variables - in the bulk of each material you have in your structure, as well as on any contact and interface (boundary conditions) to fully define your system. Usually "damp" is specified for DevPsi, because this quantity changes on a linear scale (i.e. 1 to 4 Volts), whereas Elec or Hole changes orders of magnitude (1e15 to 1e21 /cm2). So, [http://en.wikipedia.org/wiki/Damping damping] is often required as the simulator iterates and tries to find a solution to this variable.
Many of the arguments to the "solution" command are self-explanatory. "nosolve" means don't solve this solution variable, "solve" means solve, negative means the solution variables is allowed to go negative, and "!negative" means that the solution variable will never be negative. Keep in mind that "Elec" and "Hole" are electron or hole concentration /cm^3 and do not include the charge sign. That is why they are !negative. Declaring these 3 variables as "pde," or as solutions to partial differential equations means that these are the "3 unknowns" for which you will need to define "3 equations." You will need to define 3 equations - 1 for each of these variables - in the bulk of each material you have in your structure, as well as on any contact and interface (boundary conditions) to fully define your system. Usually "damp" is specified for DevPsi, to keep it from fluctuating too fast during numerical iteration in response to charge changes. So, [http://en.wikipedia.org/wiki/Damping damping] is often required as the simulator iterates and tries to find a solution to this variable.  Damp slows the rate of change possible for the variable so that convergence is more likely.


==== Advanced ====
==== Advanced ====

Latest revision as of 19:22, 26 October 2010

This page explains this section of code:

Declare solution variables

DevicePackage
solution add name=DevPsi pde solve negative damp
solution add name=Elec   pde solve !negative
solution add name=Hole   pde solve !negative

Device Package

Flooxs was originally developed as a process simulator (floops). To decommission the typical process simulator variables (such as Boron concentration), and initialize the usual device simulation variables instead (Elec, Hole, and DevPsi), use the "DevicePackage" command.

DevicePackage

This is what your Floods output will look like:

flooxs> DevicePackage
solution add name = Int !negative !damp nosolve 
solution add name = Vac !negative !damp nosolve 
solution add name=V2 nosolve !negative 
solution add name=I2 nosolve !damp !negative 
solution add name=C311 nosolve !damp !negative 
solution add name=D311 nosolve !damp !negative 
solution add name=Smic nosolve !damp !negative 
solution add name = Potential nosolve damp negative 
solution add name = Boron nosolve !negative 
solution add name = Phosphorus nosolve !negative 
solution add name = Arsenic nosolve !negative 
solution add name = Antimony nosolve !negative 
solution add name = Germanium nosolve !negative 
solution add name = Carbon nosolve !negative 
solution add name = CarbonInt nosolve !negative 
solution add name = Temp const val=25 add solve 
solution add name=DevPsi solve negative damp 
solution add name=Elec solve !negative 
solution add name=Hole solve !negative 
solution add name=Circuit solve negative damp circuit const val=0.0 
Initialized for Device Simulation


"DevPsi," not "Potential"

You can see all the myriad solution variables that are turned off (the "nosolve" tag). I'd like to draw special attention to one of these in particular: The solution name "Potential" is reserved for the chemical potential in process simulation. That is why electrostatic potential is called "DevPsi," which stands for "Device Psi," where Psi is the greek letter that usually stands for electrostatic potential.

The 3 Device Solution Variables

Even though "Elec," "Hole," and "DevPsi" are declared by default via the "DevicePackage" command, I like to declare them explicitly, just for my own piece of mind:

solution add name=DevPsi pde solve negative damp
solution add name=Elec   pde solve !negative
solution add name=Hole   pde solve !negative

Many of the arguments to the "solution" command are self-explanatory. "nosolve" means don't solve this solution variable, "solve" means solve, negative means the solution variables is allowed to go negative, and "!negative" means that the solution variable will never be negative. Keep in mind that "Elec" and "Hole" are electron or hole concentration /cm^3 and do not include the charge sign. That is why they are !negative. Declaring these 3 variables as "pde," or as solutions to partial differential equations means that these are the "3 unknowns" for which you will need to define "3 equations." You will need to define 3 equations - 1 for each of these variables - in the bulk of each material you have in your structure, as well as on any contact and interface (boundary conditions) to fully define your system. Usually "damp" is specified for DevPsi, to keep it from fluctuating too fast during numerical iteration in response to charge changes. So, damping is often required as the simulator iterates and tries to find a solution to this variable. Damp slows the rate of change possible for the variable so that convergence is more likely.

Advanced

If you wanted to do a "poisson-only" solve, see here (link), or if you want to use the "quasi-fermi method" see here (link).

In general you can add any solution variables you want.

*link to general page about solution variables (link to workflow link)