#include <SEThermalCompartment.h>

Inherits SECompartment.

Public Member Functions

virtual ~SEThermalCompartment ()
 
void Clear () override
 
const SEScalarGetScalar (const std::string &name) override
 
bool HasChildren () const override
 
virtual const std::vector< SEThermalCompartment * > & GetChildren ()
 
virtual const std::vector< SEThermalCompartment * > & GetLeaves ()
 
virtual bool HasNodeMapping () const
 
virtual SECompartmentNodes< THERMAL_COMPARTMENT_NODE > & GetNodeMapping ()
 
virtual void MapNode (SEThermalCircuitNode &node)
 
virtual void StateChange () override
 
virtual bool HasHeatTransferRateIn () const
 
virtual const SEScalarPowerGetHeatTransferRateIn () const
 
virtual double GetHeatTransferRateIn (const PowerUnit &unit) const
 
virtual bool HasHeatTransferRateOut () const
 
virtual const SEScalarPowerGetHeatTransferRateOut () const
 
virtual double GetHeatTransferRateOut (const PowerUnit &unit) const
 
virtual bool HasHeat () const
 
virtual SEScalarEnergyGetHeat ()
 
virtual double GetHeat (const EnergyUnit &unit) const
 
virtual bool HasTemperature () const
 
virtual SEScalarTemperatureGetTemperature ()
 
virtual double GetTemperature (const TemperatureUnit &unit) const
 
virtual void AddLink (SEThermalCompartmentLink &link)
 
virtual void RemoveLink (SEThermalCompartmentLink &link)
 
virtual void RemoveLinks ()
 
virtual const std::vector< SEThermalCompartmentLink * > & GetLinks ()
 
virtual bool HasChild (const SEThermalCompartment &cmpt)
 
virtual void AddChild (SEThermalCompartment &child)
 
- Public Member Functions inherited from SECompartment
virtual ~SECompartment ()
 
virtual void Clear ()
 
virtual std::string GetName () const
 
virtual const SEScalarGetScalar (const std::string &name)=0
 
virtual bool HasChildren () const =0
 
virtual void StateChange ()=0
 
- Public Member Functions inherited from Loggable
 Loggable (Logger *logger=nullptr)
 
 Loggable (std::string const &logfile)
 
virtual ~Loggable ()
 
virtual LoggerGetLogger () const
 
virtual void SetLogger (Logger &logger)
 
virtual void Debug (std::string const &msg) const
 
virtual void Debug (std::stringstream &msg) const
 
virtual void Debug (std::ostream &msg) const
 
virtual void Info (std::string const &msg) const
 
virtual void Info (std::stringstream &msg) const
 
virtual void Info (const std::stringstream &msg) const
 
virtual void Info (std::ostream &msg) const
 
virtual void Warning (std::string const &msg) const
 
virtual void Warning (std::stringstream &msg) const
 
virtual void Warning (std::ostream &msg) const
 
virtual void Error (std::string const &msg) const
 
virtual void Error (std::stringstream &msg) const
 
virtual void Error (std::ostream &msg) const
 
virtual void Fatal (std::string const &msg) const
 
virtual void Fatal (std::stringstream &msg) const
 
virtual void Fatal (std::ostream &msg) const
 

Protected Member Functions

 SEThermalCompartment (const std::string &name, Logger *logger)
 
virtual double CalculateInFlow_W () const
 
virtual double CalculateOutFlow_W () const
 
- Protected Member Functions inherited from SECompartment
 SECompartment (const std::string &name, Logger *logger)
 

Protected Attributes

SEScalarPowerm_HeatTransferRateIn
 
SEScalarPowerm_HeatTransferRateOut
 
SEScalarEnergym_Heat
 
SEScalarTemperaturem_Temperature
 
std::vector< SEThermalCompartmentLink * > m_Links
 
std::vector< SEThermalCompartmentLink * > m_IncomingLinks
 
std::vector< SEThermalCompartmentLink * > m_OutgoingLinks
 
std::vector< SEThermalCompartment * > m_Children
 
std::vector< SEThermalCompartment * > m_Leaves
 
SECompartmentNodes< THERMAL_COMPARTMENT_NODE > m_Nodes
 
- Protected Attributes inherited from SECompartment
std::string m_Name
 
- Protected Attributes inherited from Loggable
bool myLogger
 
Loggerm_Logger
 

Friends

class PBCompartment
 
class SECompartmentManager
 
template<typename CompartmentType , typename CompartmentLinkType >
class SECompartmentGraph
 

Additional Inherited Members

- Static Public Member Functions inherited from SECompartment
template<typename CompartmentType >
static void FindLeaves (CompartmentType &cmpt, std::vector< CompartmentType * > &leaves)
 

Constructor & Destructor Documentation

◆ SEThermalCompartment()

SEThermalCompartment::SEThermalCompartment ( const std::string &  name,
Logger logger 
)
protected

◆ ~SEThermalCompartment()

SEThermalCompartment::~SEThermalCompartment ( )
virtual

Member Function Documentation

◆ AddChild()

void SEThermalCompartment::AddChild ( SEThermalCompartment child)
virtual

◆ AddLink()

