import{}¶
Specifications for importing data from a file or generating them from an analytic function, e.g. electrostatic potential, alloy profile, strain profile, doping profile, generation rate profile, electron or hole Fermi level profile.
Once a file has been imported or a function has been defined, it can be used several times, e.g. the same file could include the alloy concentration of a ternary for different region objects.
Data with dimensionality deviating from the simulation dimension can also be imported, e.g. an absorption spectrum for solar cell modeling.
- directory
- value:
string
- example:
“D:\import_files\”
Name of directory where files to be imported are located (if data are imported from files)
- file{}
- name
- example:
“1D_import”
Name for referencing the imported data in the input file, e.g. “imported_potential_profile_2D”
- filename
- example:
“D:\any_filename.fld”
Name of file which is imported. If an absolute path is included here, the entry in directory specified above is ignored.
- alternative:
“any_filename.fld”
Name of file which is imported. The file should be located here: directory\filename
- format
- options:
AVS
DAT
Format of the file to be imported. At the moment only AVS format and a simple .dat format are supported.
- number_of_dimensions
- options:
1
2
3
Explicit specification of the number of dimensions. Can be only used for .dat files.
(Optional, default value is given by dimensionality of simulation defined in global{})
- scale
- examples:
1.6022e-19
-1
- default:
1
Imported data is multiplied by this scaling factor (optional) .
Useful to correct unit of imported data, e.g. conversion from [Joule] to [eV].
- analytic_function{}
define analytic functions to be imported here. Does not need to be defined if data are imported from files.
- name
- example:
“Analytic_Potential”
Name for referencing the imported function in the input file, e.g. “analytic_function_gaussian”
- function
- example:
“1+2*x^2+exp(y)”
String defining the function in case only one component needs to be defined, otherwise use component.
Note
Syntax allowed for functions:
white spaces are ignored
valid operators are “+”, “-”, “*”, “/” and “^”
multiplication signs always have to be spelled out (i.e. “5*x” is valid, “5x” is not)
variable names are fixed to “x”, “y” and “z” (capital letters are also allowed)
additional functions also available (e.g. “exp” , “sqrt”, “sin”, see full list below), have to be followed by brackets (“exp(x)” is valid, “exp x” is not)
global variables are allowed if preceded by “$” (e.g. “$PI”)
exponential notation (“2e-3” or “4E10”) is allowed
- label
- example:
“potential_label”
Label (optional) to be displayed in legend in case only one component is defined, otherwise see component.
- component{}
In case multiple components are needed, define one component group for each component.
- function_i
- example:
“1D_import”
String defining the function for this component.
- label
- example:
“component_label”
Label (optional) to be displayed in legend for this component.
- output_imports{}
Output all imported data including scale factor.
The filenames correspond to the entry given in name = ….
The files will be written to a folder called Imports/.
The following operators (sorted with decreasing precedence)
power (exponentiation) |
|
multiplication, division |
|
plus and minus |
|
round arithmetic brackets |
|
and functions are defined in analytic_function
:
|
square root \(\sqrt{\text{ }}\) |
|
cubic root \(\sqrt[3]{\text{ }}\) |
|
exponential function \(\exp({\text{ }})\) |
|
natural logarithm \(\log\) |
|
natural logarithm \(\ln\) |
|
decadic logarithm (base 2) \(\log_{2}\) |
|
decadic logarithm (base 10) \(\log_{10}\) |
|
sine \(\sin({\text{ }})\) |
|
cosine \(\cos({\text{ }})\) |
|
tangent \(\tan({\text{ }})\) |
|
acrsine \(\sin^{-1}({\text{ }})\) |
|
arccosine \(\cos^{-1}({\text{ }})\) |
|
arctangent \(\tan^{-1}({\text{ }})\) |
|
hyperbolic sine \(\sinh({\text{ }})\) |
|
hyperbolic cosine \(\cosh({\text{ }})\) |
|
hyperbolic tangent \(\tanh({\text{ }})\) |
|
inverse hyperbolic sine \(\sinh^{-1}({\text{ }})\) |
|
inverse hyperbolic cosine \(\cosh^{-1}({\text{ }})\) |
|
inverse hyperbolic tangent \(\tanh^{-1}({\text{ }})\) |
|
error function \(\text{erf}({\text{ }})\) |
|
complementary error function \(\text{erfc}({\text{ }})\) |
|
Gamma function \(\Gamma({\text{ }})\) |
|
complete Fermi–Dirac integral \(F_{-3/2}({ })\) of order -3/2 (includes the \(1/\Gamma(-1/2)\) prefactor) |
|
complete Fermi–Dirac integral \(F_{-1/2}({ })\) of order -1/2 (includes the \(1/\Gamma(1/2)\) prefactor) |
|
complete Fermi–Dirac integral \(F_{0}({ })\) of order 0 (includes the \(1/\Gamma(1)=1\) prefactor) |
|
complete Fermi–Dirac integral \(F_{1/2}({ })\) of order 1/2 (includes the \(1/\Gamma(3/2)\) prefactor) |
|
complete Fermi–Dirac integral \(F_{3/2}({ })\) of order 3/2 (includes the \(1/\Gamma(5/2)\) prefactor) |
|
absolute value \(|{\text{ }}|\) |
|
floor function floor(x): largest integer \(\le x\) |
|
ceiling function ceil(x): smallest integer \(\ge x\) |
|
rounds the number to the nearest integer |
|
sign function |
|
Heaviside step function (corresponds to |
|
check if value is positive |
|
check if value is negative |
|
check if value is zero |
|
check if value is not positive |
|
check if value is not negative (corresponds to |
|
check if value is not zero |