Units
Physical models, like the SF6O2 or Fluorocarbon etching models, require the user to specify the units of the input parameters. The user must set the length and time units before creating a model using the units module. The units are global parameters and are used by models that convert rates through units. Some volume models use explicit units, as described below.
Example usage:
C++
using namespace viennaps;
units::Length::setUnit(units::Length::NANOMETER);
units::Time::setUnit(units::Time::MINUTE);
// the units can also be specified using strings
units::Length::setUnit("nm"); // or "nanometer"
units::Time::setUnit("min"); // or "minute"
Python
# in Python strings have to be used to set the units
vps.Length.setUnit("nm") # or "nanometer"
vps.Time.setUnit("min") # or "minute"
Volume process units
- Ion implantation takes dose in ions/cm² and tilt in degrees. Set the geometry length unit explicitly with
setLengthUnit(centimeters per unit;1e-7for nm). Concentrations are stored per geometry unit cubed by default. - Annealing takes temperature in kelvin and duration in seconds. Diffusivities use geometry unit²/s, activation energies use eV, and concentration parameters must match the cell-set fields.
- Thermal oxidation uses degrees Celsius, hours, and micrometers for its temperature, time, and geometry controls.
