chombo-discharge
Loading...
Searching...
No Matches
CD_ItoKMCCDRSpecies.H
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2021-2026 SINTEF Energy Research
3 *
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6
13#ifndef CD_ITOKMCCDRSPECIES_H
14#define CD_ITOKMCCDRSPECIES_H
15
16// Std includes
17#include <functional>
18
19// Our includes
20#include <CD_CdrSpecies.H>
21#include <CD_NamespaceHeader.H>
22
23namespace Physics {
24 namespace ItoKMC {
25
30 {
31 public:
38
47 const int a_chargeNumber,
48 const bool a_isMobile,
49 const bool a_isDiffusive)
50 {
51 m_name = a_name;
55
56 m_initialParticles.clear();
57
58 m_initialData = [&](const RealVect& a_pos, const Real a_time) -> Real {
59 return 0.0;
60 };
61 }
62
67 {}
68
75 virtual Real
76 initialData(const RealVect& a_pos, const Real a_time) const override final
77 {
78 return m_initialData(a_pos, a_time);
79 }
80
85 virtual void
90
91 protected:
96 };
97
98 } // namespace ItoKMC
99} // namespace Physics
100
101#include <CD_NamespaceFooter.H>
102
103#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:31
bool m_isMobile
Mobile CdrSpecies or not.
Definition CD_CdrSpecies.H:122
List< PointParticle > m_initialParticles
Initial particles.
Definition CD_CdrSpecies.H:127
bool m_isDiffusive
Diffusive CdrSpecies or not.
Definition CD_CdrSpecies.H:117
int m_chargeNumber
Charge.
Definition CD_CdrSpecies.H:112
std::string m_name
Cdr_Species name.
Definition CD_CdrSpecies.H:107
Simple CdrSpecies class for usage with ItoKMC.
Definition CD_ItoKMCCDRSpecies.H:30
virtual void setInitialData(const FunctionXt &a_initialData)
Set the initial data function for this species.
Definition CD_ItoKMCCDRSpecies.H:86
FunctionXt m_initialData
Initial data function.
Definition CD_ItoKMCCDRSpecies.H:95
ItoKMCCDRSpecies(const std::string &a_name, const int a_chargeNumber, const bool a_isMobile, const bool a_isDiffusive)
Full constructor.
Definition CD_ItoKMCCDRSpecies.H:46
std::function< Real(const RealVect a_position, const Real a_time)> FunctionXt
Function alias for e.g. initial data.
Definition CD_ItoKMCCDRSpecies.H:37
virtual Real initialData(const RealVect &a_pos, const Real a_time) const override final
Returns initial data for this species.
Definition CD_ItoKMCCDRSpecies.H:76
virtual ~ItoKMCCDRSpecies() noexcept
Destructor. Does nothing.
Definition CD_ItoKMCCDRSpecies.H:66
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:26
Namespace containing physics models for use with chombo-discharge.
Definition CD_AdvectionDiffusion.H:16