AddScalarReactions

buildconstruction:Undocumented Action Class

The AddScalarReactions has not been documented. The content listed below should be used as a starting point for documenting the class, which includes the typical automatic documentation associated with an Action; however, what is contained is ultimately determined by what is necessary to make the documentation clear for users.

This Action automatically adds the necessary kernels and materials for a reaction network.

Overview

Example Input File Syntax

This Action automatically adds the necessary kernels and materials for a reaction network.

Input Parameters

  • reactionsThe list of reactions to be added

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:The list of reactions to be added

  • speciesList of (tracked) species included in reactions (both products and reactants)

    C++ Type:std::vector<NonlinearVariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:List of (tracked) species included in reactions (both products and reactants)

Required Parameters

  • active__all__ If specified only the blocks named will be visited and made active

    Default:__all__

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:If specified only the blocks named will be visited and made active

  • aux_speciesAuxiliary species that are not included in nonlinear solve.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:Auxiliary species that are not included in nonlinear solve.

  • balance_checkFalseWhether or not to check that each reaction is balanced.

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to check that each reaction is balanced.

  • boltzmann_input_fileThe name of the input file being used for Bolsig+.

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the input file being used for Bolsig+.

  • charge_balance_checkFalseWhether or not to check that each reaction is balanced by charge. If not, equations with electrons are skipped in the balance check. (Electron-impact reactions break particle conservation.)

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to check that each reaction is balanced by charge. If not, equations with electrons are skipped in the balance check. (Electron-impact reactions break particle conservation.)

  • conversion_factor1Convert the results by this multiplication factor. Bolsig+ calculates everything in SI units (m, m^2, m^3, etc.).

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Convert the results by this multiplication factor. Bolsig+ calculates everything in SI units (m, m^2, m^3, etc.).

  • convert_to_meters1Multiplies constant and parsed function rate coefficients by convert_to_meters^(n*(n-1)), where `n` is the number of reactants.

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Multiplies constant and parsed function rate coefficients by convert_to_meters^(n*(n-1)), where `n` is the number of reactants.

  • convert_to_molesFalseMultiplies all constant and parsed function rate coefficients by N_A (6.022e23) to convert to a molar rate coefficient. (Note that EEDF rate coefficient units are not affected. Those are up to the user to modify.

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Multiplies all constant and parsed function rate coefficients by N_A (6.022e23) to convert to a molar rate coefficient. (Note that EEDF rate coefficient units are not affected. Those are up to the user to modify.

  • cross_section_dataThe file name of the cross section data used for Bolsig+.

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:The file name of the cross section data used for Bolsig+.

  • cutoff_time-1After this simulation time has been reached, Bolsig+ will no longer be run.

    Default:-1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:After this simulation time has been reached, Bolsig+ will no longer be run.

  • electron_densityThe variable used for density of electrons.

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:The variable used for density of electrons.

  • electron_energyElectron energy, used for energy-dependent reaction rates.

    C++ Type:std::vector<NonlinearVariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Electron energy, used for energy-dependent reaction rates.

  • equation_constantsThe constants included in the reaction equation(s).

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:The constants included in the reaction equation(s).

  • equation_valuesThe values of the constants included in the reaction equation(s).

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:The values of the constants included in the reaction equation(s).

  • equation_variablesAny nonlinear variables that appear in the equations.

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Any nonlinear variables that appear in the equations.

  • familyLAGRANGESpecifies the family of FE shape functions to use for this variable

    Default:LAGRANGE

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:LAGRANGE, MONOMIAL, HERMITE, SCALAR, HIERARCHIC, CLOUGH, XYZ, SZABAB, BERNSTEIN, L2_LAGRANGE, L2_HIERARCHIC, NEDELEC_ONE, LAGRANGE_VEC, MONOMIAL_VEC, RAVIART_THOMAS, RATIONAL_BERNSTEIN, SIDE_HIERARCHIC, L2_HIERARCHIC_VEC, L2_LAGRANGE_VEC, L2_RAVIART_THOMAS

    Controllable:No

    Description:Specifies the family of FE shape functions to use for this variable

  • file_location.The location of the reaction rate files. Default: the current directory.

    Default:.

    C++ Type:FileName

    Unit:(no unit assumed)

    Controllable:No

    Description:The location of the reaction rate files. Default: the current directory.

  • gas_energyGas energy, used for energy-dependent reaction rates.

    C++ Type:std::vector<NonlinearVariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Gas energy, used for energy-dependent reaction rates.

  • gas_fractionThe initial fraction of each gas species.

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:The initial fraction of each gas species.

  • gas_speciesAll of the background gas species in the system.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:All of the background gas species in the system.

  • inactiveIf specified blocks matching these identifiers will be skipped.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:If specified blocks matching these identifiers will be skipped.

  • include_electronsFalseWhether or not electrons are being considered.

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not electrons are being considered.

  • initial_conditionSpecifies a constant initial condition for this variable

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Specifies a constant initial condition for this variable

  • interpolation_typelinearType of interpolation to use for rate coefficients read from a file. Options are 'linear' or 'spline'. Default: 'linear'.

    Default:linear

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:Type of interpolation to use for rate coefficients read from a file. Options are 'linear' or 'spline'. Default: 'linear'.

  • ionization_fractionThe name of the ionization fraction AuxVariable. (Not required for running Bolsig+, but may affect results negatively if not included.)

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the ionization fraction AuxVariable. (Not required for running Bolsig+, but may affect results negatively if not included.)

  • lumpedThe neutral species that will be lumped together.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:The neutral species that will be lumped together.

  • lumped_nameThe name of the variable that will account for multiple species.

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the variable that will account for multiple species.

  • lumped_speciesFalseIf true, the input file parser will look for a parameter denoting lumped species (NEUTRAL for now...eventually arbitrary?).

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:If true, the input file parser will look for a parameter denoting lumped species (NEUTRAL for now...eventually arbitrary?).

  • mole_fractionsThe name of the mole fractions of the target species for Bolsig+.

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the mole fractions of the target species for Bolsig+.

  • nameThe name of this reaction list. If multiple reaction blocks are written, use this to supply a unique name to each one.

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of this reaction list. If multiple reaction blocks are written, use this to supply a unique name to each one.

  • neutral_densityThe name of the total neutral density AuxVariable. (Required for running Bolsig+.)

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the total neutral density AuxVariable. (Required for running Bolsig+.)

  • num_particlesA vector of values storing the number of particles in each species. Note that this vector MUST be the same length as 'species'. For any index i, num_particles[i] will be associated with _species[i].

    C++ Type:std::vector<int>

    Unit:(no unit assumed)

    Controllable:No

    Description:A vector of values storing the number of particles in each species. Note that this vector MUST be the same length as 'species'. For any index i, num_particles[i] will be associated with _species[i].

  • orderFIRSTSpecifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)

    Default:FIRST

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:CONSTANT, FIRST, SECOND, THIRD, FOURTH

    Controllable:No

    Description:Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)

  • output_tableFalseWhether or not to use an output table used for Bolsig+. If false, Bolsig+ should be run every timestep.

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to use an output table used for Bolsig+. If false, Bolsig+ should be run every timestep.

  • position_units1The units of position.

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The units of position.

  • rate_provider_varThe name of the variable used to sample from BOLOS/Bolsig+ files.

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the variable used to sample from BOLOS/Bolsig+ files.

  • reaction_coefficientThe reaction coefficients.

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:The reaction coefficients.

  • reduced_fieldThe name of the reduced_field variable. (Required for running Bolsig+.)

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the reduced_field variable. (Required for running Bolsig+.)

  • run_every1How many timesteps should pass before rerunning Bolsig+. (If output_table=false, this should be left to 1 so it runs every timestep.)

    Default:1

    C++ Type:int

    Unit:(no unit assumed)

    Controllable:No

    Description:How many timesteps should pass before rerunning Bolsig+. (If output_table=false, this should be left to 1 so it runs every timestep.)

  • sampling_variablereduced_fieldSample rate constants with E/N (reduced_field) or Te (electron_energy).

    Default:reduced_field

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:Sample rate constants with E/N (reduced_field) or Te (electron_energy).

  • scalingSpecifies a scaling factor to apply to this variable

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Specifies a scaling factor to apply to this variable

  • table_variableThe variable being used to tabulate rate and transport coefficients.

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:The variable being used to tabulate rate and transport coefficients.

  • track_ratesFalseWhether or not to track production rates for each reaction

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to track production rates for each reaction

  • use_adFalseWhether or not to use automatic differentiation. Recommended for systems that use equation-based rate coefficients, mixture-averaged diffusion, or large simulations in general.

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to use automatic differentiation. Recommended for systems that use equation-based rate coefficients, mixture-averaged diffusion, or large simulations in general.

  • use_bolsigFalseWhether or not to use Bolsig+ (or bolos) to compute EEDF rate coefficients.

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to use Bolsig+ (or bolos) to compute EEDF rate coefficients.

  • use_logFalseWhether or not to use logarithmic densities. (N = exp(n))

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to use logarithmic densities. (N = exp(n))

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • isObjectActionTrueIndicates that this is a MooseObjectAction.

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Indicates that this is a MooseObjectAction.

Advanced Parameters