chombo-discharge
Loading...
Searching...
No Matches
CD_CdrSpecies.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_CDRSPECIES_H
14#define CD_CDRSPECIES_H
15
16// Chombo includes
17#include <List.H>
18#include <RealVect.H>
19
20// Our includes
21#include <CD_ParticleSoA.H>
22#include <CD_NamespaceHeader.H>
23
31{
32public:
36 CdrSpecies();
37
45 CdrSpecies(const std::string& a_name, const int a_chargeNumber, const bool a_isMobile, const bool a_isDiffusive);
46
50 virtual ~CdrSpecies();
51
58 virtual Real
59 initialData(const RealVect& a_pos, const Real a_time) const = 0;
60
65 virtual std::string
66 getName() const;
67
72 virtual int
73 getChargeNumber() const;
74
79 virtual bool
80 isDiffusive() const;
81
86 virtual bool
87 isMobile() const;
88
93 virtual const ParticleSoA<NoPayload>&
94 getInitialParticles() const;
95
102
103protected:
107 std::string m_name;
108
113
118
123
128};
129
130#include <CD_NamespaceFooter.H>
131
132#endif
Declaration of ParticleSoA, an arena-backed Struct-of-Arrays particle container.
Abstract class that describes the scalar quantity that is advected in CdrSolver.
Definition CD_CdrSpecies.H:31
virtual ~CdrSpecies()
Destructor (does nothing)
virtual bool isMobile() const
Mobile species or not.
Definition CD_CdrSpecies.cpp:75
bool m_isMobile
Mobile CdrSpecies or not.
Definition CD_CdrSpecies.H:122
virtual const ParticleSoA< NoPayload > & getInitialParticles() const
Get initial particles.
Definition CD_CdrSpecies.cpp:83
virtual Real initialData(const RealVect &a_pos, const Real a_time) const =0
Initial data.
Definition CD_CdrSpecies.cpp:43
ParticleSoA< NoPayload > m_initialParticles
Initial particles.
Definition CD_CdrSpecies.H:127
virtual std::string getName() const
Return name.
Definition CD_CdrSpecies.cpp:51
virtual int getChargeNumber() const
Return charge.
Definition CD_CdrSpecies.cpp:59
CdrSpecies()
Weak constructor.
Definition CD_CdrSpecies.cpp:20
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
virtual bool isDiffusive() const
Diffusive species or not.
Definition CD_CdrSpecies.cpp:67
Arena-backed Struct-of-Arrays particle container for a single grid patch.
Definition CD_ParticleSoA.H:655