chombo-discharge
Public Member Functions | Protected Attributes | List of all members
ItoSpecies Class Reference

Class that acts as user interface for parsing initial data and mobility/diffusion kernels into ItoSolver. More...

#include <CD_ItoSpecies.H>

Inheritance diagram for ItoSpecies:
Inheritance graph
[legend]

Public Member Functions

 ItoSpecies ()
 Default constructor, but user should set the name, charge/mobility/diffusivity etc.
 
 ItoSpecies (const std::string a_name, const int a_chargeNumber, const bool a_mobile, const bool a_diffusive)
 Full constructor. More...
 
virtual ~ItoSpecies ()
 Destructor (does nothing):
 
std::string getName () const
 Return name. More...
 
int getChargeNumber () const
 Return charge. More...
 
bool isDiffusive () const
 Return diffusive or not.
 
bool isMobile () const
 Mobile ItoSpecies or not.
 
virtual Real mobility (const Real a_energy) const
 Compute the mobility as a function of energy. More...
 
virtual Real diffusion (const Real a_energy) const
 Compute the diffusion coefficient. More...
 
List< ItoParticle > & getInitialParticles ()
 Get initial particles – this is called by ItoSolver when filling the solver with initial particles. More...
 
const List< ItoParticle > & getInitialParticles () const
 Get initial particles – this is called by ItoSolver when filling the solver with initial particles. More...
 

Protected Attributes

std::string m_name
 Ito_Species name.
 
int m_chargeNumber
 Charge.
 
bool m_isDiffusive
 Diffusive ItoSpecies or not.
 
bool m_isMobile
 Mobile ItoSpecies or not.
 
List< ItoParticlem_initialParticles
 Initial particles.
 

Detailed Description

Class that acts as user interface for parsing initial data and mobility/diffusion kernels into ItoSolver.

This class is used for passing initial data and information into an ItoSolver. This class is required because the ItoSolver may not know about whether or not it will use advect/diffusion, and it is also does not know about initial conditions. All of that is supplied by this class.

Constructor & Destructor Documentation

◆ ItoSpecies()

ItoSpecies::ItoSpecies ( const std::string  a_name,
const int  a_chargeNumber,
const bool  a_mobile,
const bool  a_diffusive 
)

Full constructor.

Parameters
[in]a_nameSpecies name
[in]a_chargeNumberCharge number
[in]a_mobileMobile species or not
[in]a_diffusiveDiffusive species or not

Member Function Documentation

◆ diffusion()

Real ItoSpecies::diffusion ( const Real  a_energy) const
virtual

Compute the diffusion coefficient.

This is mostly used for the LEA-type models where the particle diffusivity has a parametric dependence on the energy.

Parameters
[in]a_energyParticle energy
Note
Default implementation returns 0.0

◆ getChargeNumber()

int ItoSpecies::getChargeNumber ( ) const

Return charge.

Returns
Returns m_chargeNumber

◆ getInitialParticles() [1/2]

List< ItoParticle > & ItoSpecies::getInitialParticles ( )

Get initial particles – this is called by ItoSolver when filling the solver with initial particles.

Returns
Returns m_initialParticles

◆ getInitialParticles() [2/2]

const List< ItoParticle > & ItoSpecies::getInitialParticles ( ) const

Get initial particles – this is called by ItoSolver when filling the solver with initial particles.

Returns
Returns m_initialParticles

◆ getName()

std::string ItoSpecies::getName ( ) const

Return name.

Returns
Returns m_name

◆ mobility()

Real ItoSpecies::mobility ( const Real  a_energy) const
virtual

Compute the mobility as a function of energy.

This is mostly used for the LEA-type models where the particle mobility has a parametric dependence on the energy.

Parameters
[in]a_energyParticle energy
Note
Default implementation returns 0.0

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