WARPXM v1.10.0
Loading...
Searching...
No Matches
wxm::apps::rmhd::DensityDiffusionCylSource Class Reference

Cylindrical source for density diffusion in the MHD model. More...

#include <density_diffusion_cyl_source.h>

Inheritance diagram for wxm::apps::rmhd::DensityDiffusionCylSource:
WmApplication wxm::app_base

Detailed Description

Cylindrical source for density diffusion in the MHD model.

Refer to DensityDiffusionFlux for details on the calculation of the diffusion coefficient.

Density diffusion in cartesian coordinates

\[ \frac{\partial \rho}{\partial t} + \nabla \cdot (-D \nabla \rho) = 0 \]

becomes in cylindrical coordinates

\[ \frac{\partial \rho}{ \partial t} + \nabla_{cart} (-D \nabla \rho) = D \nabla_r(\rho) / r \]

where \(\nabla_{cart} \cdot\) is the cartesian divergence operator and \(\nabla_r \) is the radial gradient operator.

See also
Warpy constructor: warpy.apps.mhd.rmhd.rmhd.density_diffusion_cyl_source_mhd

Public Types

enum  GradientMethod { LDG }
 Available gradient methods. More...
 
enum  DDiffType { BASIC , NIMROD }
 Available density diffusion types. More...
 
- Public Types inherited from WmApplication
typedef Application_Variable WmApplication_Variable
 
typedef std::map< std::string, std::string > replaceMap_t
 

Public Member Functions

 DensityDiffusionCylSource ()
 
 ~DensityDiffusionCylSource () override
 
void setup (const WxCryptSet &wxc) override
 
const std::vector< int > & getInputVariableIndexes (int flag) const override
 Grab input variable indices.
 
const std::vector< int > & getAuxiliaryVariableIndexes (int flag) const override
 Grab auxiliary variable indices.
 
const std::vector< int > & getOutputVariableIndexes (int flag) const override
 Grab output variable indices.
 
real source (const real *q, const real *aux, const elementGeometry_t *pEG, real *source) const override
 Redefinition of the source function.
 
- 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

GradientMethod _gradient_method
 Gradient method chosen for app.
 
DDiffType _ddiff_type
 Density diffusion type.
 
std::vector< int > _input_variables
 Vector of MHD fluid variable indices.
 
std::vector< int > _aux_variables
 Vector of MHD fluid gradient variable indices.
 
real _ddiff
 Density diffusion coefficient.
 
real _ddiff_limit
 Density diffusion coefficient limit for Nimrod method.
 
int _ir
 Index of radial dimension.
 
std::unique_ptr< WmApplication_floor_app
 Pointer to floor subapplications.
 
bool _has_floor_app
 Boolean for existance of floor sub app.
 
- Protected Attributes inherited from WmApplication
std::string _app_name
 
WxLogStream _debStrm
 
std::vector< int > _allowedFlags
 
std::vector< std::string > _onBoundaries
 

Additional Inherited Members

- 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
 

Member Enumeration Documentation

◆ DDiffType

Available density diffusion types.

Enumerator
BASIC 
NIMROD 

◆ GradientMethod

Available gradient methods.

Enumerator
LDG 

Constructor & Destructor Documentation

◆ DensityDiffusionCylSource()

wxm::apps::rmhd::DensityDiffusionCylSource::DensityDiffusionCylSource ( )

◆ ~DensityDiffusionCylSource()

wxm::apps::rmhd::DensityDiffusionCylSource::~DensityDiffusionCylSource ( )
override

Member Function Documentation

◆ getAuxiliaryVariableIndexes()

const std::vector< int > & wxm::apps::rmhd::DensityDiffusionCylSource::getAuxiliaryVariableIndexes ( int  flag) const
inlineoverridevirtual

Grab auxiliary variable indices.

Parameters
intflag - usually flag is given like flux type but usually not checked
Returns
vector of output variable indices

Reimplemented from WmApplication.

◆ getInputVariableIndexes()

const std::vector< int > & wxm::apps::rmhd::DensityDiffusionCylSource::getInputVariableIndexes ( int  flag) const
inlineoverridevirtual

Grab input variable indices.

Parameters
intflag - usually flag is given like flux type but usually not checked
Returns
vector of input variable indices

Reimplemented from wxm::app_base.

◆ getOutputVariableIndexes()

const std::vector< int > & wxm::apps::rmhd::DensityDiffusionCylSource::getOutputVariableIndexes ( int  flag) const
inlineoverridevirtual

Grab output variable indices.

Parameters
intflag - usually flag is given like flux type but usually not checked
Returns
vector of output variable indices

Reimplemented from wxm::app_base.

◆ setup()

void wxm::apps::rmhd::DensityDiffusionCylSource::setup ( const WxCryptSet wxc)
overridevirtual

Reimplemented from WmApplication.

◆ source()

real wxm::apps::rmhd::DensityDiffusionCylSource::source ( const real q,
const real aux,
const elementGeometry_t pEG,
real source 
) const
overridevirtual

Redefinition of the source function.

Parameters
constq - input variable
constaux - auxiliary variable
constpSV - element geometry information
constsource - cylindrical source
result- suggested dt

Reimplemented from WmApplication.

Member Data Documentation

◆ _aux_variables

std::vector<int> wxm::apps::rmhd::DensityDiffusionCylSource::_aux_variables
protected

Vector of MHD fluid gradient variable indices.

Len 24.

◆ _ddiff

real wxm::apps::rmhd::DensityDiffusionCylSource::_ddiff
protected

Density diffusion coefficient.

◆ _ddiff_limit

real wxm::apps::rmhd::DensityDiffusionCylSource::_ddiff_limit
protected

Density diffusion coefficient limit for Nimrod method.

◆ _ddiff_type

DDiffType wxm::apps::rmhd::DensityDiffusionCylSource::_ddiff_type
protected

Density diffusion type.

See class description.

◆ _floor_app

std::unique_ptr<WmApplication> wxm::apps::rmhd::DensityDiffusionCylSource::_floor_app
protected

Pointer to floor subapplications.

◆ _gradient_method

GradientMethod wxm::apps::rmhd::DensityDiffusionCylSource::_gradient_method
protected

Gradient method chosen for app.

◆ _has_floor_app

bool wxm::apps::rmhd::DensityDiffusionCylSource::_has_floor_app
protected

Boolean for existance of floor sub app.

◆ _input_variables

std::vector<int> wxm::apps::rmhd::DensityDiffusionCylSource::_input_variables
protected

Vector of MHD fluid variable indices.

Len 8.

◆ _ir

int wxm::apps::rmhd::DensityDiffusionCylSource::_ir
protected

Index of radial dimension.


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