chombo-discharge
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
Physics::AdvectionDiffusion::AdvectionDiffusionSpecies Class Reference

Concrete CdrSpecies implementation for the advection-diffusion test problem. More...

#include <CD_AdvectionDiffusionSpecies.H>

Inheritance diagram for Physics::AdvectionDiffusion::AdvectionDiffusionSpecies:
Inheritance graph
[legend]
Collaboration diagram for Physics::AdvectionDiffusion::AdvectionDiffusionSpecies:
Collaboration graph
[legend]

Public Member Functions

 AdvectionDiffusionSpecies (const std::function< Real(const RealVect &a_pos)> &a_initialData, const bool a_mobile, const bool a_diffusive)
 Full constructor.
 
 ~AdvectionDiffusionSpecies () override=default
 Destructor.
 
 AdvectionDiffusionSpecies (const AdvectionDiffusionSpecies &a_other)=default
 Copy constructor.
 
AdvectionDiffusionSpeciesoperator= (const AdvectionDiffusionSpecies &a_other)=default
 Copy assignment operator.
 
 AdvectionDiffusionSpecies (AdvectionDiffusionSpecies &&a_other)=default
 Move constructor.
 
AdvectionDiffusionSpeciesoperator= (AdvectionDiffusionSpecies &&a_other)=default
 Move assignment operator.
 
Real initialData (const RealVect &a_pos, const Real) const override
 Return the initial scalar concentration at a given position and time.
 
- Public Member Functions inherited from CdrSpecies
 CdrSpecies ()
 Weak constructor.
 
 CdrSpecies (const std::string &a_name, const int a_chargeNumber, const bool a_isMobile, const bool a_isDiffusive)
 Full constructor.
 
virtual ~CdrSpecies ()
 Destructor (does nothing)
 
virtual std::string getName () const
 Return name.
 
virtual int getChargeNumber () const
 Return charge.
 
virtual bool isDiffusive () const
 Diffusive species or not.
 
virtual bool isMobile () const
 Mobile species or not.
 
virtual const List< PointParticle > & getInitialParticles () const
 Get initial particles.
 
List< PointParticle > & getInitialParticles ()
 Get initial particles.
 

Protected Attributes

std::function< Real(const RealVect &a_pos)> m_initialData
 Functor encoding the initial concentration profile.
 
- Protected Attributes inherited from CdrSpecies
std::string m_name
 Cdr_Species name.
 
int m_chargeNumber
 Charge.
 
bool m_isDiffusive
 Diffusive CdrSpecies or not.
 
bool m_isMobile
 Mobile CdrSpecies or not.
 
List< PointParticlem_initialParticles
 Initial particles.
 

Detailed Description

Concrete CdrSpecies implementation for the advection-diffusion test problem.

This class defines a single passive scalar species for use with AdvectionDiffusionStepper. The initial data, mobility, and diffusivity are set at construction time. The species carries no net charge.

Constructor & Destructor Documentation

◆ AdvectionDiffusionSpecies() [1/3]

Physics::AdvectionDiffusion::AdvectionDiffusionSpecies::AdvectionDiffusionSpecies ( const std::function< Real(const RealVect &a_pos)> &  a_initialData,
const bool  a_mobile,
const bool  a_diffusive 
)
inline

Full constructor.

Parameters
[in]a_initialDataFunctor returning the initial scalar concentration at a given position.
[in]a_mobileIf true, the species is advected by the velocity field.
[in]a_diffusiveIf true, the species undergoes diffusion.

◆ AdvectionDiffusionSpecies() [2/3]

Physics::AdvectionDiffusion::AdvectionDiffusionSpecies::AdvectionDiffusionSpecies ( const AdvectionDiffusionSpecies a_other)
default

Copy constructor.

Parameters
[in]a_otherObject to copy.

◆ AdvectionDiffusionSpecies() [3/3]

Physics::AdvectionDiffusion::AdvectionDiffusionSpecies::AdvectionDiffusionSpecies ( AdvectionDiffusionSpecies &&  a_other)
default

Move constructor.

Parameters
[in,out]a_otherObject to move from.

Member Function Documentation

◆ initialData()

Real Physics::AdvectionDiffusion::AdvectionDiffusionSpecies::initialData ( const RealVect a_pos,
const Real   
) const
inlineoverridevirtual

Return the initial scalar concentration at a given position and time.

Parameters
[in]a_posPhysical position.
Returns
Initial concentration evaluated at a_pos.

Implements CdrSpecies.

◆ operator=() [1/2]

AdvectionDiffusionSpecies & Physics::AdvectionDiffusion::AdvectionDiffusionSpecies::operator= ( AdvectionDiffusionSpecies &&  a_other)
default

Move assignment operator.

Parameters
[in,out]a_otherObject to move from.
Returns
Reference to this object.

◆ operator=() [2/2]

AdvectionDiffusionSpecies & Physics::AdvectionDiffusion::AdvectionDiffusionSpecies::operator= ( const AdvectionDiffusionSpecies a_other)
default

Copy assignment operator.

Parameters
[in]a_otherObject to copy.
Returns
Reference to this object.

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