SEEnvironment.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 #include "system/SESystem.h"
11 
12 class CDM_DECL SEEnvironment : public SESystem
13 {
14  friend class PBEnvironment;//friend the serialization class
15 public:
16 
17  SEEnvironment(SESubstanceManager& substances);
18  virtual ~SEEnvironment();
19 
20  virtual void Clear();
21 
25  virtual bool ProcessChange(const SEChangeEnvironmentConditions& action);
26 
30  virtual bool ProcessChange(const SEInitialEnvironmentConditions& change);
31 
37  virtual void StateChange() {};
38 
39 public:
40 
41  virtual const SEScalar* GetScalar(const std::string& name);
42 
43  virtual bool HasActiveHeating() const;
44  virtual SEActiveConditioning& GetActiveHeating();
45  virtual const SEActiveConditioning* GetActiveHeating() const;
46  virtual void RemoveActiveHeating();
47 
48  virtual bool HasActiveCooling() const;
49  virtual SEActiveConditioning& GetActiveCooling();
50  virtual const SEActiveConditioning* GetActiveCooling() const;
51  virtual void RemoveActiveCooling();
52 
53  virtual bool HasAppliedTemperature() const;
54  virtual SEAppliedTemperature& GetAppliedTemperature();
55  virtual const SEAppliedTemperature* GetAppliedTemperature() const;
56  virtual void RemoveAppliedTemperature();
57 
58  virtual bool HasConditions() const;
59  virtual SEEnvironmentalConditions& GetConditions();
60  virtual const SEEnvironmentalConditions* GetConditions() const;
61  virtual void RemoveConditions();
62 
63  virtual bool HasConvectiveHeatLoss() const;
64  virtual SEScalarPower& GetConvectiveHeatLoss();
65  virtual double GetConvectiveHeatLoss(const PowerUnit& unit) const;
66 
67  virtual bool HasConvectiveHeatTranferCoefficient() const;
68  virtual SEScalarHeatConductancePerArea& GetConvectiveHeatTranferCoefficient();
69  virtual double GetConvectiveHeatTranferCoefficient(const HeatConductancePerAreaUnit& unit) const;
70 
71  virtual bool HasEvaporativeHeatLoss() const;
72  virtual SEScalarPower& GetEvaporativeHeatLoss();
73  virtual double GetEvaporativeHeatLoss(const PowerUnit& unit) const;
74 
75  virtual bool HasEvaporativeHeatTranferCoefficient() const;
76  virtual SEScalarHeatConductancePerArea& GetEvaporativeHeatTranferCoefficient();
77  virtual double GetEvaporativeHeatTranferCoefficient(const HeatConductancePerAreaUnit& unit) const;
78 
79  virtual bool HasRadiativeHeatLoss() const;
80  virtual SEScalarPower& GetRadiativeHeatLoss();
81  virtual double GetRadiativeHeatLoss(const PowerUnit& unit) const;
82 
83  virtual bool HasRadiativeHeatTranferCoefficient() const;
84  virtual SEScalarHeatConductancePerArea& GetRadiativeHeatTranferCoefficient();
85  virtual double GetRadiativeHeatTranferCoefficient(const HeatConductancePerAreaUnit& unit) const;
86 
87  virtual bool HasRespirationHeatLoss() const;
88  virtual SEScalarPower& GetRespirationHeatLoss();
89  virtual double GetRespirationHeatLoss(const PowerUnit& unit) const;
90 
91  virtual bool HasSkinHeatLoss() const;
92  virtual SEScalarPower& GetSkinHeatLoss();
93  virtual double GetSkinHeatLoss(const PowerUnit& unit) const;
94 
95 protected:
96 
105 
110 
112 };
Definition: SESubstanceManager.h:8
Definition: SEInitialEnvironmentConditions.h:7
SEScalarPower * m_SkinHeatLoss
Definition: SEEnvironment.h:104
Definition: SEScalar.h:19
SEActiveConditioning * m_ActiveHeating
Definition: SEEnvironment.h:106
SEActiveConditioning * m_ActiveCooling
Definition: SEEnvironment.h:107
SEScalarPower * m_RadiativeHeatLoss
Definition: SEEnvironment.h:101
Definition: SEScalarHeatConductancePerArea.h:7
SEAppliedTemperature * m_AppliedTemperature
Definition: SEEnvironment.h:108
virtual void StateChange()
Definition: SEEnvironment.h:37
Definition: SEScalarHeatConductancePerArea.h:21
SESubstanceManager & m_Substances
Definition: SEEnvironment.h:111
SEScalarPower * m_RespirationHeatLoss
Definition: SEEnvironment.h:103
SEScalarHeatConductancePerArea * m_ConvectiveHeatTranferCoefficient
Definition: SEEnvironment.h:98
SEScalarPower * m_ConvectiveHeatLoss
Definition: SEEnvironment.h:97
Definition: SESystem.h:7
Definition: SEAppliedTemperature.h:5
Definition: SEChangeEnvironmentConditions.h:8
SEScalarHeatConductancePerArea * m_RadiativeHeatTranferCoefficient
Definition: SEEnvironment.h:102
Definition: SEScalarPower.h:24
Definition: SEEnvironment.h:12
SEEnvironmentalConditions * m_Conditions
Definition: SEEnvironment.h:109
SEScalarPower * m_EvaporativeHeatLoss
Definition: SEEnvironment.h:99
Definition: SEActiveConditioning.h:5
Definition: SEScalarPower.h:7
Definition: PBEnvironment.h:10
SEScalarHeatConductancePerArea * m_EvaporativeHeatTranferCoefficient
Definition: SEEnvironment.h:100
virtual const SEScalar * GetScalar(const std::string &name)=0
Definition: SEEnvironmentalConditions.h:15
virtual void Clear()
Definition: SESystem.cpp:17