WARPXM v1.10.0
Loading...
Searching...
No Matches
wxm::apps::mhd_two_temperature Namespace Reference

Namespaces

namespace  bc
 
namespace  hallmhd
 
namespace  imhd
 
namespace  limiters
 
namespace  radiation
 
namespace  resistive_mhd
 
namespace  viscousmhd
 

Classes

class  AppSetupHelper
 Helper class that automates common setup tasks for mhd physics applications. More...
 

Functions

real getRhoFloored (const real *q, const real rho_min=std::numeric_limits< real >::epsilon())
 Get the floored mass density.
 
real getIonNumberDensity (const real *q, const real Ai, const real rho_min=std::numeric_limits< real >::epsilon())
 Get the floored ion number density,.
 
real getIonPressureFloored (const real *q, const real gas_gamma, const real rho_min=std::numeric_limits< real >::epsilon(), const real press_min=std::numeric_limits< real >::epsilon())
 Get the ion pressure from MHD variables using floors for pressure and density.
 
real getElectronPressureFloored (const real *q, const real gas_gamma, const real rho_min=std::numeric_limits< real >::epsilon(), const real press_min=std::numeric_limits< real >::epsilon())
 Get the electron pressure from MHD variables using floors for pressure and density.
 
real getFluidPressure (const real press_i, const real press_e)
 Get the the total fluid pressure from ion and electron pressures.
 
void getGradientElectronPressure (const real *grad_q, const real gas_gamma, real *grad_pe)
 Get the gradient of electron pressure from MHD gradient variables.
 
void getGradientIonPressure (const real *q, const real *grad_q, const real gas_gamma, real *grad_press_i, const real rho_min=std::numeric_limits< real >::epsilon())
 Get the gradient of ion pressure from MHD gradient variables.
 
real getElectronTemperatureFloored (const real *q, const real gas_gamma, const real Ai, const real Zi, const real rho_min, const real press_min)
 Get the electron temperature from MHD gradient variables.
 
real getIonTemperatureFloored (const real *q, const real gas_gamma, const real Ai, const real rho_min, const real press_min)
 Get the ion temperature from MHD gradient variables.
 
void getGradientIonTemperature (const real *q, const real *grad_q, const real gas_gamma, const real Ai, real *grad_Ti, const real rho_min, const real press_min)
 Get the gradient of ion temperature from MHD gradient variables.
 
void getGradientElectronTemperature (const real *q, const real *grad_q, const real gas_gamma, const real Ai, const real Zi, real *grad_Te, const real rho_min, const real press_min)
 Get the gradient of electron temperature from MHD gradient variables.
 
real current_density_cart (const real skin_depth_norm, const real *grad_B[3], real *J)
 
real current_density_cyl (const real skin_depth_norm, const real r, const real *B, const real *grad_B[3], const int ir, const int ith, const int iz, real *J)
 

Function Documentation

◆ current_density_cart()

real wxm::apps::mhd_two_temperature::current_density_cart ( const real  skin_depth_norm,
const real grad_B[3],
real J 
)

◆ current_density_cyl()

real wxm::apps::mhd_two_temperature::current_density_cyl ( const real  skin_depth_norm,
const real  r,
const real B,
const real grad_B[3],
const int  ir,
const int  ith,
const int  iz,
real J 
)

◆ getElectronPressureFloored()

real wxm::apps::mhd_two_temperature::getElectronPressureFloored ( const real q,
const real  gas_gamma,
const real  rho_min = std::numeric_limits< real >::epsilon(),
const real  press_min = std::numeric_limits< real >::epsilon() 
)

Get the electron pressure from MHD variables using floors for pressure and density.

The floored pressure is given as

\[ p_{e} = \max(p_{e}, p_{min}), \]

where

\[ p_{e} = (\gamma - 1) e_{e} \]

Parameters
qThe raw MHD variables.
gas_gammaRatio of specific heats.
rho_minNormalized minimum mass density.
press_minNormalized minimum pressure.
Returns
Pressure calculated assuming pressure and density floors.

◆ getElectronTemperatureFloored()

real wxm::apps::mhd_two_temperature::getElectronTemperatureFloored ( const real q,
const real  gas_gamma,
const real  Ai,
const real  Zi,
const real  rho_min,
const real  press_min 
)

Get the electron temperature from MHD gradient variables.

The electron temperature is given as

\[ T_{e} = \frac{p_{e}}{Z_{i} n_{i}} \]

Parameters
grad_qThe raw MHD gradient variables.
gas_gammaRatio of specific heats.
AiNormalized ion mass.
ZiNormalized ion charge.
rho_minNormalized minimm mass density.
press_minNormalized minimum pressure.
Returns
T_e The electron temperature.

◆ getFluidPressure()

real wxm::apps::mhd_two_temperature::getFluidPressure ( const real  press_i,
const real  press_e 
)

Get the the total fluid pressure from ion and electron pressures.

The floored pressure is given as

\[ p = p_{i} + p_{e} \]

Parameters
press_iIon pressure
press_eElectron pressure
Returns
total fluid pressure

◆ getGradientElectronPressure()

void wxm::apps::mhd_two_temperature::getGradientElectronPressure ( const real grad_q,
const real  gas_gamma,
real grad_pe 
)

