The configuration file must obey a certain structure in order to be parsed correctly. An example for a configuration file can be seen in SampleConfig.txt. The configuration file is parsed line by line and each successfully parsed line is executed immediately.
Every line has to start with a command statement, followed by a list of parameters for the command. Possible commands are:
- INIT: Initialize the simulation domain.
- GEOMETRY <GeometryType>: Create or import a geometry. Possible options for creating geometries are: Trench, Hole and Plane. It is also possible to import geometries from .lvst files by specifying Import or to import layers from GDSII file format by specifying GDS (only possible in 3D mode). Parameters for the geometries are described below.
- PROCESS <ProcessType>: Run a process. Possible process types are: Deposition, GeometricUniformDeposition, SF6O2Etching and DirectionalEtching. Parameters for the processes are described below.
- PLANARIZE: Planarize the geometry at a given height.
- OUTPUT <fileName>: Print the surface of the geometry in fileName.vtp file format.
Every parameter is specified by paramName=paramValue (there must not be any blank space before or after the = sign) after the command statement. All parameters which are parsed additional to a command are described below. For any parameter which is not specified, a default value is assigned.
INIT
- xExtent
- width of the domain in x-direction (numeric value, default: 1)
- yExtent
- width of domain in y-direction (this is ignored in 2D mode, numeric value, default: 1)
- resolution
- distance between grid points in the domain (numeric value, default: 0.02)
- printTimeInterval
- minimum time between outputting intermediate disk meshes for each process step. If this value is negative, no intermediate meshes will be printed (numeric value, default: 0)
- periodic
- use periodic boundary conditions (boolean, default: 0)
GEOMETRY Trench
- width
- width of the trench (numeric value, default: 0.2)
- depth
- depth of the trench (numeric value, default: 0.5)
- zPos
- offset of the trench in z-direction (y-direction in 2D mode, numeric value, default: 0)
- tapering
- tapering angle of the trench in degrees (numeric value, default: 0)
- mask
- creates a mask from the trench, such that the bottom represents a different material and a selective etching or deposition process can be used (boolean, default: 0)
GEOMETRY Hole
- radius
- radius of the hole (numeric value, default: 0.2)
- depth
- depth of the hole (numeric value, default: 0.2)
- zPos
- offset of the hole in z-direction (y-direction in 2D mode, numeric value, default: 0)
- tapering
- tapering angle of the hole in degrees (numeric value, default: 0)
- mask
- creates a mask from the hole, such that the bottom represents a different material and a selective etching or deposition process can be used (boolean, default: 0)
GEOMETRY Plane
- zPos
- offset of the plane in z-direction (y-direction in 2D mode, numeric value, default: 0)
GEOMETRY Import
- file
- file name of ViennaLS geometry files. The file name is assumed to be appended with "_layer(i).lvst" (string, no default value)
- layers
- number of layers to read (integer value, default: 0)
GEOMETRY GDS
- file
- file name of GDSII file (string, no default value)
- layer
- specify which layer of the file should be read (integer value, default: 0)
- maskHeight
- height of the layer in z-direction (numeric value, default: 0.1)
- zPos
- offset of the layer in z-direction (numeric value, default: 0)
- invert
- invert the mask (boolean, default: 0)
- xPadding
- padding on the boundary of the mask in x-direction (numeric value, default: 0)
- yPadding
- padding on the boundary of the mask in y-direction (numeric value, default: 0)
PROCESS Deposition
- time
- process time (numeric value, default: 1)
- rate
- deposition rate (numeric value, default: 1)
- sticking
- sticking coefficient (numeric value, default: 1)
- cosineExponent
- Exponent for cosine distribution of initial ray directions (numeric value, default: 1)
- raysPerPoint
- number of rays traced per grid point in the surface geometry (integer value, default: 3000)
PROCESS SphereDistribution
- radius
- radius used for sphere distribution (numeric value, default: 1, can be negative for etching)
PROCESS BoxDistribution
- halfAxisX
- half the width of the box in x-direction (numeric value, default: 1, can be negative for etching)
- halfAxisY
- half the width of the box in y-direction (numeric value, default: 1, can be negative for etching)
- halfAxisZ
- half the width of the box in z-direction (numeric value, default: 1, can be negative for etching)
PROCESS SF6O2Etching
- time
- process time (numeric value, default: 1)
- ionFlux
- total flux of ions in plasma (numeric value, default: 2e16)
- ionEnergy
- mean ion energy in eV (numeric value, default: 100)
- rfBias
- rf bias in W (numeric value, default: 105)
- etchantFlux
- total flux of etchant species in plasma (numeric value, default: 4.5e16)
- oxygenFlux
- total flux of oxygen in plasma (numeric value, default: 1e18)
- A_O
- factor for ion etching yield on oxygen (numeric value, default: 3)
- raysPerPoint
- number of rays traced per grid point in the surface geometry (integer value, default: 3000)
- maskId
- ID of mask material (integer value, default: 0)
PROCESS FluorocarbonEtching
- time
- process time (numeric value, default: 1)
- ionFlux
- total flux of ions in plasma (numeric value, default: 2e16)
- ionEnergy
- mean ion energy in eV (numeric value, default: 100)
- plasmaFrequency
- RF plasma frequency in MHz (numeric value, default: 0.1)
- etchantFlux
- total flux of etchant species in plasma (numeric value, default: 4.5e16)
- oxygenFlux
- total flux of oxygen in plasma (numeric value, default: 1e18)
- temperature
- reactor temperature in K (numeric value, default: 300)
- raysPerPoint
- number of rays traced per grid point in the surface geometry (integer value, default: 3000)
- maskId
- ID of mask material (integer value, default: 0)
PROCESS DirectionalEtching
- time
- process time (numeric value, default: 1)
- direction
- primal direction of etching (string, default: negZ, negY in 2D mode)
- directionalRate
- etching rate in primal direction (numeric value, default: 1)
- isotropicRate
- isotropic etching rate (numeric value, default: 0)
- maskMaterial
- mask material (string, default: Mask)
PROCESS Isotropic
- time
- process time (numeric value, default: 1)
- rate
- process rate, can be negative for etching (numeric value, default: 0)
- material
- deposited material if rate is positive (string, default: Undefined)
- maskMaterial
- mask material (string, default: Mask)
PLANARIZE
- height
- height of planarization on the z-axis (y-axis in 2D, numeric value, default: 0)