chombo-discharge
Loading...
Searching...
No Matches
CD_ItoIterator.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_ITOITERATOR_H
14#define CD_ITOITERATOR_H
15
16#include <CD_ItoLayout.H>
17#include <CD_NamespaceHeader.H>
18
23template <class T>
25{
26public:
31 {
32 All,
33 Charged,
34 Negative,
35 Positive,
36 Neutral
37 };
38
42 ItoIterator() = delete;
43
49 ItoIterator(ItoLayout<T>& a_layout, const SpeciesIteration a_mode = SpeciesIteration::All);
50
54 virtual ~ItoIterator();
55
60 virtual int
62
67 virtual int
68 index() const;
69
73 virtual void
74 reset();
75
80 virtual bool
81 ok();
82
86 virtual void
87 operator++();
88
93 virtual RefCountedPtr<T>&
94 operator()();
95
101 getSpecies();
102
103protected:
108
113
118
123
128
133};
134
135#include <CD_NamespaceFooter.H>
136
137#include <CD_ItoIteratorImplem.H>
138
139#endif
Implementation of CD_ItoIterator.H.
Declaration of a class that holds a set of ItoSolvers.
"Iterator" class for going through solvers in an ItoLayout.
Definition CD_ItoIterator.H:25
int m_numSolvers
Number of solvers.
Definition CD_ItoIterator.H:117
virtual void operator++()
Increment. This is different for different iteration modes.
Definition CD_ItoIteratorImplem.H:79
virtual bool ok()
Ok or not.
Definition CD_ItoIteratorImplem.H:72
virtual RefCountedPtr< T > & operator()()
Get current solver.
Definition CD_ItoIteratorImplem.H:126
virtual ~ItoIterator()
Destructor (does nothing)
Definition CD_ItoIteratorImplem.H:38
virtual int index() const
Get current solver number.
Definition CD_ItoIteratorImplem.H:54
virtual RefCountedPtr< ItoSpecies > & getSpecies()
Get current species.
Definition CD_ItoIteratorImplem.H:136
Vector< RefCountedPtr< ItoSpecies > > m_species
Solver species.
Definition CD_ItoIterator.H:132
bool m_isDefined
Defined or not.
Definition CD_ItoIterator.H:122
Vector< RefCountedPtr< T > > m_solvers
Solvers.
Definition CD_ItoIterator.H:127
int m_isolver
Current solver pointed to by the iterator.
Definition CD_ItoIterator.H:112
virtual void reset()
Reset iterator to the first solver.
Definition CD_ItoIteratorImplem.H:63
virtual int getNumberOfSolvers()
Get number of solvers.
Definition CD_ItoIteratorImplem.H:45
ItoIterator()=delete
Disallowed constructor – use the full constructor.
SpeciesIteration m_mode
Which species to iterate over.
Definition CD_ItoIterator.H:107
SpeciesIteration
Enum which specifies which species to iterate through.
Definition CD_ItoIterator.H:31
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38