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
12class CDM_DECL SEEnvironment : public SESystem
13{
14 friend class PBEnvironment;//friend the serialization class
15public:
16
17 SEEnvironment(Logger* logger);
18 virtual ~SEEnvironment();
19
20 void Clear() override;
21
22protected:
26 virtual bool ProcessChange(SEChangeEnvironmentalConditions& action, SESubstanceManager& subMgr);
27
31 virtual bool ProcessChange(SEInitialEnvironmentalConditions& change, SESubstanceManager& subMgr);
32
38 virtual void StateChange() {};
39
40public:
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
96protected:
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 const SEScalar * GetScalar(const std::string &name)=0
virtual void Clear()
Definition: SESystem.cpp:17

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.