chombo-discharge
Loading...
Searching...
No Matches
CD_ItoKMCCDRSpecies.H
1/* chombo-discharge
2 * Copyright © 2023 SINTEF Energy Research.
3 * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4 */
5
12#ifndef CD_ItoKMCCDRSpecies_H
13#define CD_ItoKMCCDRSpecies_H
14
15// Std includes
16#include <functional>
17
18// Our includes
19#include <CD_CdrSpecies.H>
20#include <CD_NamespaceHeader.H>
21
22namespace Physics {
23 namespace ItoKMC {
24
29 {
30 public:
37
46 const int a_chargeNumber,
47 const bool a_isMobile,
48 const bool a_isDiffusive)
49 {
50 m_name = a_name;
54
55 m_initialParticles.clear();
56
57 m_initialData = [&](const RealVect a_pos, const Real a_time) -> Real {
58 return 0.0;
59 };
60 }
61
66 {}
67
73 virtual Real
74 initialData(const RealVect a_pos, const Real a_time) const override final
75 {
76 return m_initialData(a_pos, a_time);
77 }
78
82 virtual void
87
88 protected:
93 };
94
95 } // namespace ItoKMC
96} // namespace Physics
97
98#include <CD_NamespaceFooter.H>
99
100#endif
Declaration of a class that passes information into CdrSolver (e.g., initial conditions).
Abstract class that describes the scalar quantity that is advected in CdrSolver.
Definition CD_CdrSpecies.H:30
bool m_isMobile
Mobile CdrSpecies or not.
Definition CD_CdrSpecies.H:114
List< PointParticle > m_initialParticles
Initial particles.
Definition CD_CdrSpecies.H:119
bool m_isDiffusive
Diffusive CdrSpecies or not.
Definition CD_CdrSpecies.H:109
int m_chargeNumber
Charge.
Definition CD_CdrSpecies.H:104
std::string m_name
Cdr_Species name.
Definition CD_CdrSpecies.H:99
Simple CdrSpecies class for usage with ItoKMC.
Definition CD_ItoKMCCDRSpecies.H:29
ItoKMCCDRSpecies(const std::string a_name, const int a_chargeNumber, const bool a_isMobile, const bool a_isDiffusive)
Full constructor.
Definition CD_ItoKMCCDRSpecies.H:45
virtual void setInitialData(const FunctionXt &a_initialData)
Set the initial data function for this species.
Definition CD_ItoKMCCDRSpecies.H:83
FunctionXt m_initialData
Initial data function.
Definition CD_ItoKMCCDRSpecies.H:92
std::function< Real(const RealVect a_position, const Real a_time)> FunctionXt
Function alias for e.g. initial data.
Definition CD_ItoKMCCDRSpecies.H:36
virtual Real initialData(const RealVect a_pos, const Real a_time) const override final
Returns initial data for this species.
Definition CD_ItoKMCCDRSpecies.H:74
virtual ~ItoKMCCDRSpecies() noexcept
Destructor. Does nothing.
Definition CD_ItoKMCCDRSpecies.H:65
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:25
Name containing various physics models for running chombo-discharge code.
Definition CD_AdvectionDiffusion.H:15