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
8class CDM_DECL SEThermalCircuitPath : public SECircuitPath<THERMAL_CIRCUIT_PATH>
9{
10 friend class PBCircuit;//friend the serialization class
11 friend class SECircuitManager;
12protected:
13 SEThermalCircuitPath(SEThermalCircuitNode& src, SEThermalCircuitNode& tgt, const std::string& name);
14public:
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
88protected:
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.