14 #include <biogears/cdm/CommonDataModel.h>
15 #include <biogears/exports.h>
17 #include <biogears/cdm/circuit/thermal/SEThermalCircuitCalculator.h>
18 #include <biogears/cdm/system/physiology/SEEnergySystem.h>
19 #include <biogears/cdm/utils/RunningAverage.h>
20 #include <biogears/engine/Controller/BioGearsSystem.h>
21 #include <biogears/schema/biogears/BioGearsPhysiology.hxx>
25 class SEPatientActionCollection;
26 class SELiquidSubstanceQuantity;
27 class SEThermalCircuitNode;
28 class SEThermalCircuitPath;
29 class SEFluidCircuitPath;
30 class SEThermalCircuit;
31 class SEThermalCircuitCalculator;
42 static auto make_unique(
BioGears& bg) -> std::unique_ptr<Energy>;
50 static constexpr
char const *
const TypeTag() {
return "Energy"; }
51 const char*
classname()
const override {
return TypeTag(); }
52 size_t hash_code()
const override {
return TypeHash(); }
54 void Clear()
override;
57 void Initialize()
override;
67 void SetUp()
override;
70 void AtSteadyState()
override;
71 void PreProcess()
override;
72 void Process()
override;
73 void PostProcess()
override;
77 void CalculateMetabolicHeatGeneration();
78 void CalculateSweatRate();
79 void UpdateHeatResistance();
84 void ManageEnergyDeficit();
85 void ProcessOverride();
86 void OverrideControlLoop();
93 void CalculateBasalMetabolicRate();
96 void CalculateVitalSigns();
SEThermalCircuitCalculator m_circuitCalculator
Definition: Energy.h:123
SEThermalCircuitNode * m_coreNode
Definition: Energy.h:114
SEThermalCircuitNode * m_skinNode
Definition: Energy.h:115
Definition: SEThermalCircuitPath.h:25
bool m_packOn
Definition: Energy.h:101
double m_dT_s
Definition: Energy.h:105
SELiquidSubstanceQuantity * m_SkinChloride
Definition: Energy.h:111
SELiquidSubstanceQuantity * m_SkinSodium
Definition: Energy.h:110
static constexpr char const *const TypeTag()
Definition: Energy.h:50
Definition: SELiquidSubstanceQuantity.h:28
Definition: SEFluidCircuitPath.h:25
Definition: SEPatient.h:48
SEPatientActionCollection * m_PatientActions
Definition: Energy.h:107
SEThermalCircuitPath * m_temperatureGroundToCorePath
Definition: Energy.h:117
Definition: RunningAverage.h:19
RunningAverage m_BicarbonateMolarity_mmol_Per_L
Definition: Energy.h:100
SEFluidCircuitPath * m_skinExtravascularToSweatingGroundPath
Definition: Energy.h:119
SELiquidSubstanceQuantity * m_SkinPotassium
Definition: Energy.h:112
Definition: BioGearsEngineTest.h:24
Definition: SEThermalCircuitNode.h:20
SEThermalCircuitPath * m_coreToSkinPath
Definition: Energy.h:118
double m_previousWeightPack_kg
Definition: Energy.h:102
BioGears & m_data
Definition: Energy.h:44
SEThermalCircuit * m_InternalTemperatureCircuit
Definition: Energy.h:121
static size_t TypeHash()
Definition: Energy.h:49
SELiquidSubstanceQuantity * m_AortaHCO3
Definition: Energy.h:109
SEThermalCircuit * m_TemperatureCircuit
Definition: Energy.h:122
SEPatient * m_Patient
Definition: Energy.h:106
Definition: SEEnergySystem.h:32
size_t hash_code() const override
Definition: Energy.h:52
RunningAverage m_BloodpH
Definition: Energy.h:99
const char * classname() const override
Definition: Energy.h:51
Class corresponding to the BioGearsEnergySystemData schema type.
Definition: BioGearsPhysiology.hxx:3583
Manages and controls execution of all data/systems in BioGears.
Definition: BioGears.h:86
Definition: SEThermalCircuitCalculator.h:25
Generic class for handling the BioGears stabilization methodology.
Definition: BioGearsSystem.h:23
Definition: SEThermalCircuit.h:20
Definition: SEElectricalCircuit.h:18
Definition: SEPatientActionCollection.h:54