What’s New in the Pulse Physiology Engine 4.4.0
×
SEEngineStabilization.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5class SECondition;
9
10class CDM_DECL SEEngineStabilization : public Loggable
11{
12public:
13
14 static constexpr char const* Resting = "Resting";
15 static constexpr char const* Feedback = "Feedback";
16 static constexpr char const* AdvanceUntilStable = "AdvanceUntilStable";
17
19 {
20 public:
21 virtual bool AdvanceTime() = 0;
23 virtual double GetTimeStep(const TimeUnit& unit) = 0;
24 virtual double GetSimulationTime(const TimeUnit& unit) = 0;
25 };
27 virtual ~SEEngineStabilization();
28
29 virtual void Clear();
30
31 virtual bool SerializeToString(std::string& output, eSerializationFormat) const = 0;
32 virtual bool SerializeToFile(const std::string& filename) const = 0;
33 virtual bool SerializeFromString(const std::string& src, eSerializationFormat) = 0;
34 virtual bool SerializeFromFile(const std::string& filename) = 0;
35
36 virtual bool HasConvergenceCriteria(const std::string& criteria) const = 0;
37 virtual void RemoveConvergenceCriteria(const std::string& name) = 0;
38
39 virtual bool Stabilize(Controller& engine, const std::string& criteria)=0;
40 virtual bool StabilizeConditions(Controller& engine, const SEConditionManager& conditions)=0;
41
42 virtual void LogProgress(bool b);
43
44 virtual void CancelStabilization();
45
46 virtual bool HasStabilizationDuration();
47 virtual SEScalarTime& GetStabilizationDuration();
48
49protected:
50
53 std::stringstream m_ss;
54
56 std::vector<const SECondition*> m_Conditions;
57};
Definition: Logger.h:23
Definition: Logger.h:71
Definition: SECondition.h:8
Definition: SEConditionManager.h:26
Definition: SEEngineConfiguration.h:8
Definition: SEEngineStabilization.h:19
virtual double GetTimeStep(const TimeUnit &unit)=0
virtual SEEngineTracker * GetEngineTracker()=0
virtual double GetSimulationTime(const TimeUnit &unit)=0
Definition: SEEngineStabilization.h:11
virtual bool HasConvergenceCriteria(const std::string &criteria) const =0
std::stringstream m_ss
Definition: SEEngineStabilization.h:53
bool m_LogProgress
Definition: SEEngineStabilization.h:52
virtual bool SerializeFromFile(const std::string &filename)=0
virtual bool SerializeToString(std::string &output, eSerializationFormat) const =0
virtual bool SerializeToFile(const std::string &filename) const =0
virtual bool SerializeFromString(const std::string &src, eSerializationFormat)=0
virtual void RemoveConvergenceCriteria(const std::string &name)=0
bool m_Cancelled
Definition: SEEngineStabilization.h:51
virtual bool StabilizeConditions(Controller &engine, const SEConditionManager &conditions)=0
std::vector< const SECondition * > m_Conditions
Definition: SEEngineStabilization.h:56
virtual bool Stabilize(Controller &engine, const std::string &criteria)=0
SEScalarTime * m_StabilizationDuration
Definition: SEEngineStabilization.h:55
Definition: SEDataRequestTracker.h:102
Definition: SEScalarTime.h:28
Definition: SEScalarTime.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.