WARPXM v1.10.0
Loading...
Searching...
No Matches
reaction_source_mol.h
Go to the documentation of this file.
1#pragma once
2
3// wxm includes
5#include "app_setup_helper.h"
6
7// STL includes
8#include <memory>
9
10namespace wxm
11{
12namespace apps
13{
14namespace five_moment
15{
16
18{
19public:
21
23
24 void setup(const WxCryptSet& wxc) override;
25
26 const std::vector<int>& getInputVariableIndexes(int flag) const override
27 {
28 return _input_variables;
29 }
30
31 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
32 {
33 return _aux_variables;
34 }
35
36 const std::vector<int>& getOutputVariableIndexes(int flag) const override
37 {
38 return _input_variables;
39 }
40
41 real source(const real* q,
42 const real* aux,
43 const elementGeometry_t* pEG,
44 real* source) const override;
45
46protected:
48 std::unique_ptr<AppSetupHelper> _setup_helper;
49
62
64 int _atom;
65
75
79
80 std::vector<int> _input_variables;
81 std::vector<int> _aux_variables;
82
83private:
84 ReactionSourceMol& operator=(const ReactionSourceMol& var);
86};
87} // namespace five_moment
88} // namespace apps
89} // namespace wxm
Base Class for physics applications.
Definition: wmapplication.h:93
WxCryptSet extends WxCrypt by providing, in addition to name-value pairs, an set of named WxCryptSets...
Definition: wxcryptset.h:35
Definition: reaction_source_mol.h:18
real source(const real *q, const real *aux, const elementGeometry_t *pEG, real *source) const override
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: reaction_source_mol.h:26
real _Ae
Proton normalized electron mass.
Definition: reaction_source_mol.h:54
void setup(const WxCryptSet &wxc) override
real _Aa
Proton normalized atom mass.
Definition: reaction_source_mol.h:56
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: reaction_source_mol.h:36
real _ompt
Normalized proton plasma frequency.
Definition: reaction_source_mol.h:66
real _omct
Normalized proton cyclotron frequency.
Definition: reaction_source_mol.h:67
int _atom
Atom type: _atom = 1 (Hydrogenic)
Definition: reaction_source_mol.h:64
real _min_pressure
Minimum normalized pressure used in calculations.
Definition: reaction_source_mol.h:51
real _min_density
Minimum normalized mass density used in calculations.
Definition: reaction_source_mol.h:50
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: reaction_source_mol.h:31
real _L
Reference length, m.
Definition: reaction_source_mol.h:68
real _ni_floor
As plasma or neutral density approaches _ni_floor, rates will go to zero such that reaction sinks wil...
Definition: reaction_source_mol.h:74
real _Am
Proton normalized molecule mass.
Definition: reaction_source_mol.h:57
real _eps0
Vacuum permitivity, F⋅m^−1.
Definition: reaction_source_mol.h:69
std::unique_ptr< AppSetupHelper > _setup_helper
Helper object that automates common setup routines.
Definition: reaction_source_mol.h:48
int _species
Species type: _species = 0 (electrons), 1 (ions), 2 (neutrals), and 3 (molecules).
Definition: reaction_source_mol.h:61
real _dt_lambda
The minimum fraction of a positive quantity which must remain after a dt step of this source term.
Definition: reaction_source_mol.h:78
std::vector< int > _aux_variables
Definition: reaction_source_mol.h:81
real _gas_gamma
Adiabatic index of ion.
Definition: reaction_source_mol.h:52
real _Ai
Proton normalized ion mass.
Definition: reaction_source_mol.h:55
real _gas_gamma_mol
Adiabatic index of molecule.
Definition: reaction_source_mol.h:53
std::vector< int > _input_variables
Definition: reaction_source_mol.h:80
list apps
Definition: shock_tube.py:33
Base namespace for everything not included in the global namespace.
Definition: field_source.h:8
Definition: wmapplication.h:38
#define real
Definition: wmoclunstructuredreconstruction.h:11