SEThermalCircuitPath.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/SECircuitPath.h"
6 #include "cdm/circuit/thermal/SEThermalCircuitNode.h"
7 
8 class CDM_DECL SEThermalCircuitPath : public SECircuitPath<THERMAL_CIRCUIT_PATH>
9 {
10  friend class PBCircuit;//friend the serialization class
11  friend class SECircuitManager;
12 protected:
13  SEThermalCircuitPath(SEThermalCircuitNode& src, SEThermalCircuitNode& tgt, const std::string& name);
14 public:
15  virtual ~SEThermalCircuitPath();
16 
17  void Clear() override; //clear memory
18 
19  SEThermalCircuitNode& GetSourceNode() const override;
20  SEThermalCircuitNode& GetTargetNode() const override;
21 
22  virtual bool HasHeatTransferRate() const;
23  virtual SEScalarPower& GetHeatTransferRate();
24  virtual double GetHeatTransferRate(const PowerUnit& unit) const;
25  virtual bool HasNextHeatTransferRate() const;
26  virtual SEScalarPower& GetNextHeatTransferRate();
27  virtual double GetNextHeatTransferRate(const PowerUnit& unit) const;
28 
29  bool HasResistance() const override;
31  virtual double GetResistance(const HeatResistanceUnit& unit) const;
32  bool HasNextResistance() const override;
34  virtual double GetNextResistance(const HeatResistanceUnit& unit) const;
35  bool HasResistanceBaseline() const override;
37  virtual double GetResistanceBaseline(const HeatResistanceUnit& unit) const;
38  virtual void RemoveResistance() override;
39 
40  bool HasCapacitance() const override;
42  virtual double GetCapacitance(const HeatCapacitanceUnit& unit) const;
43  bool HasNextCapacitance() const override;
45  virtual double GetNextCapacitance(const HeatCapacitanceUnit& unit) const;
46  bool HasCapacitanceBaseline() const override;
48  virtual double GetCapacitanceBaseline(const HeatCapacitanceUnit& unit) const;
49  virtual void RemoveCapacitance() override;
50 
51  bool HasInductance() const override;
53  virtual double GetInductance(const HeatInductanceUnit& unit) const;
54  bool HasNextInductance() const override;
56  virtual double GetNextInductance(const HeatInductanceUnit& unit) const;
57  bool HasInductanceBaseline() const override;
59  virtual double GetInductanceBaseline(const HeatInductanceUnit& unit) const;
60  virtual void RemoveInductance() override;
61 
62  virtual bool HasHeatSource() const;
63  virtual SEScalarPower& GetHeatSource();
64  virtual double GetHeatSource(const PowerUnit& unit) const;
65  virtual bool HasNextHeatSource() const;
66  virtual SEScalarPower& GetNextHeatSource();
67  virtual double GetNextHeatSource(const PowerUnit& unit) const;
68  virtual bool HasHeatSourceBaseline() const;
69  virtual SEScalarPower& GetHeatSourceBaseline();
70  virtual double GetHeatSourceBaseline(const PowerUnit& unit) const;
71  virtual void RemoveHeatSource();
72 
73  virtual bool HasTemperatureSource() const;
74  virtual SEScalarTemperature& GetTemperatureSource();
75  virtual double GetTemperatureSource(const TemperatureUnit& unit) const;
76  virtual bool HasNextTemperatureSource() const;
77  virtual SEScalarTemperature& GetNextTemperatureSource();
78  virtual double GetNextTemperatureSource(const TemperatureUnit& unit) const;
79  virtual bool HasTemperatureSourceBaseline() const;
80  virtual SEScalarTemperature& GetTemperatureSourceBaseline();
81  virtual double GetTemperatureSourceBaseline(const TemperatureUnit& unit) const;
82  virtual void RemoveTemperatureSource();
83 
84  virtual bool HasValveBreakdownTemperature() const;
85  virtual SEScalarTemperature& GetValveBreakdownTemperature();
86  virtual double GetValveBreakdownTemperature(const TemperatureUnit& unit) const;
87 
88 protected:
91 };
Definition: SEScalarHeatCapacitance.h:8
Definition: SEScalarHeatInductance.h:8
Definition: SEScalarHeatResistance.h:8
Definition: PBCircuit.h:26
Definition: SEScalarPower.h:8
Definition: SECircuitManager.h:38
Definition: SECircuitPath.h:37
virtual void RemoveCapacitance()
Definition: SECircuitPath.cpp:436
virtual bool HasInductance() const
Definition: SECircuitPath.cpp:450
virtual bool HasNextResistance() const
Definition: SECircuitPath.cpp:362
virtual bool HasResistance() const
Definition: SECircuitPath.cpp:350
virtual bool HasCapacitanceBaseline() const
Definition: SECircuitPath.cpp:424
virtual void Clear()
Definition: SECircuitPath.cpp:52
virtual ResistanceScalar & GetNextResistance()
Definition: SECircuitPath.cpp:367
virtual bool HasNextCapacitance() const
Definition: SECircuitPath.cpp:412
virtual bool HasNextInductance() const
Definition: SECircuitPath.cpp:462
virtual ResistanceScalar & GetResistanceBaseline()
Definition: SECircuitPath.cpp:379
virtual CapacitanceScalar & GetCapacitance()
Definition: SECircuitPath.cpp:405
virtual void RemoveInductance()
Definition: SECircuitPath.cpp:486
virtual InductanceScalar & GetInductanceBaseline()
Definition: SECircuitPath.cpp:479
virtual SECircuitNode< CIRCUIT_NODE_TYPES > & GetTargetNode() const
Definition: SECircuitPath.cpp:103
virtual ResistanceScalar & GetResistance()
Definition: SECircuitPath.cpp:355
virtual CapacitanceScalar & GetCapacitanceBaseline()
Definition: SECircuitPath.cpp:429
virtual InductanceScalar & GetInductance()
Definition: SECircuitPath.cpp:455
virtual InductanceScalar & GetNextInductance()
Definition: SECircuitPath.cpp:467
virtual bool HasCapacitance() const
Definition: SECircuitPath.cpp:400
virtual bool HasResistanceBaseline() const
Definition: SECircuitPath.cpp:374
virtual bool HasInductanceBaseline() const
Definition: SECircuitPath.cpp:474
virtual SECircuitNode< CIRCUIT_NODE_TYPES > & GetSourceNode() const
Definition: SECircuitPath.cpp:98
virtual CapacitanceScalar & GetNextCapacitance()
Definition: SECircuitPath.cpp:417
virtual void RemoveResistance()
Definition: SECircuitPath.cpp:386
Definition: SEScalarHeatCapacitance.h:27
Definition: SEScalarHeatInductance.h:24
Definition: SEScalarHeatResistance.h:27
Definition: SEScalarPower.h:29
Definition: SEScalarTemperature.h:27
Definition: SEThermalCircuitNode.h:10
Definition: SEThermalCircuitPath.h:9
SEThermalCircuitNode & m_ThermalSourceNode
Definition: SEThermalCircuitPath.h:89
SEThermalCircuitNode & m_ThermalTargetNode
Definition: SEThermalCircuitPath.h:90
Definition: SEScalarTemperature.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.