SEThermalCircuitNode.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5#include "cdm/circuit/SECircuitNode.h"
8
9class CDM_DECL SEThermalCircuitNode : public SECircuitNode<THERMAL_CIRCUIT_NODE>
10{
11 friend class PBCircuit;//friend the serialization class
12 friend class SECircuitManager;
13protected:
14 SEThermalCircuitNode(const std::string& name, Logger* logger);
15public:
16 virtual ~SEThermalCircuitNode();
17
18 void Clear() override; //clear memory
19
20 virtual bool HasTemperature() const;
21 virtual SEScalarTemperature& GetTemperature();
22 virtual double GetTemperature(const TemperatureUnit& unit) const;
23
24 virtual bool HasNextTemperature() const;
25 virtual SEScalarTemperature& GetNextTemperature();
26 virtual double GetNextTemperature(const TemperatureUnit& unit) const;
27
28
29 virtual bool HasHeat() const;
30 virtual SEScalarEnergy& GetHeat();
31 virtual double GetHeat(const EnergyUnit& unit) const;
32
33 virtual bool HasNextHeat() const;
34 virtual SEScalarEnergy& GetNextHeat();
35 virtual double GetNextHeat(const EnergyUnit& unit) const;
36
37 virtual bool HasHeatBaseline() const;
38 virtual SEScalarEnergy& GetHeatBaseline();
39 virtual double GetHeatBaseline(const EnergyUnit& unit) const;
40
41 SEThermalCircuitNode* GetBlackBoxSourceNode() const;
42 SEThermalCircuitNode* GetBlackBoxTargetNode() const;
43 void SetBlackBoxSourceTargetNodes(SEThermalCircuitNode& src, SEThermalCircuitNode& tgt);
44
45 SEThermalCircuitPath* GetBlackBoxSourcePath() const;
46 SEThermalCircuitPath* GetBlackBoxTargetPath() const;
47 void SetBlackBoxSourceTargetPaths(SEThermalCircuitPath& src, SEThermalCircuitPath& tgt);
48
49protected:
50 SEThermalCircuitNode* m_BlackBoxSourceNode=nullptr;// Only set on middle nodes
51 SEThermalCircuitNode* m_BlackBoxTargetNode=nullptr;// Only set on middle nodes
52 SEThermalCircuitPath* m_BlackBoxSourcePath = nullptr;// Only set on middle nodes
53 SEThermalCircuitPath* m_BlackBoxTargetPath = nullptr;// Only set on middle nodes
54};
Definition: SEScalarEnergy.h:8
Definition: Logger.h:71
Definition: PBCircuit.h:26
Definition: SECircuitManager.h:38
Definition: SECircuitNode.h:31
virtual void Clear()
Definition: SEScalarEnergy.h:27
Definition: SEScalarTemperature.h:27
Definition: SEThermalBlackBox.h:11
Definition: SEThermalCircuitNode.h:10
Definition: SEThermalCircuitPath.h:9
Definition: SEScalarTemperature.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.