chombo-discharge
CD_ItoSpecies.H
Go to the documentation of this file.
1 /* chombo-discharge
2  * Copyright © 2021 SINTEF Energy Research.
3  * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4  */
5 
12 #ifndef CD_ItoSpecies_H
13 #define CD_ItoSpecies_H
14 
15 // Chombo includes
16 #include <List.H>
17 
18 // Our includes
19 #include <CD_ItoParticle.H>
20 #include <CD_NamespaceHeader.H>
21 
28 {
29 public:
33  ItoSpecies();
34 
42  ItoSpecies(const std::string a_name, const int a_chargeNumber, const bool a_mobile, const bool a_diffusive);
43 
47  virtual ~ItoSpecies();
48 
53  std::string
54  getName() const;
55 
60  int
61  getChargeNumber() const;
62 
66  bool
67  isDiffusive() const;
68 
72  bool
73  isMobile() const;
74 
81  virtual Real
82  mobility(const Real a_energy) const;
83 
90  virtual Real
91  diffusion(const Real a_energy) const;
92 
97  List<ItoParticle>&
99 
104  const List<ItoParticle>&
105  getInitialParticles() const;
106 
107 protected:
111  std::string m_name;
112 
117 
122 
127 
131  List<ItoParticle> m_initialParticles;
132 };
133 
134 #include <CD_NamespaceFooter.H>
135 
136 #endif
Declaration of a particle class for Ito diffusion.
Class that acts as user interface for parsing initial data and mobility/diffusion kernels into ItoSol...
Definition: CD_ItoSpecies.H:28
ItoSpecies()
Default constructor, but user should set the name, charge/mobility/diffusivity etc.
Definition: CD_ItoSpecies.cpp:16
bool isDiffusive() const
Return diffusive or not.
Definition: CD_ItoSpecies.cpp:48
int m_chargeNumber
Charge.
Definition: CD_ItoSpecies.H:116
std::string getName() const
Return name.
Definition: CD_ItoSpecies.cpp:36
bool m_isDiffusive
Diffusive ItoSpecies or not.
Definition: CD_ItoSpecies.H:121
List< ItoParticle > m_initialParticles
Initial particles.
Definition: CD_ItoSpecies.H:131
bool isMobile() const
Mobile ItoSpecies or not.
Definition: CD_ItoSpecies.cpp:54
virtual Real mobility(const Real a_energy) const
Compute the mobility as a function of energy.
Definition: CD_ItoSpecies.cpp:72
std::string m_name
Ito_Species name.
Definition: CD_ItoSpecies.H:111
bool m_isMobile
Mobile ItoSpecies or not.
Definition: CD_ItoSpecies.H:126
virtual ~ItoSpecies()
Destructor (does nothing):
Definition: CD_ItoSpecies.cpp:32
int getChargeNumber() const
Return charge.
Definition: CD_ItoSpecies.cpp:42
List< ItoParticle > & getInitialParticles()
Get initial particles – this is called by ItoSolver when filling the solver with initial particles.
Definition: CD_ItoSpecies.cpp:60
virtual Real diffusion(const Real a_energy) const
Compute the diffusion coefficient.
Definition: CD_ItoSpecies.cpp:78