chombo-discharge
CD_AdvectionDiffusionSpecies.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_AdvectionDiffusionSpecies_H
13 #define CD_AdvectionDiffusionSpecies_H
14 
15 // Our includes
16 #include <CD_CdrSpecies.H>
17 #include <CD_NamespaceHeader.H>
18 
19 namespace Physics {
20  namespace AdvectionDiffusion {
21 
27  {
28  public:
35  AdvectionDiffusionSpecies(const std::function<Real(const RealVect& a_pos)>& a_initialData,
36  const bool a_mobile,
37  const bool a_diffusive)
38  {
39  m_initialData = a_initialData;
40  m_isMobile = a_mobile;
41  m_isDiffusive = a_diffusive;
42  m_chargeNumber = 0;
43  m_name = "AdvectionDiffusionSpecies";
44  }
45 
50  {}
51 
58  Real
59  initialData(const RealVect a_pos, const Real a_time) const override
60  {
61  return m_initialData(a_pos);
62  }
63 
64  protected:
65  std::function<Real(const RealVect& a_pos)> m_initialData;
66  };
67  } // namespace AdvectionDiffusion
68 } // namespace Physics
69 
70 #include <CD_NamespaceFooter.H>
71 
72 #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
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
Advection and diffused species for AdvectionDiffusionStepper.
Definition: CD_AdvectionDiffusionSpecies.H:27
Real initialData(const RealVect a_pos, const Real a_time) const override
Initial data.
Definition: CD_AdvectionDiffusionSpecies.H:59
AdvectionDiffusionSpecies(const std::function< Real(const RealVect &a_pos)> &a_initialData, const bool a_mobile, const bool a_diffusive)
Constructor.
Definition: CD_AdvectionDiffusionSpecies.H:35
virtual ~AdvectionDiffusionSpecies()
Destructor.
Definition: CD_AdvectionDiffusionSpecies.H:49
Name containing various physics models for running chombo-discharge code.
Definition: CD_AdvectionDiffusion.H:15