1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
4 #pragma once
5 #include "circuit/SECircuitPath.h"
6 #include "circuit/thermal/SEThermalCircuitNode.h"
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();
17  virtual void Clear(); //clear memory
19  virtual SEThermalCircuitNode& GetSourceNode() const;
20  virtual SEThermalCircuitNode& GetTargetNode() const;
22  virtual bool HasResistance() const;
24  virtual double GetResistance(const HeatResistanceUnit& unit) const;
25  virtual bool HasNextResistance() const;
27  virtual double GetNextResistance(const HeatResistanceUnit& unit) const;
28  virtual bool HasResistanceBaseline() const;
30  virtual double GetResistanceBaseline(const HeatResistanceUnit& unit) const;
32  virtual bool HasCapacitance() const;
34  virtual double GetCapacitance(const HeatCapacitanceUnit& unit) const;
35  virtual bool HasNextCapacitance() const;
37  virtual double GetNextCapacitance(const HeatCapacitanceUnit& unit) const;
38  virtual bool HasCapacitanceBaseline() const;
40  virtual double GetCapacitanceBaseline(const HeatCapacitanceUnit& unit) const;
42  virtual bool HasInductance() const;
44  virtual double GetInductance(const HeatInductanceUnit& unit) const;
45  virtual bool HasNextInductance() const;
47  virtual double GetNextInductance(const HeatInductanceUnit& unit) const;
48  virtual bool HasInductanceBaseline() const;
50  virtual double GetInductanceBaseline(const HeatInductanceUnit& unit) const;
52  virtual bool HasHeatTransferRate() const;
53  virtual SEScalarPower& GetHeatTransferRate();
54  virtual double GetHeatTransferRate(const PowerUnit& unit) const;
55  virtual bool HasNextHeatTransferRate() const;
56  virtual SEScalarPower& GetNextHeatTransferRate();
57  virtual double GetNextHeatTransferRate(const PowerUnit& unit) const;
58  virtual bool HasHeatSource() const;
59  virtual SEScalarPower& GetHeatSource();
60  virtual double GetHeatSource(const PowerUnit& unit) const;
61  virtual bool HasNextHeatSource() const;
62  virtual SEScalarPower& GetNextHeatSource();
63  virtual double GetNextHeatSource(const PowerUnit& unit) const;
64  virtual bool HasHeatSourceBaseline() const;
65  virtual SEScalarPower& GetHeatSourceBaseline();
66  virtual double GetHeatSourceBaseline(const PowerUnit& unit) const;
68  virtual bool HasTemperatureSource() const;
69  virtual SEScalarTemperature& GetTemperatureSource();
70  virtual double GetTemperatureSource(const TemperatureUnit& unit) const;
71  virtual bool HasNextTemperatureSource() const;
72  virtual SEScalarTemperature& GetNextTemperatureSource();
73  virtual double GetNextTemperatureSource(const TemperatureUnit& unit) const;
74  virtual bool HasTemperatureSourceBaseline() const;
75  virtual SEScalarTemperature& GetTemperatureSourceBaseline();
76  virtual double GetTemperatureSourceBaseline(const TemperatureUnit& unit) const;
77  virtual bool HasValveBreakdownTemperature() const;
78  virtual SEScalarTemperature& GetValveBreakdownTemperature();
79  virtual double GetValveBreakdownTemperature(const TemperatureUnit& unit) const;
81 protected:
84 };
virtual SECircuitNode< CIRCUIT_NODE_TYPES > & GetTargetNode() const
SEThermalCircuitNode & m_ThermalTargetNode
Definition: SEThermalCircuitPath.h:83
virtual CapacitanceScalar & GetCapacitanceBaseline()
virtual bool HasResistanceBaseline() const
virtual InductanceScalar & GetInductanceBaseline()
Definition: SEThermalCircuitPath.h:8
virtual bool HasNextResistance() const
virtual bool HasNextCapacitance() const
Definition: SEScalarHeatInductance.h:7
virtual void Clear()
virtual bool HasCapacitance() const
Definition: SEScalarTemperature.h:22
virtual bool HasInductance() const
virtual ResistanceScalar & GetResistanceBaseline()
Definition: SEScalarHeatInductance.h:19
Definition: SECircuitPath.h:26
virtual ResistanceScalar & GetResistance()
Definition: SEScalarHeatCapacitance.h:7
virtual ResistanceScalar & GetNextResistance()
Definition: PBCircuit.h:25
virtual CapacitanceScalar & GetCapacitance()
Definition: SEScalarHeatCapacitance.h:22
virtual InductanceScalar & GetNextInductance()
Definition: SEScalarHeatResistance.h:22
Definition: SECircuitManager.h:37
virtual CapacitanceScalar & GetNextCapacitance()
virtual bool HasNextInductance() const
virtual SECircuitNode< CIRCUIT_NODE_TYPES > & GetSourceNode() const
virtual bool HasResistance() const
Definition: SEScalarTemperature.h:7
Definition: SEScalarPower.h:24
SEThermalCircuitNode & m_ThermalSourceNode
Definition: SEThermalCircuitPath.h:82
Definition: SEScalarPower.h:7
Definition: SEScalarHeatResistance.h:7
Definition: SEThermalCircuitNode.h:7
virtual bool HasInductanceBaseline() const
virtual bool HasCapacitanceBaseline() const
virtual InductanceScalar & GetInductance()