WARPXM v1.10.0
Loading...
Searching...
No Matches
wxm::apps::five_moment::ReactionSource Class Reference

Implements source terms for atomic reactions. More...

#include <reaction_source.h>

Inheritance diagram for wxm::apps::five_moment::ReactionSource:
WmApplication wxm::app_base

Detailed Description

Implements source terms for atomic reactions.

Public Member Functions

 ReactionSource ()
 
 ~ReactionSource () override
 
void setup (const WxCryptSet &wxc) override
 
const std::vector< int > & getInputVariableIndexes (int flag) const override
 
const std::vector< int > & getAuxiliaryVariableIndexes (int flag) const override
 
const std::vector< int > & getOutputVariableIndexes (int flag) const override
 
real source (const real *q, const real *aux, const elementGeometry_t *pEG, real *source) const override
 
- Public Member Functions inherited from WmApplication
 WmApplication ()
 
virtual ~WmApplication ()=default
 
virtual void setup (const WxCryptSet &wxc)
 
virtual const std::vector< int > & getAuxiliaryVariableIndexes (int flag=WMAPPLICATIONFLAG_NONE) const
 
virtual const std::vector< int > & getCrossVariableIndexes (int flag=WMAPPLICATIONFLAG_NONE) const
 
const std::vector< std::string > & getBoundaryNames () const
 
bool isOnBoundary (const std::string &boundaryName) const
 
bool has (int flag) const
 
virtual real numerical_flux (const real *q_l, const real *q_r, const real *aux_l, const real *aux_r, const solverVariables_t *pFV, real *numericalFlux) const
 
virtual real internal_flux (const real *q, const real *aux, const solverVariables_t *pSV, std::vector< std::vector< real > > &internalFlux) const
 
virtual real source (const real *q, const real *aux, const elementGeometry_t *pEG, real *source) const
 
virtual void bc_q (const real *q_in, const real *aux_in, const real *aux_out, const solverVariables_t *pFV, real *q_out) const
 Boundary Condition Application which sets the boundary condition on ghost nodes.
 
virtual real bcNumericalFlux (const real *q_l, const real *q_r, const real *aux_l, const real *aux_r, const solverVariables_t *pFV, real *numericalFlux) const
 
virtual void conserved_to_primitive (const real *q, const real *aux, real *w) const
 
virtual void primitive_to_conserved (const real *w, const real *aux, real *q) const
 
virtual void evaluate_function (const real *q, const real *aux, const solverVariables_t *pSV, real *result) const
 
virtual void bc_q_kinetic (const real *q_in, const real *aux_in, const solverVariables_t *pFV, real *q_out) const
 
std::shared_ptr< std::string > app_name ()
 
virtual const std::vector< int > & getInputVariableIndexes (int flag=0) const
 
virtual const std::vector< int > & getOutputVariableIndexes (int flag=0) const
 

Protected Attributes

std::unique_ptr< AppSetupHelper_setup_helper
 Helper object that automates common setup routines.
 
real _min_density
 Minimum normalized mass density used in calculations.
 
real _min_pressure
 Minimum normalized pressure used in calculations.
 
real _gas_gamma
 Adiabatic index.
 
real _Ae
 Proton normalized electron mass.
 
real _Ai
 Proton normalized ion mass.
 
real _Aa
 Proton normalized atom mass.
 
int _species
 Species type: _species = 0 (electrons), 1 (ions), and 2 (neutrals).
 
int _atom
 Atom type: _atom = 1 (Hydrogenic).
 
real _ompt
 Normalized proton plasma frequency.
 
real _omct
 Normalized proton cyclotron frequency.
 
real _L
 Reference length, m.
 
real _eps0
 Vacuum permitivity, F⋅m^−1.
 
real _phi_ion
 Normalized ionization energy.
 
real _phi_eff
 Normalized effective ionization energy.
 
real _ni_floor
 As plasma or neutral density approaches _ni_floor, rates will go to zero such that reaction sinks will not drive densities below floors.
 
real _dt_lambda
 The minimum fraction of a positive quantity which must remain after a dt step of this source term.
 
std::vector< int > _input_variables
 
std::vector< int > _aux_variables
 
- Protected Attributes inherited from WmApplication
std::string _app_name
 
WxLogStream _debStrm
 
std::vector< int > _allowedFlags
 
std::vector< std::string > _onBoundaries
 

Additional Inherited Members