void SEThermalCompartment::AddLink ( SEThermalCompartmentLink link)
virtual

◆ CalculateInFlow_W()

double SEThermalCompartment::CalculateInFlow_W ( ) const
protectedvirtual

◆ CalculateOutFlow_W()

double SEThermalCompartment::CalculateOutFlow_W ( ) const
protectedvirtual

◆ Clear()

void SEThermalCompartment::Clear ( )
overridevirtual

Reimplemented from SECompartment.

◆ GetChildren()

virtual const std::vector< SEThermalCompartment * > & SEThermalCompartment::GetChildren ( )
inlinevirtual

◆ GetHeat() [1/2]

SEScalarEnergy & SEThermalCompartment::GetHeat ( )
virtual

◆ GetHeat() [2/2]

double SEThermalCompartment::GetHeat ( const EnergyUnit unit) const
virtual

◆ GetHeatTransferRateIn() [1/2]

const SEScalarPower & SEThermalCompartment::GetHeatTransferRateIn ( ) const
virtual

◆ GetHeatTransferRateIn() [2/2]

double SEThermalCompartment::GetHeatTransferRateIn ( const PowerUnit unit) const
virtual

◆ GetHeatTransferRateOut() [1/2]

const SEScalarPower & SEThermalCompartment::GetHeatTransferRateOut ( ) const
virtual

◆ GetHeatTransferRateOut() [2/2]

double SEThermalCompartment::GetHeatTransferRateOut ( const PowerUnit unit) const
virtual

◆ GetLeaves()

virtual const std::vector< SEThermalCompartment * > & SEThermalCompartment::GetLeaves ( )
inlinevirtual

◆ GetLinks()

const std::vector< SEThermalCompartmentLink * > & SEThermalCompartment::GetLinks ( )
virtual

◆ GetNodeMapping()

virtual SECompartmentNodes< THERMAL_COMPARTMENT_NODE > & SEThermalCompartment::GetNodeMapping ( )
inlinevirtual

◆ GetScalar()

const SEScalar * SEThermalCompartment::GetScalar ( const std::string &  name)
overridevirtual

Implements SECompartment.

◆ GetTemperature() [1/2]

SEScalarTemperature & SEThermalCompartment::GetTemperature ( )
virtual

◆ GetTemperature() [2/2]

double SEThermalCompartment::GetTemperature ( const TemperatureUnit unit) const
virtual

◆ HasChild()

bool SEThermalCompartment::HasChild ( const SEThermalCompartment cmpt)
virtual

◆ HasChildren()

bool SEThermalCompartment::HasChildren ( ) const
inlineoverridevirtual

Implements SECompartment.

◆ HasHeat()

bool SEThermalCompartment::HasHeat ( ) const
virtual

◆ HasHeatTransferRateIn()

bool SEThermalCompartment::HasHeatTransferRateIn ( ) const
virtual

◆ HasHeatTransferRateOut()

bool SEThermalCompartment::HasHeatTransferRateOut ( ) const
virtual

◆ HasNodeMapping()

virtual bool SEThermalCompartment::HasNodeMapping ( ) const
inlinevirtual

◆ HasTemperature()

bool SEThermalCompartment::HasTemperature ( ) const
virtual

◆ MapNode()

void SEThermalCompartment::MapNode ( SEThermalCircuitNode node)
virtual

◆ RemoveLink()

void SEThermalCompartment::RemoveLink ( SEThermalCompartmentLink link)
virtual

◆ RemoveLinks()

void SEThermalCompartment::RemoveLinks ( )
virtual

◆ StateChange()

void SEThermalCompartment::StateChange ( )
overridevirtual

Implements SECompartment.

Friends And Related Function Documentation

◆ PBCompartment

friend class PBCompartment
friend

◆ SECompartmentGraph

template<typename CompartmentType , typename CompartmentLinkType >
friend class SECompartmentGraph
friend

◆ SECompartmentManager

friend class SECompartmentManager
friend

Member Data Documentation

◆ m_Children

std::vector<SEThermalCompartment*> SEThermalCompartment::m_Children
protected

◆ m_Heat

SEScalarEnergy* SEThermalCompartment::m_Heat
protected

◆ m_HeatTransferRateIn

SEScalarPower* SEThermalCompartment::m_HeatTransferRateIn
mutableprotected

◆ m_HeatTransferRateOut

SEScalarPower* SEThermalCompartment::m_HeatTransferRateOut
mutableprotected

◆ m_IncomingLinks

std::vector<SEThermalCompartmentLink*> SEThermalCompartment::m_IncomingLinks
protected

◆ m_Leaves

std::vector<SEThermalCompartment*> SEThermalCompartment::m_Leaves
protected

◆ m_Links

std::vector<SEThermalCompartmentLink*> SEThermalCompartment::m_Links
protected

◆ m_Nodes

SECompartmentNodes<THERMAL_COMPARTMENT_NODE> SEThermalCompartment::m_Nodes
protected

◆ m_OutgoingLinks

std::vector<SEThermalCompartmentLink*> SEThermalCompartment::m_OutgoingLinks
protected

◆ m_Temperature

SEScalarTemperature* SEThermalCompartment::m_Temperature
protected

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.