Building Medical Digital Twins with Pulse: Open Source Simulation Tools for Developers and Researchers
×
SETimedStabilization.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 #include "cdm/engine/SEEngineStabilization.h"
6 
8 {
9  friend class PBEngine;//friend the serialization class
10 public:
12  virtual ~SETimedStabilization();
13 
14  void Clear() override;
15 
16  bool SerializeToString(std::string& output, eSerializationFormat m) const;
17  bool SerializeToFile(const std::string& filename) const;
18  bool SerializeFromString(const std::string& src, eSerializationFormat m);
19  bool SerializeFromFile(const std::string& filename);
20 
21  bool Stabilize(Controller& engine, const std::string& criteria) override;
22  bool StabilizeConditions(Controller& engine, const SEConditionManager& conditions) override;
23 
24  bool HasConvergenceCriteria(const std::string& name) const override;
25  void RemoveConvergenceCriteria(const std::string& name) override;
26  virtual const std::map<std::string,SEScalarTime*>& GetConvergenceCriterias() const;
27  virtual SEScalarTime& GetConvergenceCriteria(const std::string& name);
28  virtual const SEScalarTime* GetConvergenceCriteria(const std::string& name) const;
29 
30 protected:
31 
32  virtual bool Stabilize(Controller& engine, const SEScalarTime& time);
33 
34  std::map<std::string,SEScalarTime*> m_ConvergenceCriteria;
35 };
Definition: Logger.h:71
Definition: PBEngine.h:31
Definition: SEConditionManager.h:26
Definition: SEEngineStabilization.h:18
Definition: SEEngineStabilization.h:11
virtual bool HasConvergenceCriteria(const std::string &criteria) const =0
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
virtual bool StabilizeConditions(Controller &engine, const SEConditionManager &conditions)=0
virtual bool Stabilize(Controller &engine, const std::string &criteria)=0
virtual void Clear()
Definition: SEEngineStabilization.cpp:19
Definition: SEScalarTime.h:28
Definition: SETimedStabilization.h:8
std::map< std::string, SEScalarTime * > m_ConvergenceCriteria
Definition: SETimedStabilization.h:34

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.