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 
9 class SEPatient;
10 class SEGasCompartment;
12 class SEThermalCircuit;
15 
16 namespace 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);
29  virtual ~EnvironmentModel();
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.