- Public Types inherited from WmApplication
typedef Application_Variable WmApplication_Variable
 
typedef std::map< std::string, std::string > replaceMap_t
 
- Static Public Attributes inherited from wxm::app_base
static std::vector< int > empty
 
- Protected Member Functions inherited from wxm::app_base
virtual ~app_base ()=default
 

Constructor & Destructor Documentation

◆ ReactionSource()

wxm::apps::five_moment::ReactionSource::ReactionSource ( )

◆ ~ReactionSource()

wxm::apps::five_moment::ReactionSource::~ReactionSource ( )
override

Member Function Documentation

◆ getAuxiliaryVariableIndexes()

const std::vector< int > & wxm::apps::five_moment::ReactionSource::getAuxiliaryVariableIndexes ( int  flag) const
inlineoverridevirtual

Reimplemented from WmApplication.

◆ getInputVariableIndexes()

const std::vector< int > & wxm::apps::five_moment::ReactionSource::getInputVariableIndexes ( int  flag) const
inlineoverridevirtual

Reimplemented from wxm::app_base.

◆ getOutputVariableIndexes()

const std::vector< int > & wxm::apps::five_moment::ReactionSource::getOutputVariableIndexes ( int  flag) const
inlineoverridevirtual

Reimplemented from wxm::app_base.

◆ setup()

void wxm::apps::five_moment::ReactionSource::setup ( const WxCryptSet wxc)
overridevirtual

Reimplemented from WmApplication.

◆ source()

real wxm::apps::five_moment::ReactionSource::source ( const real q,
const real aux,
const elementGeometry_t pEG,
real source 
) const
overridevirtual

Reimplemented from WmApplication.

Member Data Documentation

◆ _Aa

real wxm::apps::five_moment::ReactionSource::_Aa
protected

Proton normalized atom mass.

◆ _Ae

real wxm::apps::five_moment::ReactionSource::_Ae
protected

Proton normalized electron mass.

◆ _Ai

real wxm::apps::five_moment::ReactionSource::_Ai
protected

Proton normalized ion mass.

◆ _atom

int wxm::apps::five_moment::ReactionSource::_atom
protected

Atom type: _atom = 1 (Hydrogenic).

◆ _aux_variables

std::vector<int> wxm::apps::five_moment::ReactionSource::_aux_variables
protected

◆ _dt_lambda

real wxm::apps::five_moment::ReactionSource::_dt_lambda
protected

The minimum fraction of a positive quantity which must remain after a dt step of this source term.

Positive quantities are density and pressure.

◆ _eps0

real wxm::apps::five_moment::ReactionSource::_eps0
protected

Vacuum permitivity, F⋅m^−1.

◆ _gas_gamma

real wxm::apps::five_moment::ReactionSource::_gas_gamma
protected

Adiabatic index.

◆ _input_variables

std::vector<int> wxm::apps::five_moment::ReactionSource::_input_variables
protected

◆ _L

real wxm::apps::five_moment::ReactionSource::_L
protected

Reference length, m.

◆ _min_density

real wxm::apps::five_moment::ReactionSource::_min_density
protected

Minimum normalized mass density used in calculations.

◆ _min_pressure

real wxm::apps::five_moment::ReactionSource::_min_pressure
protected

Minimum normalized pressure used in calculations.

◆ _ni_floor

real wxm::apps::five_moment::ReactionSource::_ni_floor
protected

As plasma or neutral density approaches _ni_floor, rates will go to zero such that reaction sinks will not drive densities below floors.

◆ _omct

real wxm::apps::five_moment::ReactionSource::_omct
protected

Normalized proton cyclotron frequency.

◆ _ompt

real wxm::apps::five_moment::ReactionSource::_ompt
protected

Normalized proton plasma frequency.

◆ _phi_eff

real wxm::apps::five_moment::ReactionSource::_phi_eff
protected

Normalized effective ionization energy.

◆ _phi_ion

real wxm::apps::five_moment::ReactionSource::_phi_ion
protected

Normalized ionization energy.

◆ _setup_helper

std::unique_ptr<AppSetupHelper> wxm::apps::five_moment::ReactionSource::_setup_helper
protected

Helper object that automates common setup routines.

◆ _species

int wxm::apps::five_moment::ReactionSource::_species
protected

Species type: _species = 0 (electrons), 1 (ions), and 2 (neutrals).


The documentation for this class was generated from the following file: