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 
9 class CDM_DECL SEThermalCircuitNode : public SECircuitNode<THERMAL_CIRCUIT_NODE>
10 {
11  friend class PBCircuit;//friend the serialization class
12  friend class SECircuitManager;
13 protected:
14  SEThermalCircuitNode(const std::string& name, Logger* logger);
15 public:
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 
49 protected:
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.