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

Class used to implement blackbody radiative cooling de/dt = - C n T^4 This can be related to a volumetric cooling rate defined in Mikellides MRNAS2011 de/dt = - a c rho chi_p T^4 Here: a = Stefan's constant, a = 4 sigma / c = 7.565767E-16 [J m^-3 K^-4] / kB^4 where kB = 1.380649E-23 J K^-1 to express a in units of [m^-3 J^-3] c = speed of light [m s^-1] rho = mass density [kg m^-3] chi_p = mean Planck opacity [m^2 kg^-1] such that photon mean-free-path is 1/chi_p T = temperature in [J] This gives units of [W m^-3] for de/dt Equating this formulation of de/dt = - C n T^4 for a chosen C C = a c rho chi_p / n * chosen_factor [J^-3 s^-1] This C constant is passed into this class and should be normalized (multiplied by T0_J^3 * tau) More...

#include <blackbody.h>

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

Detailed Description

Class used to implement blackbody radiative cooling de/dt = - C n T^4 This can be related to a volumetric cooling rate defined in Mikellides MRNAS2011 de/dt = - a c rho chi_p T^4 Here: a = Stefan's constant, a = 4 sigma / c = 7.565767E-16 [J m^-3 K^-4] / kB^4 where kB = 1.380649E-23 J K^-1 to express a in units of [m^-3 J^-3] c = speed of light [m s^-1] rho = mass density [kg m^-3] chi_p = mean Planck opacity [m^2 kg^-1] such that photon mean-free-path is 1/chi_p T = temperature in [J] This gives units of [W m^-3] for de/dt Equating this formulation of de/dt = - C n T^4 for a chosen C C = a c rho chi_p / n * chosen_factor [J^-3 s^-1] This C constant is passed into this class and should be normalized (multiplied by T0_J^3 * tau)

One can also interpret C in terms of an inverse Boltzmann number where 1/B0 = eps_B * sigma * T_B^3 / (rho_B * cp_B * V_B) where eps_B, T_B, rho_B, cp_B and V_B are some Boltzmann reference surface emissivity, temperature, density, specific heat constant a pressure, and velocity. Then C = 1/B0 / (T0_J^3 / tau).

Public Member Functions

 BlackBody ()
 
 ~BlackBody () 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 _constant
 Black body radiation constant, \(C = a c \rho \chi_p / n * \) chosen_factor [J^-3 s^-1].
 
real _gas_gamma
 Ratio of specific heats.
 
real _Ai
 Proton normalized ion mass.
 
real _Zi
 Ion charge.
 
real _min_density
 Normalized minimum mass density.
 
real _min_pressure
 Normalized minimum pressure density.
 
std::vector< int > _fluid_variable_idcs
 
- 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

◆ BlackBody()

wxm::apps::mhd::radiation::BlackBody::BlackBody ( )

◆ ~BlackBody()

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

Member Function Documentation

◆ getInputVariableIndexes()

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

Reimplemented from wxm::app_base.

◆ getOutputVariableIndexes()

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

Reimplemented from wxm::app_base.

◆ setup()

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

Reimplemented from WmApplication.

◆ source()

real wxm::apps::mhd::radiation::BlackBody::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::BlackBody::_Ai
protected

Proton normalized ion mass.

◆ _constant

real wxm::apps::mhd::radiation::BlackBody::_constant
protected

Black body radiation constant, \(C = a c \rho \chi_p / n * \) chosen_factor [J^-3 s^-1].

◆ _fluid_variable_idcs

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

◆ _gas_gamma

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

Ratio of specific heats.

◆ _min_density

real wxm::apps::mhd::radiation::BlackBody::_min_density
protected

Normalized minimum mass density.

◆ _min_pressure

real wxm::apps::mhd::radiation::BlackBody::_min_pressure
protected

Normalized minimum pressure density.

◆ _Zi

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

Ion charge.


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