Get the gradient of electron pressure from MHD gradient variables.

The gradient of electron pressure is given as

\[ \nabla p_{e} = (\gamma - 1) \nabla e_{e} \]

Parameters
grad_qThe raw MHD gradient variables.
gas_gammaRatio of specific heats.
press_eThe vector gradient of electron pressure to be calculated.

◆ getGradientElectronTemperature()

void wxm::apps::mhd_two_temperature::getGradientElectronTemperature ( const real q,
const real grad_q,
const real  gas_gamma,
const real  Ai,
const real  Zi,
real grad_Te,
const real  rho_min,
const real  press_min 
)

Get the gradient of electron temperature from MHD gradient variables.

The gradient of electron temperature is given as

\[ \nabla T_{e} = \nabla \left[\left(\frac{p_{e}}{n_{e}}\right)\right] \]

Parameters
qThe raw MHD variables.
grad_qThe raw MHD gradient variables.
gas_gammaRatio of specific heats.
AiNormalized ion mass.
ZiNormalized ion charge.
grad_TeThe vector gradient of ion temperature to be calculated.
rho_minNormalized minimum mass density.
press_minNormalized minimum mass density.

◆ getGradientIonPressure()

void wxm::apps::mhd_two_temperature::getGradientIonPressure ( const real q,
const real grad_q,
const real  gas_gamma,
real grad_press_i,
const real  rho_min = std::numeric_limits< real >::epsilon() 
)

Get the gradient of ion pressure from MHD gradient variables.

The gradient of ion pressure is given as

\[ \nabla p_{i} = \nabla \left[\left(\gamma - 1\right)\left(e_{i} - \frac{1}{2}\frac{\left(\rho \boldsymbol{v}\right)^{2}}{\rho}\right)\right] \]

Parameters
qThe raw MHD variables.
grad_qThe raw MHD gradient variables.
gas_gammaRatio of specific heats.
press_iThe vector gradient of electron pressure to be calculated.
rho_minNormalized minimum mass density.

◆ getGradientIonTemperature()

void wxm::apps::mhd_two_temperature::getGradientIonTemperature ( const real q,
const real grad_q,
const real  gas_gamma,
const real  Ai,
real grad_Ti,
const real  rho_min,
const real  press_min 
)

Get the gradient of ion temperature from MHD gradient variables.

The gradient of ion temperature is given as

\[ \nabla T_{i} = \nabla \left[\left(\frac{p_{i}}{n_{i}}\right)\right] \]

Parameters
qThe raw MHD variables.
grad_qThe raw MHD gradient variables.
gas_gammaRatio of specific heats.
AiNormalized ion mass.
grad_TiThe vector gradient of ion temperature to be calculated.
rho_minNormalized minimum mass density.
press_minNormalized minimum mass density.

◆ getIonNumberDensity()

real wxm::apps::mhd_two_temperature::getIonNumberDensity ( const real q,
const real  Ai,
const real  rho_min = std::numeric_limits< real >::epsilon() 
)

Get the floored ion number density,.

The floored ion number density density is given as

\[ \rho_{fl} = \max(\rho / Ai, \rho_{min} / Ai), \]

Assumes \( \rho_{min} > 0 \).

Parameters
qThe raw MHD variables.
AiNormalized ion mass.
rho_minNormalized minimum mass density.
Returns
Floored mass density.

◆ getIonPressureFloored()

real wxm::apps::mhd_two_temperature::getIonPressureFloored ( const real q,
const real  gas_gamma,
const real  rho_min = std::numeric_limits< real >::epsilon(),
const real  press_min = std::numeric_limits< real >::epsilon() 
)

Get the ion pressure from MHD variables using floors for pressure and density.

The floored pressure is given as

\[ p_{i} = \max(p_{i}, p_{min}), \]

where

\[ p_{i} = (\gamma - 1) \left( e_{i} - \frac{1}{2} \max(\rho, \rho_{min}) v^2 \right) \]

Assumes \( \rho_{min}, \; p_{min} > 0 \).

Parameters
qThe raw MHD variables.
gas_gammaRatio of specific heats.
rho_minNormalized minimum mass density.
press_minNormalized minimum mass density.
Returns
Pressure calculated assuming pressure and density floors.

◆ getIonTemperatureFloored()

real wxm::apps::mhd_two_temperature::getIonTemperatureFloored ( const real q,
const real  gas_gamma,
const real  Ai,
const real  rho_min,
const real  press_min 
)

Get the ion temperature from MHD gradient variables.

The electron temperature is given as

\[ T_{i} = \frac{p_{i}}{n_{i}} \]

Parameters
grad_qThe raw MHD gradient variables.
gas_gammaRatio of specific heats.
AiNormalized ion mass.
rho_minNormalized minimm mass density.
press_minNormalized minimum pressure.
Returns
T_i The ion temperature.

◆ getRhoFloored()

real wxm::apps::mhd_two_temperature::getRhoFloored ( const real q,
const real  rho_min = std::numeric_limits< real >::epsilon() 
)

Get the floored mass density.

The floored mass density is given as

\[ \rho_{fl} = \max(\rho, \rho_{min}), \]

Assumes \( \rho_{min} > 0 \).

Parameters
qThe raw MHD variables.
rho_minNormalized minimum mass density.
Returns
Floored mass density.