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

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.