WARPXM v1.10.0
Loading...
Searching...
No Matches
wxm::apps::mhd::radiation::LineRadiation Class Reference

Class used to implement an approximate impurity line radiative cooling model. More...

#include <line_radiation.h>

Inheritance diagram for wxm::apps::mhd::radiation::LineRadiation:
WmApplication wxm::app_base

Detailed Description

Class used to implement an approximate impurity line radiative cooling model.

For warpy class see warpy.apps.mhd.radiation.radiation.impurity_line

Approximates cooling rate \(L_z\) by three-part piecewise exponential function of \(T_e\)

\begin{align*} L_z = \left\{ \begin{matrix} T^{m_1} \times 10^{b_1}, & T < T_1 \\ L_{z0}, & T \le T_1 \; \text{and} \; T \ge T_2\\ T^{m_2} \times 10^{b_2}, & T > T_2 \end{matrix} \right. \end{align*}

Collisional effects are incorporated through a multiplicaiton factor \(f_{cor}\) where

\begin{align*} f_{cor} = \left\{ \begin{matrix} 1, & n_z \tau_z \le (n\tau)_{roll} \\ C (n\tau)_{roll} (n_z \tau_z)^{-1}, & n_z * \tau_z > (n\tau)_{roll} \end{matrix} \right. \end{align*}

Public Member Functions

 LineRadiation ()
 
 ~LineRadiation () override
 
void setup (const WxCryptSet &wxc) override
 
const std::vector< int > & getInputVariableIndexes (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

real _gas_gamma
 Ratio of specific heats.
 
real _Ai
 Ion mass factor.
 
real _Zi
 Average charge state.
 
real _imp_frac
 Impurity fraction of ions nz/ni.
 
real _Lz0
 Loss rate in plateau region.
 
real _T1
 Temperature where plateau region begins.
 
real _T2
 Temperature where plateau region ends.
 
real _m1
 Low temperature Lz growth rate.
 
real _m2
 High temperature Lz growth rate (negative for negative growth rate).
 
real _tau_z
 Impurity confinement time.
 
real _ntau_roll
 Value of \(n_z * \tau_z\) where reduction factor \(f_{cor}\) starts.
 
real _c_ntau
 \(n\tau\) correction factor multiplier.
 
std::vector< int > _fluid_variable_idcs
 Vector of MHD fluid variable indicies.
 
- 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

◆ LineRadiation()

wxm::apps::mhd::radiation::LineRadiation::LineRadiation ( )

◆ ~LineRadiation()

wxm::apps::mhd::radiation::LineRadiation::~LineRadiation ( )
override

Member Function Documentation

◆ getInputVariableIndexes()

const std::vector< int > & wxm::apps::mhd::radiation::LineRadiation::getInputVariableIndexes ( int  flag) const
inlineoverridevirtual

Reimplemented from wxm::app_base.

◆ getOutputVariableIndexes()

const std::vector< int > & wxm::apps::mhd::radiation::LineRadiation::getOutputVariableIndexes ( int  flag) const
inlineoverridevirtual

Reimplemented from wxm::app_base.

◆ setup()

void wxm::apps::mhd::radiation::LineRadiation::setup ( const WxCryptSet wxc)
overridevirtual

Reimplemented from WmApplication.

◆ source()

real wxm::apps::mhd::radiation::LineRadiation::source ( const real q,
const real aux,
const elementGeometry_t pEG,
real source 
) const
overridevirtual

Reimplemented from WmApplication.

Member Data Documentation

◆ _Ai

real wxm::apps::mhd::radiation::LineRadiation::_Ai
protected

Ion mass factor.

Default: 1.

◆ _c_ntau

real wxm::apps::mhd::radiation::LineRadiation::_c_ntau
protected

\(n\tau\) correction factor multiplier.

◆ _fluid_variable_idcs

std::vector<int> wxm::apps::mhd::radiation::LineRadiation::_fluid_variable_idcs
protected

Vector of MHD fluid variable indicies.

Len 8.

◆ _gas_gamma

real wxm::apps::mhd::radiation::LineRadiation::_gas_gamma
protected

Ratio of specific heats.

◆ _imp_frac

real wxm::apps::mhd::radiation::LineRadiation::_imp_frac
protected

Impurity fraction of ions nz/ni.

◆ _Lz0

real wxm::apps::mhd::radiation::LineRadiation::_Lz0
protected

Loss rate in plateau region.

◆ _m1

real wxm::apps::mhd::radiation::LineRadiation::_m1
protected

Low temperature Lz growth rate.

Default: 4.

◆ _m2

real wxm::apps::mhd::radiation::LineRadiation::_m2
protected

High temperature Lz growth rate (negative for negative growth rate).

Default: -1.

◆ _ntau_roll

real wxm::apps::mhd::radiation::LineRadiation::_ntau_roll
protected

Value of \(n_z * \tau_z\) where reduction factor \(f_{cor}\) starts.


◆ _T1

real wxm::apps::mhd::radiation::LineRadiation::_T1
protected

Temperature where plateau region begins.

◆ _T2

real wxm::apps::mhd::radiation::LineRadiation::_T2
protected

Temperature where plateau region ends.

◆ _tau_z

real wxm::apps::mhd::radiation::LineRadiation::_tau_z
protected

Impurity confinement time.

◆ _Zi

real wxm::apps::mhd::radiation::LineRadiation::_Zi
protected

Average charge state.

Default: 1.


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