Declare solution variables explanation: Difference between revisions

From Flooxs
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
This page explains this section of code:
This page explains this section of code:
#Define solution variables  
 
Declare solution variables
  DevicePackage
  DevicePackage
solution name=Potential nosolve
  solution add name=DevPsi pde solve negative damp
  solution add name=DevPsi solve negative  
  solution add name=Elec   pde solve !negative
  solution add name=Elec solve !negative
  solution add name=Hole   pde solve !negative
  solution add name=Hole solve !negative


Flooxs was originally developed as a process simulator (floops). To decomission the typical process simulator vairables (such as Boron or vacancy concentrations), and initialize the usual device simulation variables instead (Elec, Hole, and DevPsi), use the "DevicePackage" command.
==== 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
  DevicePackage
Floods output:
This is what your Floods output will look like:
  flooxs> DevicePackage
  flooxs> DevicePackage
  solution add name = Int !negative !damp nosolve  
  solution add name = Int !negative !damp nosolve  
Line 33: Line 34:
  Initialized for Device Simulation
  Initialized for Device Simulation


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 arguments to the solution command below should be self-explanatory. nosolve means don't solve this solution variables, 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 is electron or hole concentration /cm3 and does not include the charge sign. This is included in equations).
solution name=Potential nosolve
solution add name=DevPsi solve negative
solution add name=Elec solve !negative
solution add name=Hole solve !negative
By default, these solutions are declared as pde solutions. If you wanted to do a "poisson-only" solve, see her (link).


==== "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, 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.
==== 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.  
In general you can add any solution variables you want.  
  *link to general page about solution variables (link to workflow link)
  *link to general page about solution variables (link to workflow link)

Revision as of 19:14, 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, 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, damping is often required as the simulator iterates and tries to find a solution to this variable.

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)