std::basic_string< CepsChar > CepsString
C++ format string.
CepsIndex CepsUnknownIndex
For unknowns.
std::map< _Key, _Tp, _Compare, _Alloc > CepsMap
C++ map.
std::set< _Type, _Compare, _Alloc > CepsSet
C++ set.
std::vector< _Type, _Alloc > CepsVector
C++ vector.
std::make_unsigned_t< CepsInt > CepsUInt
Unsigned version on CepsInt.
float CepsReal
Need single precision floating point.
int32_t CepsInt
Need 32 bit integer.
std::shared_ptr< DistributedHaloVector > DHVecPtr
Typedef for pointer on Distributed Halo CepsVector.
Class managing computations from potential to outputs.
CepsBool allPointsHaveBeenActivated() const
Tells if all points have seen AP start (checked with activation threshold)
CardiacProblem * m_problem
Link to problem structure.
DHVecPtr m_activationTimes
Values of activation times at each point.
void writeActivationMap()
Writes activation times and probe points data.
CepsMap< CepsUnknownIndex, CepsSet< CepsDofGlobalIndex > > m_foundAPD
Flag map.
static constexpr CepsUInt _apdpctg
Index in activation data.
TimeWriter * m_timeWriter
Link to the solver's time writer, if needed...
~ActivationTracker()
Destructor.
DHVecPtr m_APD
length of AP (?)
CepsString getByeByeMessage() const
Message to be displayed at the end of computation.
DHVecPtr m_peakTimes
Times of max potential.
void update(CepsInt iter, CepsReal time, DHVecPtr solution, DHVecPtr prevSolution)
Writes the solution (optionnally currents) every m_nbIterSnapshot steps only. Also updates activation...
DHVecPtr m_APD50
length of AP to get to 50% depol
CepsMap< CepsUnknownIndex, CepsSet< CepsDofGlobalIndex > > m_foundPeak
Flag map.
void setupWithParameters(InputParameters *params)
Initializes attributes from text input.
Geometry * m_geom
Geometry.
ActivationTracker(CardiacSolver *solver)
Constructor.
CepsMap< CepsUnknownIndex, CepsSet< CepsDofGlobalIndex > > m_activationSeen
Flag map.
static constexpr CepsUInt _threshold
Index in activation data.
CepsUInt m_nbIterPostProcess
Output periodicity.
CepsMap< CepsUnknownIndex, CepsSet< CepsDofGlobalIndex > > m_activationNotYetSeen
Flag map.
DHVecPtr m_peakValues
Value of max potential.
CepsMap< CepsUnknownIndex, CepsSet< CepsDofGlobalIndex > > m_foundAPD50
Flag map.
CepsMap< CepsUnknownIndex, CepsReal3D > m_activationTimeData
AP analysis.
CepsUInt m_nToBeSeen
Number of dofs in tissue for each activation time data.
CepsReal m_tissueVolume
Reference volume.
DHVecPtr m_activated
1/0 status of point (above/below threshold)
static constexpr CepsUInt _minV4Peak
Index in activation data.
CepsBool allPointsHaveBeenRepolarized() const
Tells if all points have seen AP end (checked with APD percentage)
void initializeActivationMap()
Allocates arrays for activation detection.
CepsVector< CepsReal > m_activatedVolume
Size of tissue that is above activation threshold.
CepsVector< CepsReal > & getActivatedVolume()
Returns reference to data, so it can be linked to a TimeWriter.
CepsBool allSeen(const CepsMap< CepsUnknownIndex, CepsSet< CepsDofGlobalIndex >> &) const
Check not nans for given array.
A abstract class that regroups common parameters of cardiac problems.
Solves cardiac problems, that all share the same structure.
Base class for other (big) CEPS classes. All classes can get a pointer to this base class and also co...
Encapsulates all the geometrical data.