3.4.1.1 Quantity Types
Minimos-NT manages more than hundred different types of quantities like the
electrostatic potential, the contact potential, the contact current, currents
of electrons and holes to mention only few of them.
For each type an entry describing its properties is stored in a table. This
information includes
- the quantity identifier which identifies a certain type of quantity.
- the quantity class identifier combines all quantity types which differ
only by the carrier type like electrons or holes. This enables, e.g, the
iteration over all carriers or all carrier temperatures which is needed for
certain models.
- a short name and a textual description of the quantity type for output and
debugging purposes.
- the type of the carrier in case of carrier depending quantities.
- the information to define the type within the PIF-Libraries if they are
used for input and output.
- the unit class which is used to specify the typical unit and the internal
unit of the quantity. Quantities read in from the input libraries are scaled
to internal units specified by the unit class during the initialization
phase. When the quantities are written to output files the values are scaled
back.
- a call-back function returning the grid type on which the quantity is
defined. Grid types are simply none for global quantities,
segment for segment quantities and boundary for
boundary quantities.
This allows to switch the grid on and off depending on several internal
states. For instance, quantities of type lattice temperature
defined on segments which are thermal contacts must not use a grid since
several models expect a constant global quantity. For non-thermal segments
the lattice temperature is defined on a grid.
- some flags which describe if the quantity is used for transient,
hydrodynamic, six-moments, or mixed-mode simulations only.
- a flag to identify vector and array quantities.
- a flag which tells if the quantity describes a carrier type.
- a call-back function used to determine whether a quantity is a solution
quantity or not. It is used during the equation assembly step.
When a quantity has to be instantiated, this description is used to determine
the properties of the quantity and to ensure correct initialization.
Robert Klima
2003-02-06