WARPXM v1.10.0
Loading...
Searching...
No Matches
reaction_source.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
22{
23public:
25
26 ~ReactionSource() override;
27
28 void setup(const WxCryptSet& wxc) override;
29
30 const std::vector<int>& getInputVariableIndexes(int flag) const override
31 {
32 return _input_variables;
33 }
34
35 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
36 {
37 return _aux_variables;
38 }
39
40 const std::vector<int>& getOutputVariableIndexes(int flag) const override
41 {
42 return _input_variables;
43 }
44
45 real source(const real* q,
46 const real* aux,
47 const elementGeometry_t* pEG,
48 real* source) const override;
49
50protected:
52 std::unique_ptr<AppSetupHelper> _setup_helper;
53
63
65 int _atom;
66
78
83
84 std::vector<int> _input_variables;
85 std::vector<int> _aux_variables;
86
87private:
88 ReactionSource& operator=(const ReactionSource& var);
90};
91} // namespace five_moment
92} // namespace apps
93} // 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
Implements source terms for atomic reactions.
Definition: reaction_source.h:22
real _min_density
Minimum normalized mass density used in calculations.
Definition: reaction_source.h:54
std::unique_ptr< AppSetupHelper > _setup_helper
Helper object that automates common setup routines.
Definition: reaction_source.h:52
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: reaction_source.h:35
real _ni_floor
As plasma or neutral density approaches _ni_floor, rates will go to zero such that reaction sinks wil...
Definition: reaction_source.h:77
real _phi_eff
Normalized effective ionization energy.
Definition: reaction_source.h:72
real _omct
Normalized proton cyclotron frequency.
Definition: reaction_source.h:68
real _eps0
Vacuum permitivity, F⋅m^−1.
Definition: reaction_source.h:70
real _Ai
Proton normalized ion mass.
Definition: reaction_source.h:58
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: reaction_source.h:40
real _Aa
Proton normalized atom mass.
Definition: reaction_source.h:59
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.h:30
std::vector< int > _aux_variables
Definition: reaction_source.h:85
real _Ae
Proton normalized electron mass.
Definition: reaction_source.h:57
real _dt_lambda
The minimum fraction of a positive quantity which must remain after a dt step of this source term.
Definition: reaction_source.h:82
real _L
Reference length, m.
Definition: reaction_source.h:69
real _gas_gamma
Adiabatic index.
Definition: reaction_source.h:56
int _species
Species type: _species = 0 (electrons), 1 (ions), and 2 (neutrals).
Definition: reaction_source.h:62
int _atom
Atom type: _atom = 1 (Hydrogenic).
Definition: reaction_source.h:65
real _phi_ion
Normalized ionization energy.
Definition: reaction_source.h:71
void setup(const WxCryptSet &wxc) override
real _ompt
Normalized proton plasma frequency.
Definition: reaction_source.h:67
std::vector< int > _input_variables
Definition: reaction_source.h:84
real _min_pressure
Minimum normalized pressure used in calculations.
Definition: reaction_source.h:55
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