Class that acts as user interface for parsing initial data and mobility/diffusion kernels into ItoSolver.
More...
#include <CD_ItoSpecies.H>
|
|
| 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.
|
| |
|
virtual | ~ItoSpecies () |
| | Destructor (does nothing):
|
| |
| std::string | getName () const |
| | Return name.
|
| |
| int | getChargeNumber () const |
| | Return charge.
|
| |
| const std::function< Real(const RealVect &x, const Real &t)> & | getInitialDensity () const |
| | Return the initial density.
|
| |
| 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.
|
| |
| virtual Real | diffusion (const Real a_energy) const |
| | Compute the diffusion coefficient.
|
| |
| virtual void | setInitialDensity (const std::function< Real(const RealVect &x, const Real &t)> &a_initialDensity) |
| | Set the initial species density.
|
| |
| ParticleSoA< ItoParticle > & | getInitialParticles () |
| | Get initial particles – this is called by ItoSolver when filling the solver with initial particles.
|
| |
| const ParticleSoA< ItoParticle > & | getInitialParticles () const |
| | Get initial particles – this is called by ItoSolver when filling the solver with initial particles.
|
| |
|
|
std::string | m_name |
| | Ito_Species name.
|
| |
|
int | m_chargeNumber |
| | Charge.
|
| |
|
int | m_maxInitialParticlesPerCell |
| | Maximum number of initial numerical particles per cell.
|
| |
|
bool | m_isDiffusive |
| | Diffusive ItoSpecies or not.
|
| |
|
bool | m_isMobile |
| | Mobile ItoSpecies or not.
|
| |
|
ParticleSoA< ItoParticle > | m_initialParticles |
| | Initial particles.
|
| |
|
std::function< Real(const RealVect &x, const Real &t)> | m_initialDensity |
| | Initial density, in case the user wants to generate particles from a density distribution.
|
| |
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.
◆ 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_name | Species name |
| [in] | a_chargeNumber | Charge number |
| [in] | a_mobile | Mobile species or not |
| [in] | a_diffusive | Diffusive species or not |
◆ 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_energy | Particle energy |
- Note
- Default implementation returns 0.0
- Returns
- Return value
◆ getChargeNumber()
| int ItoSpecies::getChargeNumber |
( |
| ) |
const |
Return charge.
- Returns
- Returns m_chargeNumber
◆ getInitialDensity()
| const std::function< Real(const RealVect &x, const Real &t)> & ItoSpecies::getInitialDensity |
( |
| ) |
const |
Return the initial density.
- Returns
- Returns m_initialDensity
◆ getInitialParticles() [1/2]
Get initial particles – this is called by ItoSolver when filling the solver with initial particles.
- Returns
- Returns m_initialParticles
◆ getInitialParticles() [2/2]
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
◆ isDiffusive()
| bool ItoSpecies::isDiffusive |
( |
| ) |
const |
Return diffusive or not.
- Returns
- True if diffusive, false otherwise
◆ isMobile()
| bool ItoSpecies::isMobile |
( |
| ) |
const |
Mobile ItoSpecies or not.
- Returns
- True if mobile, false otherwise
◆ 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_energy | Particle energy |
- Note
- Default implementation returns 0.0
- Returns
- Return value
◆ setInitialDensity()
| void ItoSpecies::setInitialDensity |
( |
const std::function< Real(const RealVect &x, const Real &t)> & |
a_initialDensity | ) |
|
|
virtual |
Set the initial species density.
- Parameters
-
| [in] | a_initialDensity | Initial density. |
The documentation for this class was generated from the following files: