WARPXM v1.10.0
Loading...
Searching...
No Matches
wxm::apps::maxwell::DensityDiffusionSource Class Reference

Maxwell current source associated with density diffusion, to be used in combination with /apps/5-moment/density_diffusion_flux.h/cc, leading to a current source consistent with the fluxes in the ion and electron continuity equations. More...

#include <density_diffusion_source.h>

Inheritance diagram for wxm::apps::maxwell::DensityDiffusionSource:
WmApplication wxm::app_base

Detailed Description

Maxwell current source associated with density diffusion, to be used in combination with /apps/5-moment/density_diffusion_flux.h/cc, leading to a current source consistent with the fluxes in the ion and electron continuity equations.

In species continuity equations, density diffusion flux is Gam_Da = -D grad(rho_a)

In Ampere's Law, the usual current source term is S_a = - omega_p_tau^2 (del_p / L) Z_a rho_a u_a / A_a.

Here, we account for the additional source associated with diffusive current for species a, S_Da = - omega_p_tau^2 (del_p / L) Z_a Gam_Da / A_a

For warpy constructor see warpy.apps.maxwell.maxwell.density_diffusion_source

Public Member Functions

 DensityDiffusionSource ()
 
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

real _charge
 
real _mass
 
real _omega_p_tau
 
real _skin_depth_norm
 
real _factor
 
real _rel_permittivity
 
std::vector< real_D_params
 
std::vector< int > _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

◆ DensityDiffusionSource()

wxm::apps::maxwell::DensityDiffusionSource::DensityDiffusionSource ( )

Member Function Documentation

◆ getAuxiliaryVariableIndexes()

const std::vector< int > & wxm::apps::maxwell::DensityDiffusionSource::getAuxiliaryVariableIndexes ( int  flag) const
inlineoverridevirtual

Reimplemented from WmApplication.

◆ getInputVariableIndexes()

const std::vector< int > & wxm::apps::maxwell::DensityDiffusionSource::getInputVariableIndexes ( int  flag) const
inlineoverridevirtual

Reimplemented from wxm::app_base.

◆ getOutputVariableIndexes()

const std::vector< int > & wxm::apps::maxwell::DensityDiffusionSource::getOutputVariableIndexes ( int  flag) const
inlineoverridevirtual

Reimplemented from wxm::app_base.

◆ setup()

void wxm::apps::maxwell::DensityDiffusionSource::setup ( const WxCryptSet wxc)
overridevirtual

Reimplemented from WmApplication.

◆ source()

real wxm::apps::maxwell::DensityDiffusionSource::source ( const real q,
const real aux,
const elementGeometry_t pEG,
real source 
) const
overridevirtual

Reimplemented from WmApplication.

Member Data Documentation

◆ _aux_variables

std::vector<int> wxm::apps::maxwell::DensityDiffusionSource::_aux_variables
protected

◆ _charge

real wxm::apps::maxwell::DensityDiffusionSource::_charge
protected

◆ _D_params

std::vector<real> wxm::apps::maxwell::DensityDiffusionSource::_D_params
protected

◆ _factor

real wxm::apps::maxwell::DensityDiffusionSource::_factor
protected

◆ _mass

real wxm::apps::maxwell::DensityDiffusionSource::_mass
protected

◆ _omega_p_tau

real wxm::apps::maxwell::DensityDiffusionSource::_omega_p_tau
protected

◆ _rel_permittivity

real wxm::apps::maxwell::DensityDiffusionSource::_rel_permittivity
protected

◆ _skin_depth_norm

real wxm::apps::maxwell::DensityDiffusionSource::_skin_depth_norm
protected

◆ _variables

std::vector<int> wxm::apps::maxwell::DensityDiffusionSource::_variables
protected

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