Commands - vonkarmaninstitute/pantera-pic-dsmc GitHub Wiki
The input script is simply a list of keywords or commands followed by one or more parameters.
Keywords always end with a column :
, and have to follow the exact syntax shown here.
Lines starting with an exclamation mark !
are considered comments and ignored.
Keywords are here listed by topic. Parameter names are preceded by a type specifier:
[b]
for boolean (.TRUE.
or .FALSE.
)
[i]
for integer (ex. 5342
)
[f]
for floating point (ex. 3.412e-12
)
[s]
for string (ex. 'hello'
)
[fff]
for 3-vectors of floating point values (ex. [12.3 0.12 95.4]
)
Simulation restart
Keyword: Restart:
Parameters: [i]tID
If present, this tells Pantera to restart the simulation from time step number tID
. The code will load particles from a file with the corresponding file name, and continue the simulation from that state. Notice that, since the field equations have no temporal derivatives, particles are the only required information for the restart.
Specifying domain and grid
Keyword: Dimensions:
Parameters: [i]dim
Specifies the number of spatial dimensions (1, 2, or 3) that should be simulated.
Keyword: Domain_limits:
Parameters: [f]xmin [f]xmax [f]ymin [f]ymax [f]zmin [f]zmax
Specifies the minimum and maximum coordinates of the simulation box. Notice that the parameters are used also in 1D and 2D simulations to determine the volume of the simulation box. In this case, it is suggested to set the virtual dimensions to unitary length. When the simulation is axisymmetric, zmin
and zmax
represent the minimum and maximum polar coordinate in radians (and therefore influence the volume of the domain).
Keyword: Axisymmetric:
Parameters: [b]axi
Takes a single boolean value specifying whether the simulation is axisymmetric. When .TRUE.
, the keyword Dimensions
must be set to 2.
Keyword: Number_of_cells:
Parameters: [i]nx [i]ny [i]nz
Specifies the number of cells in each coordinate direction. For 1D and 2D simulations, the number of cells in the virtual directions must be set to 1.
Keyword: Grid_file:
Parameters: [s]filename
Specifies the name of the file which contains the definition for nonuniform cartesian grids. TODO: file specs
Keyword: Mesh_file_SU2:
Parameters: [s]filename
Specifies the name of the file of the mesh in the SU2 format. Pantera will try to load an unstructured mesh of triangles or tetradedra with 2 or 3 dimensions, according to what specified in the Dimensions
keyword. This keyword should therfore appear before in the input file. Such mesh can be generated from a software such as Gmsh. TODO: wiki page on unstructured mesh generation
Specifying boundary conditions (for unstructured grids)
Keyword: Boundary_condition:
Parameters: [s]group [s]type <additional parameters>
Specifies boundary conditions for the field or for particles when using unstructured grids. The first parameter, group
, identifies the name of the phsical group to which the boundary condition should be applied. This identifier string should be defined when the mesh is generated. It is followed by the type
parameter, which can take one of the following values:
Affecting particles:
vacuum
: particles vanish upon reaching the boundaryspecular
: particles are reflected specularly, included those that reacteddiffuse
: particles are reflected diffusely, included those that reacted. Takes one additional parameter,[f]Twall
, which specifies the temperature of the Maxwell-Boltzmann distribution from which the reflected particle velocity should be sampled.cll
: particles are reflected using the Cercignani-Lampis-Lord kernel. Takes three additional parameters:[f]Twall [f]alphan [f]alphat
. ParameterTwall
is the temperature of the wall,alphan
andalphat
are respectively the normal and tangential energy accommodation coefficients.react
particles react at this boundary according to the wall reactions specified using theWall_reactions_file:
keyword
Affecting the field:
dirichlet
dirichlet boundary condiitons for the potential. Takes the fixed potential as additional parameter,[f]Vwall
.neumann
neumann boundary condition for the potential. Takes the fixed normal potential gradient as additional parameter,[f]dVdnwall
dielectric
dielectric boundary condition. Particles vanish at this boundary, but their charge is accumulated onto the surface, as if the particle was fixed at the impingement point.rf_voltage
Specifies a boundary on which a sinusoidal time-varying potential is imposed. Takes three addiitonal parameters:[f]Vrf [f]Vdc [f]f
. They represent respectively the peak-to-peak alternating voltage, the DC offset, and the frequency in Hz. The potential is therefore applied according to the expression $\phi=V_\text{dc}+\frac{1}{2}V_\text{rf} \cos(2 \pi f t)$.spicenode
treats the surfaces in this physical group as a conductor. This conductor is coupled to an external circuit through the ngspice software. Usage is explained in the dedicated wiki page Coupling to external circuits.
Keyword: Boundary_emit:
Parameters: [s]group [s]mixture [f]nrho [f]ux [f]uy [f]uz [f]Ttr [f]Trot [f]Tvib
Specifies the emission of particles from a boundary when using unstructured grids. The command can be used more than once at the same boundary group, allowing for example the emission of species at different temperatures. The first parameter, group
, identifies the name of the phsical group to which the boundary condition should be applied. Parameter mixture
identifies the (previously defined) mixture that should be injected. Each species will be injected according to the molar fraction in which it is present in the mixture. The following quantities define the parameters of the Maxwell-Boltzmann distribution from which the injected particles are sampled. These include the number density nrho
, three components of the drift velocity, ux
, uy
, uz
, translational, rotational and vibrational temperatures Ttr
, Trot
, Tvib
.
Keyword: Initial_particles:
Parameters: [s]mixture [f]nrho [f]ux [f]uy [f]uz [f]Ttrx [f]Ttry [f]Ttrz [f]Trot [f]Tvib
If used, the entire domain will be populated with the specified gas at the beginning of the simulation (but not at a restart). Parameter mixture
identifies the (previously defined) mixture that should be injected. Each species will be injected according to the molar fraction in which it is present in the mixture. The following quantities define the parameters of the Maxwell-Boltzmann distribution from which the injected particles are sampled. These include the number density nrho
, three components of the drift velocity, ux
, uy
, uz
, three components of the translational temperature, Ttrx
, Ttry
, Ttrz
, and the rotational and vibrational temperatures Trot
, Tvib
.
Keyword: Volume_inject:
Parameters: [s]mixture [f]nrhodot [f]ux [f]uy [f]uz [f]Ttrx [f]Ttry [f]Ttrz [f]Trot [f]Tvib
If used, the entire domain will be populated with the specified gas at the specified number rate (real particles/volume/second) nrhodot
. Parameter mixture
identifies the (previously defined) mixture that should be injected. Each species will be injected according to the molar fraction in which it is present in the mixture. The following quantities define the parameters of the Maxwell-Boltzmann distribution from which the injected particles are sampled. These include the three components of the drift velocity, ux
, uy
, uz
, three components of the translational temperature, Ttrx
, Ttry
, Ttrz
, and the rotational and vibrational temperatures Trot
, Tvib
.
Keyword: Remove_particles_in_mixture:
Parameters: [s]mixture
If specified, the code will remove all particles belonging to the previously defined mixture named mixture
at the end of each time step. This can be useful for example to remove reaction products that are not of interest for the simulation.
Keyword: Domain_type:
Parameters: [s]group [s]type [f]epsilonr
Specifies whether the region (surface in 2D and volume in 3D) specified by the name group
is a fluid region or a solid region. The type
parameter must take the value fluid
or solid
, correspondingly. Particles are not allowed to enter solid regions, but these are still solved for the electric potential. This allows to simulate dielectrics. The third parameter, epsilonr
specifies the relative permittivity of the region.
Keyword: Wall_reactions_file:
Parameters: [s]wallreactfile
Specifies the file containing reactions to be applied at walls where the react
type boundary condition was applied. The file should contain a list of possible reactions, with every reaction specified as follows:
[s]R --> [s]P
[f]prob
Where R
is the reacting particle and P
is the product of the wall reaction, using the species name as specified in the species file. The reaction occurs with a probability 0 < prob
< 1. If no product is desired, the word none
must be used as P
. These features can be used for example to simulate recombination reactions that conserve mass in a statistical sense:
O --> O2
0.5
O --> none
0.5
Keyword: External_B_field:
Parameters: [fff]bfield
A vector specifying the three components of the externally applied magnetic field. This field is constant and applied to all particles in the domain.
Keyword: Thermal_bath_bool:
Parameters: [b]thermalbath
When set to .TRUE.
, the code will re-sample the velocity of all particles from a Maxwell-Boltzmann distribution at the specified temperature. This is useful for example to check a chemistry mechanism in isothermal conditions.
Keyword: Thermal_bath_Ttr:
Parameters: [f]Ttr
Specifies the translational temperature of the distribution from which the particles' velocity should be sampled when the Thermal_bath_bool:
keyword is used.
Specifying boundary conditions (for Cartesian grids)
Boudary conditions for Cartesian grids can only be assigned at the boundaries of the rectangular simulation box.
Keyword: Domain_specular:
Parameters: [b]xlo [b]xhi [b]ylo [b]yhi
If a Cartesian grid is used, specifies whether the left, right, bottom and top boundaries should be assigned specular boundary conditions for particles.
Keyword: Domain_diffuse:
Parameters: [b]xlo [b]xhi [b]ylo [b]yhi
If a Cartesian grid is used, specifies whether the left, right, bottom and top boundaries should be assigned diffuse boundary conditions for particles. The temperature of the boundary is specified using the Boundary_temperature:
keyword.
Keyword: Boundary_temperature:
Parameters: [f]Twall
Specifies the temperature of the boundary in case of diffuse boundary conditions.
Keyword: Domain_react:
Parameters: [b]xlo [b]xhi [b]ylo [b]yhi
Specifies whether particles should react at the boundary according to the reactions specified in the wall reactions file.
Numerical settings
Keyword: Fnum:
Parameters: [f]fnum
The global macroparticle weight. This number indicates how many real particles are represented by a single macroparticle. At fixed density, a higher value for this number indicates a lower number of simulated particles.
Keyword: Timestep:
Parameters: [f]dt
Specifies the time step of the simulation.
Keyword: Number_of_timesteps:
Parameters: [i]nt
Specifies the final time step to be performed. In case of restart, the simulation will stop at this time step. For example, if the simulation is restarted at time step 100 and nt
is set to 300, the code will perform 200 time steps before stopping.
Keyword: RNG_seed:
Parameters: [i]seed
Specifies an integer that seeds the pseudo-random number generator. Two simulations performed on the smae number of MPI processes with the same seed should in principle give identical results. This number must be changed if two different realizations of the same simulation have to be performed.
Keyword: Stats_every:
Parameters: [i]nstat
Specifies every how many time steps the code should print an information string to console. The information string can be used to monitor the progress of the simulation, and contains basic information for exapmle on the current time step, number of particles, estimated time remaining, number of collisions performed, etc...
Keyword: PIC_type:
Parameters: [s]pictype
Specifies what type of PIC algorithm should be used. The user can choose among:
none
no self-consistent electric field is applied to the particlesexplicit
the classic explicit time discretization is used, in combination with the Boris-leapfrog particle mover.explicitlimited
the explicit algorithm is used, but the permittivity of vacuum is scaled such that the local (numerical) Debye length is always kept of the order of the cell size.semiimplicit
an elecrostatic version of the semi-implicit, energy-conserving algorithm by [Lapenta] is used. Currently, this algorithm does not support the presence of magnetic fields.fullyimplicit
a fully-implicit, energy-conserving algorithm is used. Particles and fields are converged to the new time step iteratively. This algorithm is stable for cell sizes that exceed the local mean free path and time steps that exceed the electron plasma frequency.hybrid
the hybrid algorithm assumes electrons as inertia-less fluid which are introduced in the Poisson equation as a non-linear term. Equation is solved explicitly in time. The setting of electron fluid parameters is required and referred in Fluid electrons model section.
Keyword: Jacobian_type:
Parameters: [i]jactype
Specifies how the Jacobian for the fully implicit method is formulated. Possible choices are:
0
Jacobian containing only the derivatives related to the potential, with no plasma response1
The Jacobian is computed exactly (should correspond to the one computed using partial derivatives). This computation is very expensive, and was done mainly for research purposes3
The plasma response is computed assuming that particles do not leave the original cell. This corresponds to the ECSIM semi-implicit formulation. This is the suggested option.
Other values for jactype
are available, but are used mainly for experimentation purposes and are not recommended for normal use.
Keyword: Residual_and_jacobian_combined:
Parameters: [b]resjaccombined
Specifies whether the computation of the residual and of the Jacobian should be performed at the same time (with a single particle advection) or not.
Keyword: Epsilon_scaling:
Parameters: [f]gamma
Specifies a factor which is squared and scales the permittivity of vacuum, such that this becomes $\gamma^2 \varepsilon_0$.
Data output
Output paths
Keyword: Flowfield_output:
Parameters: [s]flowfieldpath
Specifies the output path for the grid averaged data. A single file is written every output cycle. The files are saved with the name dsmc_flowfield_T.vtk
, where T
is the time step. Be aware that the code will not overwrite any result, which means that the file must not exist prior to the writing attempt, or the code will crash. The specified folder must exist.
Keyword: Particle_dump_output:
Parameters: [s]particlepath
Specifies the output path for the particle data. A file is written for every processor at every output cycle. The files are saved with the name proc_P_time_T
, where P
is the MPI process id and T
is the time step. The specified folder must exist.
Keyword: Trajectory_dump_output:
Parameters: [s]trajectorypath
Specifies the output path for particle trajectory data. A file is written and successively appended for each particle. The files are saved with the name trajectory_I
, where I
is the integer identifier that is assigned to the particle at the moment it is initialized. The specified folder must exist.
Keyword: Checks_output:
Parameters: [s]checkspath
Specifies the output path for the diagnostics file conservation_checks
. The specified folder must exist.
Keyword: All_output_path:
Parameters: [s]allpath
This keyword sets all the previous paths to the same value specified by allpath
.
Flow field data
Keyword: Binary_output:
Parameters: [b]binaryout
If set to .TRUE.
, the grid data files and particles files are written in binary format, otherwise they are written in human-readable ASCII format.
Keyword: Perform_checks:
Parameters: [b]checks
Specifies whether the code should compute global values for diagnostics. These include, for instance, the number of particles, total momentum, kinetic and potential energies, number of recations, and more. The quantities are saved in a file called conservation_checks
.
Keyword: Checks_every:
Parameters: [i]checksevery
Specifies every how many time steps the diagnosic checks should be performed.
Grid quantities
Keyword: Dump_grid_start:
Parameters: [i]avgstart
Specifies from which time step the code should start saving grid-averaged data to file. Use 0 to write data from the beginning of the simulation.
Keyword: Dump_grid_avgevery:
Parameters: [i]avgevery
Specifies every how many time steps grid data should be averaged.
Keyword: Dump_grid_numavgs:
Parameters: [i]numavg
Specifies how many time steps should be averaged before saving grid data to file. For example, if avgstart
=100, avgevery
=20, numavg
=10, the first file will be written at time step 300, and will contain the average of time steps 100, 120, ..., 280, 300. The following file will be written at time step 500.
Boundary quantities
When an unstructured mesh is used, the code automatically generates a mesh containing all of its boundaries which have been assigned to a physical group. Accumulated particle quantities on this mesh can be output using the following commands:
Keyword: Dump_bound_start:
Parameters: [i]avgstart
Specifies from which time step the code should start saving boundary-averaged data to file. Use 0 to write data from the beginning of the simulation.
Keyword: Dump_bound_avgevery:
Parameters: [i]avgevery
Specifies every how many time steps boundary data should be averaged.
Keyword: Dump_bound_numavgs:
Parameters: [i]numavg
Specifies how many time steps should be averaged before saving boundary data to file. For example, if avgstart
=100, avgevery
=20, numavg
=10, the first file will be written at time step 300, and will contain the average of time steps 100, 120, ..., 280, 300. The following file will be written at time step 500.
Particles
Keyword: Dump_part_start:
Parameters: [i]partstart
Specifies from which time step the code should start saving particles to file.
Keyword: Dump_part_every:
Parameters: [i]partevery
Specifies the interval of time steps at which the code should save particles to file. For instance, if partstart
=1000 and partevery
=100, particles will be saved at timesteps 1000, 1100, 1200, ...
Keyword: Dump_part_fracsample:
Parameters: [f]fracsample
Specifies the fraction of particles that should be saved to file. Particles are selected to be dumped with probability fracsample
. This is useful when the user wants to save more snapshots of particle data without saving an enormous amount of particles. When the particle dump is used for simulation restarts, this keyword should not be used, or fracsample
should be set to 1.
Keyword: Boundary_dump_fluxes:
Parameters: [s]group
When used, all particles reaching the boundary assigned to the group
physical group will be saved to file. The starting time step and interval at which the save occurs are specified by the Dump_bound_start:
and Dump_bound_every:
keywords.
Keyword: Dump_part_bound_start:
Parameters: [i]boundstart
Specifies at which time step to start accumulating the particles which reach boundaries where the Boundary_dump_fluxes:
keyword was specified.
Keyword: Dump_part_bound_every:
Parameters: [i]boundevery
Specifies every how many time steps to save the accumulated particles that reached the boundary. Notice that particles are accumulated at every time step after boundstart
. This keyword simply speciifes the interval at which they are saved to file.
Keyword: Bool_dump_moments:
Parameters: [b]dumpmoments
Specifies whether additional moments of the velocity distribution function should be computed and saved to file. These constitute 33 additional quantities (per species), so a significant amount of data. The moments include $\rho, u_i, P_{ij}, q_i, Q_{ijk}, R_{iijj}, R_{ijkk}, S_{ijjkk}$.
TODO: missing keyword for trajectory dump
Keyword: Inject_from_file:
Parameters: [s]injectfile
Reads a particle file with name injectfile
. At each time step, particles are sampled from this pool of particles to be injected.
Keyword: Inject_probability:
Parameters: [f]injprob
Specifies the probability with which a particle is injected from the pool of particles loaded from file using the Inject_from_file:
keyword at each time step. This parameter essentially controls the flow rate of particles in the domain.
Species and mixtures
Keyword: Species_file:
Parameters: [f]speciesfile
Specifies the name of the file containing the list of all simulated species and their properties. Each line in this file represents a species, and it must be formatted as follows:
[s]name [f]molwt [f]molmass [i]rotdof [f]rotrel [i]vibdof [f]vibrel [f]vibtemp [f]spwt [f]charge
where:
name
is a string representing the species. It will be used to identify the species in the other commands as well as in the output files.molwt
is the molecular mass in atomic mass unitsmolmass
is the molecular mass in kgrotdof
is the number of rotational degrees of freedomrotrel
is the rotational relaxation numbervibdof
is the number of vibrational degrees of freedomvibrel
is the vibrational relaxation numbervibtemp
is the vibrational activation temperaturespwt
is the species-specific particle weight, which multiplies the global particle weight specified with theFnum:
keyword.
An example of species file for the 11-species air mixture:
O2 32.00 5.31E-26 2 0.2 2 5.58659E-5 2256.0 1.0 0.0
N2 28.016 4.65E-26 2 0.2 2 0.1 3371.0 1.0 0.0
O 16.00 2.65E-26 0 0.0 0 0.0 0.0 1.0 0.0
N 14.008 2.325E-26 0 0.0 0 0.0 0.0 1.0 0.0
NO 30.008 4.98E-26 2 0.2 2 7.14285E-4 2719.0 1.0 0.0
O2+ 32.00 5.31E-26 2 0.2 2 5.58659E-5 2256.0 1.0 1.0
N2+ 28.016 4.65E-26 2 0.2 2 1.90114E-5 3371.0 1.0 1.0
O+ 16.00 2.65E-26 0 0.0 0 0.0 0.0 1.0 1.0
N+ 14.008 2.325E-26 0 0.0 0 0.0 0.0 1.0 1.0
NO+ 30.008 4.98E-26 2 0.2 2 7.14285E-4 2719.0 1.0 1.0
e 0.001 9.10938188E-29 0 0.0 0 0.0 0.0 1.0 -1.0
Keyword: Def_mixture:
Parameters: [s]mixname [s]spname [f]frac <additional components>
Defines a mixure of different species, each with its own molar fraction. The sum of all molar fractions must equal 1. Mixtures are used by many other commands. For instance, a mixture can be used to identify a set of species to be injected in the domain. The name of the mixture mixname
is defined here, followed by a list of species and the respective fraction. For instance, an air mixture could be defined by the parameters list Air N2 0.78087 O2 0.20946 Ar 0.00934 CO2 0.00033
Fluid electrons model
If PIC_type
is set to hybrid
, electrons are represented as an inertia-less fluid, which acts as a nonlinear source term in Poisson's equation. The electron density follows the Boltzmann relation, $n_e = n_{e0} \exp \left(\frac{q_e (\phi-\phi_0)}{k_B T_{e0}} \right)$. The values of $n_{e0}$, $\phi_0$, and $T_{e0}$ are respectively the reference number density, potential, and temperature, and they must be set using the following keywords.
Keyword: Fluid_electrons_n0:
Parameters: [f]fluidn0
Specifies the reference density $n_{e0}$ in the Boltzmann relation.
Keyword: Fluid_electrons_phi0:
Parameters: [f]fluidphi0
Specifies the reference potential $\phi_0$ in the Boltzmann relation.
Keyword: Fluid_electrons_Te:
Parameters: [f]fluidTe
Specifies the reference temperature $T_{e0}$ in the Boltzmann relation.
Collisions
Keyword: Collision_type:
Parameters: [s]colltype
Specifies the type of collision algorithm to be used for particle-particle or for particle-background collisions. The user can choose between the following values for colltype
:
NONE
particle collisions are not computedDSMC
particle-particle collisions are computed using the classic No-Time-Counter algorithm, with cross section and scattering laws defined by the VSS model.MCC
VAHEDI_MCC
particle-background collisions are computed using the algorithm by Vahedi and Surendra, with cross sections in tabulated form and isotropic scattering.VAHEDI_DSMC
particle-particle collisions are computed by considering tabulated collisional cross sections.BGK
performs particle collisions using the Bhatnagar-Gross-Krook collision operator, where particles relax towards a Maxwell-Boltzmann distribution at the local gas properties.
Keyword: BGK_sigma:
Parameters: [f]sigma
Sets the cross section that is used in the BGK collision procedure to compute the collision frequency. To be used when colltype
is set to BGK
.
Keyword: DSMC_collisions_mixture:
Parameters: [s]dsmcmix
Specifies a mixture whose species are tested for DSMC collisions. The mixure mush have been defined using the Def_mixture
keyword.
Keyword: VSS_parameters_file:
Parameters: [s]vssfile
Loads a file containing per-species parameters for the VSS cross-section model. For each species defined in the species file, vssfile
must contain a line with the following format: [s]species [f]dref [f]omega [f]Tref [f]alpha
, where dref
and Tref
are the reference diameter and temperature, omega
is the temperature exponent, and alpha
defines the scattering angle distribution.
Keyword: VSS_parameters_binary_file:
Parameters: [s]vssbinfile
Loads a file containing per-species-pair parameters for the VSS cross-section model. Each coefficient of the model is therefore entered in tables. The file vssbinfile
must respect the following format:
[f]Tref
[s]sp1 [s]sp2 [s]sp3 <additional species>
[f]d11 [f]d12 [f]d13 <additional entries>
[f]d22 [f]d23 <additional entries>
[f]d33 <additional entries>
<additional entries>
[f]omega11 [f]omega12 [f]omega13 <additional entries>
[f]omega22 [f]omega23 <additional entries>
[f]omega33 <additional entries>
<additional entries>
[f]alpha11 [f]alpha12 [f]alpha13 <additional entries>
[f]alpha22 [f]alpha23 <additional entries>
[f]alpha33 <additional entries>
<additional entries>
The first line is the reference temperature, which is the same for all species-pairs. The second line is the list of species, which establishes the order in which they appear in the tables (therefore independendent of the order they had in the species file). For instance, for an argon plasma, the file could look like this:
273.0
Ar Ar+ e
4.011e-10 5.522e-10 0.193e-10
8357.55e-10 8779.00e-10
8357.55e-10
0.722 0.619 -0.434
2.316 2.321
2.316
1.470 0.162 1.801
18.304 19.131
18.304
Keyword: Reactions_file:
Parameters: [s]reactfile
Specifies the name of a file containing the definition of gas phase reactions. These can also include elastic processes when using tabulated cross sections. The content of the file is a list of reactions. Each of them must follow this syntax:
[s]R1 + [s]R2 --> [s]P1 + [s]P2 (+ [s]P3) (+ [s]P4)
[s]type <additional parameters>
Where R1, R2, P1, P2, ...
are the species names of reactants and products, which have to match what specified in the species file.
Parameter type
can take the values:
lxcat
where the cross section is in tabulated form. it expects two additional parameters:[f]Ea [s]lxcatfile
, where the first is the activation energy in eV, and the second is the name of the file containing the tabulated cross section. This file must respect the formatting provided by the LXCat database.tce
which tells the code to use the "total collision energy" method. This must be used in combination with collisional parameters provided with the VSS cross section model. The TCE method allows to reproduce reaction rates at equilibrium that follow the modified Arrhenius form. It expects three additional parameters:[f]A [f]n [f]Ea
, which correspond to the parameters of the rate $k_f(T)=AT^ne^{-\frac{E_a}{kT}}$.
Keyword: MCC_background_dens:
Parameters: [f]mccnrho
Specifies the total number density of the backgound gas when MCC collisions are used.
Keyword: MCC_background_Ttra:
Parameters: [f]mccTtr
Specifies the translational temperature of the backgound gas when MCC collisions are used.
Keyword: MCC_background_mixture:
Parameters: [s]mixture
Specifies the name of the mixture that should be used as backgound gas when MCC collisions are used.
Keyword: MCC_background_file:
Parameters: [s]mccfile
Specifies a file containing a desnity map for the background species. The file should be in the VKT format, and use the same mesh as the one used in the current simulation. The code will look for fields following the pattern nrho_mean_SP_ID
, where SP_ID
is one of the species defined in the species file.
Domain partitioning
Keyword: Partition_style:
Parameters: [s]style
Specifies the way that the cells are distributed between MPI processes. The user can choose between the following options:
stripsx
,stripsy
,stripsz
cells distributed in strips along x, y, and zslicesx
cells distributed in slices around the x axis, meaning according to the aximuthal coordinate $\theta=\text{atan2}(y,z)$.slicesz
cells distributed in slices around the z axis, meaning according to the aximuthal coordinate $\theta=\text{atan2}(y,x)$. The partition can be done uniformly based only on the coordinates, or by weighting cells such that every process has the same amount of particles.
Keyword: Load_balance:
Parameters: [b]loadbalance
Specifies whether cells should be distributed simply based on the position of their centroid or by weighting them by the number of particles they contain.
Keyword: Load_balance_every:
Parameters: [i]balanceevery
Specifies every how many time steps cells should be re-assinged to MPI processes for dynamic load balancing. This is activated only if loadbalance
is set to .TRUE.
Keyword: Solenoid_field:
Parameters: [f]x1 [f]y1 [f]x2 [f]y2 [i]nx [i]ny [f]Icoil
When specified, computes the static magnetic field produced by a solenoid. This uses the law of Biot-Savart, and currently only works with 2D axisymmetric domains. The solenoid wire wraps around the x-axis, and consists of nx
turns in the axial (x) direction and ny
turns in the radial (y) direction. The total number of turns is the product of the two. The turns are equally distributed between coordinates x1
and x2
in the axial direction and y1
and y2
in the radial direction. The (signed) current flowing in the solenoid, in A, is specified by Icoil
.
PETSc linear solver settings
Additional options for the linear solver can be specified as command-line arguments when the executable is launched. Here we recall some useful ones, from PETSc's User Guide:
-ksp_max_it
maximum number of linear iterations-ksp_rtol
relative tolerance used in default determination of convergence, i.e. if residual norm decreases by this factor than convergence is declared-ksp_atol
absolute tolerance used in default convergence test, i.e. if residual norm is less than this then convergence is declared-pc_type
set which type of precondioner to use for the Krylov solver, for instancebjacobi
. For the nonlinear solver:-snes_atol
absolute tolerance of residual norm for the nonlinear solver-snes_rtol
relative decrease in tolerance norm from initial for the nonlinear solver-snes_max_it
maximum number of iterations for the nonlinear solver-snes_test_jacobian
compare the user provided Jacobian with one computed via finite differences to check for errors. If a threshold is given, display only those entries whose difference is greater than the threshold-snes_test_jacobian_view
display the user provided Jacobian, the finite difference Jacobian and the difference between them to help users detect the location of errors in the user provided Jacobian
Deprecated / not working
These are keywords that were once supported but have been superseded by a newer version. Their use is discouraged.
Boundaries_inject_bool:
Boundaries_inject_which_bool:
Boundaries_inject_dens:
Boundaries_inject_vel:
Boundaries_inject_Ttra:
Boundaries_inject_Trot:
Boundaries_inject_Tvib:
Boundaries_inject_mixture:
Linesource_bool:
Linesource_center:
Linesource_length_y:
Linesource_dens:
Linesource_vel:
Linesource_Ttra:
Linesource_Trot:
Linesource:
Wall:
Bool_dump_fluxes:
Dump_traj_start:
Dump_traj_number:
Fluxes_dump_output:
Partition_num_blocks:
Colocated_electrons:
SNES_rtol:
Bool_radial_weighting: