EnvironmentModel.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5
6#include "engine/common/system/Model.h"
7#include "engine/common/system/Systems.h"
8
9class SEPatient;
15
16namespace pulse
17{
18 class PBEnvironment;
19 class EngineTest;
23 class PULSE_DECL EnvironmentModel : public EnvironmentSystem, public Model
24 {
25 friend PBEnvironment;//friend the serialization class
26 friend EngineTest;
27 public:
28 EnvironmentModel(Data& data);
30
31 void Clear() override;
32
33 // Set members to a stable homeostatic state
34 void Initialize() override;
35 // Set pointers and other member varialbes common to both homeostatic initialization and loading a state
36 void SetUp() override;
37
38 void AtSteadyState() override;
39 void PreProcess() override;
40 void Process(bool solve_and_transport = true) override;
41 void PostProcess(bool solve_and_transport = true) override;
42
43 void StateChange() override;
44
45 protected:
47
50 double AntoineEquation(double dTemperature_C);
55
56 // Serializable member variables (Set in Initialize and in schema)
57 double m_PatientEquivalentDiameter_m;// For Convection calculations
58
59 // Stateless member variable (Calculated in Supplemental Method and used in other methods)
64 //Prandtl number calculation
68 //Grashof number calculation
70
71 // Stateless member variable (Set in SetUp())
72 // Compartments
75 //Circuits
77 //Nodes
82 //Paths
93 };
94}
Definition: PBEnvironment.h:12
Definition: SEGasCompartment.h:14
Definition: SELiquidCompartment.h:11
Definition: SEPatient.h:13
Definition: SEThermalCircuit.h:12
Definition: SEThermalCircuitNode.h:10
Definition: SEThermalCircuitPath.h:9
The Environment class characterizes the environment and manages interactions between the body its sur...
Definition: EnvironmentModel.h:24
SEThermalCircuitNode * m_SkinNode
Definition: EnvironmentModel.h:79
double m_WaterThermalConductivity_W_Per_m_K
Definition: EnvironmentModel.h:67
double m_dHeatOfVaporizationOfWater_J_Per_kg
Definition: EnvironmentModel.h:61
SEThermalCircuitPath * m_GroundToEnclosurePath
Definition: EnvironmentModel.h:88
double m_WaterSpecificHeat_J_Per_kg_K
Definition: EnvironmentModel.h:65
SEThermalCircuitPath * m_SkinToClothing
Definition: EnvironmentModel.h:83
friend PBEnvironment
Definition: EnvironmentModel.h:25
SEThermalCircuitNode * m_ThermalEnvironment
Definition: EnvironmentModel.h:78
SEThermalCircuitPath * m_GroundToEnvironmentPath
Definition: EnvironmentModel.h:90
SEThermalCircuitPath * m_ActiveTemperaturePath
Definition: EnvironmentModel.h:85
double m_ThermalExpansion_Per_K
Definition: EnvironmentModel.h:69
void Process(bool solve_and_transport=true) override
SELiquidCompartment * m_AmbientAerosols
Definition: EnvironmentModel.h:74
SEThermalCircuit * m_EnvironmentCircuit
Definition: EnvironmentModel.h:76
double m_PatientEquivalentDiameter_m
Definition: EnvironmentModel.h:57
SEGasCompartment * m_AmbientGases
Definition: EnvironmentModel.h:73
void ComputeExposedModelParameters() override
SEThermalCircuitPath * m_ClothingToEnclosurePath
Definition: EnvironmentModel.h:87
SEThermalCircuitNode * m_ClothingNode
Definition: EnvironmentModel.h:80
SEThermalCircuitPath * m_EnvironmentCoreToGroundPath
Definition: EnvironmentModel.h:92
double m_dWaterVaporPressureAtSkin_Pa
Definition: EnvironmentModel.h:63
friend EngineTest
Definition: EnvironmentModel.h:26
double m_dWaterVaporPressureInAmbientAir_Pa
Definition: EnvironmentModel.h:62
void AtSteadyState() override
void SetUp() override
void StateChange() override
SEThermalCircuitPath * m_EnvironmentSkinToGroundPath
Definition: EnvironmentModel.h:91
SEThermalCircuitPath * m_ClothingToEnvironmentPath
Definition: EnvironmentModel.h:89
void PreProcess() override
SEThermalCircuitPath * m_ActiveHeatTransferRatePath
Definition: EnvironmentModel.h:84
double m_WaterViscosity_N_s_Per_m2
Definition: EnvironmentModel.h:66
double AntoineEquation(double dTemperature_C)
void Initialize() override
void PostProcess(bool solve_and_transport=true) override
SEThermalCircuitPath * m_ActiveSwitchPath
Definition: EnvironmentModel.h:86
SEThermalCircuitNode * m_EnclosureNode
Definition: EnvironmentModel.h:81
EnvironmentModel(Data &data)
double m_dLewisRelation
Definition: EnvironmentModel.h:60
void Clear() override
Definition: Logger.h:14

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.