biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE > Class Template Referenceabstract

#include <SEFluidCompartment.h>

Inheritance diagram for biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >:

Public Member Functions

virtual ~SEFluidCompartment ()
 
void Clear () override
 
virtual bool Load (const CDM::FluidCompartmentData &in, SECircuitManager *circuits=nullptr)
 
CDM::FluidCompartmentDataUnload () override=0
 
std::string GetName () const override
 
const char * GetName_cStr () const override
 
const SEScalarGetScalar (const char *name) override
 
const SEScalarGetScalar (const std::string &name) override
 
bool HasChildren () const override
 
virtual bool HasNodeMapping () const
 
virtual SECompartmentNodes< FLUID_COMPARTMENT_NODE > & GetNodeMapping ()
 
virtual void MapNode (SEFluidCircuitNode &node)
 
virtual bool HasInFlow () const
 
virtual const SEScalarVolumePerTimeGetInFlow ()
 
virtual double GetInFlow (const VolumePerTimeUnit &unit) const
 
virtual bool HasOutFlow () const
 
virtual const SEScalarVolumePerTimeGetOutFlow ()
 
virtual double GetOutFlow (const VolumePerTimeUnit &unit) const
 
virtual bool HasPressure () const
 
virtual SEScalarPressureGetPressure ()
 
virtual double GetPressure (const PressureUnit &unit) const
 
virtual bool HasVolume () const
 
virtual SEScalarVolumeGetVolume ()
 
virtual double GetVolume (const VolumeUnit &unit) const
 
virtual bool HasSubstanceQuantities () const
 
virtual bool HasSubstanceQuantity (const SESubstance &substance) const
 
virtual SubstanceQuantityType * GetSubstanceQuantity (const SESubstance &substance) const
 
virtual const std::vector< SubstanceQuantityType * > & GetSubstanceQuantities () const
 
virtual void ZeroSubstanceQuantities ()
 
virtual void AddLink (LinkType &link)
 
virtual void RemoveLink (LinkType &link)
 
virtual void RemoveLinks ()
 
virtual const std::vector< LinkType * > & GetLinks ()
 
virtual bool HasChild (const char *name)
 
virtual bool HasChild (const std::string &name)
 
- Public Member Functions inherited from biogears::SECompartment
virtual ~SECompartment () override
 
virtual bool Load (const CDM::CompartmentData &in, SECircuitManager *circuits=nullptr)
 
virtual void StateChange ()=0
 
- Public Member Functions inherited from biogears::Loggable
 Loggable ()
 
 Loggable (Logger *log)
 
virtual ~Loggable ()
 
virtual LoggerGetLogger () const
 

Protected Member Functions

 SEFluidCompartment (const char *name, Logger *logger)
 
 SEFluidCompartment (const std::string &name, Logger *logger)
 
virtual void Unload (CDM::FluidCompartmentData &data)
 
virtual void RemoveSubstanceQuantity (const SESubstance &substance)
 
virtual bool HasQuantity () const override
 
virtual SEScalarVolumeGetQuantity () override
 
virtual double CalculateInFlow_mL_Per_s () const
 
virtual double CalculateOutFlow_mL_Per_s () const
 
virtual std::vector< TransportSubstanceType * > & GetTransportSubstances () override
 
- Protected Member Functions inherited from biogears::SECompartment
 SECompartment (const char *name, Logger *logger)
 
 SECompartment (const std::string &name, Logger *logger)
 
virtual void Unload (CDM::CompartmentData &data)
 
- Protected Member Functions inherited from biogears::Loggable
virtual void Debug (const char *msg, const char *origin="") const
 
virtual void Debug (const std::string &msg, const std::string &origin=empty) const
 
virtual void Debug (std::ostream &msg, const std::string &origin=empty) const
 
virtual void Info (const char *msg, const char *origin="") const
 
virtual void Info (const std::string &msg, const std::string &origin=empty) const
 
virtual void Info (std::ostream &msg, const std::string &origin=empty) const
 
virtual void Warning (const char *msg, const char *origin="") const
 
virtual void Warning (const std::string &msg, const std::string &origin=empty) const
 
virtual void Warning (std::ostream &msg, const std::string &origin=empty) const
 
virtual void Error (const char *msg, const char *origin="") const
 
virtual void Error (const std::string msg, const std::string origin=empty) const
 
virtual void Error (std::ostream &msg, const std::string &origin=empty) const
 
virtual void Fatal (const char *msg, const char *origin="") const
 
virtual void Fatal (const std::string &msg, const std::string &origin=empty) const
 
virtual void Fatal (std::ostream &msg, const std::string &origin=empty) const
 

Protected Attributes

SEScalarVolumePerTimem_InFlow
 
SEScalarVolumePerTimem_OutFlow
 
SEScalarPressurem_Pressure
 
SEScalarVolumem_Volume
 
std::vector< SubstanceQuantityType * > m_SubstanceQuantities
 
std::vector< TransportSubstanceType * > m_TransportSubstances
 
std::vector< LinkType * > m_Links
 
std::vector< LinkType * > m_IncomingLinks
 
std::vector< LinkType * > m_OutgoingLinks
 
std::vector< SEFluidCompartment * > m_FluidChildren
 
SECompartmentNodes< FLUID_COMPARTMENT_NODE > m_Nodes
 
- Protected Attributes inherited from biogears::SECompartment
std::string m_Name
 
- Protected Attributes inherited from biogears::Loggable
Loggerm_Logger
 

Friends

template<typename CompartmentType , typename CompartmentLinkType >
class SECompartmentGraph
 

Additional Inherited Members

- Static Public Member Functions inherited from biogears::SECompartment
template<typename CompartmentType >
static void FindLeaves (CompartmentType &cmpt, std::vector< CompartmentType * > &leaves)
 
- Static Public Attributes inherited from biogears::Loggable
static const std::string empty
 
static const char * empty_cStr
 

Constructor & Destructor Documentation

template<FLUID_COMPARTMENT_TEMPLATE >
biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::SEFluidCompartment ( const char *  name,
Logger logger 
)
protected
template<FLUID_COMPARTMENT_TEMPLATE >
biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::SEFluidCompartment ( const std::string &  name,
Logger logger 
)
protected
template<FLUID_COMPARTMENT_TEMPLATE >
virtual biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::~SEFluidCompartment ( )
virtual

Member Function Documentation

template<FLUID_COMPARTMENT_TEMPLATE >
virtual void biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::AddLink ( LinkType &  link)
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual double biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::CalculateInFlow_mL_Per_s ( ) const
protectedvirtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual double biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::CalculateOutFlow_mL_Per_s ( ) const
protectedvirtual
template<FLUID_COMPARTMENT_TEMPLATE >
void biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::Clear ( )
overridevirtual

Reimplemented from biogears::SECompartment.

template<FLUID_COMPARTMENT_TEMPLATE >
virtual const SEScalarVolumePerTime& biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetInFlow ( )
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual double biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetInFlow ( const VolumePerTimeUnit unit) const
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual const std::vector<LinkType*>& biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetLinks ( )
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
std::string biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetName ( ) const
overridevirtual

Reimplemented from biogears::SECompartment.

template<FLUID_COMPARTMENT_TEMPLATE >
const char* biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetName_cStr ( ) const
overridevirtual

Reimplemented from biogears::SECompartment.

template<FLUID_COMPARTMENT_TEMPLATE >
virtual SECompartmentNodes<FLUID_COMPARTMENT_NODE>& biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetNodeMapping ( )
inlinevirtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual const SEScalarVolumePerTime& biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetOutFlow ( )
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual double biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetOutFlow ( const VolumePerTimeUnit unit) const
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual SEScalarPressure& biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetPressure ( )
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual double biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetPressure ( const PressureUnit unit) const
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual SEScalarVolume& biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetQuantity ( )
inlineoverrideprotectedvirtual
template<FLUID_COMPARTMENT_TEMPLATE >
const SEScalar* biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetScalar ( const char *  name)
overridevirtual
template<FLUID_COMPARTMENT_TEMPLATE >
const SEScalar* biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetScalar ( const std::string &  name)
overridevirtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual const std::vector<SubstanceQuantityType*>& biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetSubstanceQuantities ( ) const
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual SubstanceQuantityType* biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetSubstanceQuantity ( const SESubstance substance) const
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual std::vector<TransportSubstanceType*>& biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetTransportSubstances ( )
inlineoverrideprotectedvirtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual SEScalarVolume& biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetVolume ( )
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual double biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::GetVolume ( const VolumeUnit unit) const
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual bool biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::HasChild ( const char *  name)
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual bool biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::HasChild ( const std::string &  name)
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
bool biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::HasChildren ( ) const
inlineoverridevirtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual bool biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::HasInFlow ( ) const
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual bool biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::HasNodeMapping ( ) const
inlinevirtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual bool biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::HasOutFlow ( ) const
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual bool biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::HasPressure ( ) const
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual bool biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::HasQuantity ( ) const
inlineoverrideprotectedvirtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual bool biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::HasSubstanceQuantities ( ) const
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual bool biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::HasSubstanceQuantity ( const SESubstance substance) const
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual bool biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::HasVolume ( ) const
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual bool biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::Load ( const CDM::FluidCompartmentData in,
SECircuitManager circuits = nullptr 
)
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual void biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::MapNode ( SEFluidCircuitNode node)
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual void biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::RemoveLink ( LinkType &  link)
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual void biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::RemoveLinks ( )
virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual void biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::RemoveSubstanceQuantity ( const SESubstance substance)
protectedvirtual
template<FLUID_COMPARTMENT_TEMPLATE >
CDM::FluidCompartmentData* biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::Unload ( )
overridepure virtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual void biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::Unload ( CDM::FluidCompartmentData data)
protectedvirtual
template<FLUID_COMPARTMENT_TEMPLATE >
virtual void biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::ZeroSubstanceQuantities ( )
virtual

Friends And Related Function Documentation

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

Member Data Documentation

template<FLUID_COMPARTMENT_TEMPLATE >
std::vector<SEFluidCompartment*> biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::m_FluidChildren
protected
template<FLUID_COMPARTMENT_TEMPLATE >
std::vector<LinkType*> biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::m_IncomingLinks
protected
template<FLUID_COMPARTMENT_TEMPLATE >
SEScalarVolumePerTime* biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::m_InFlow
protected
template<FLUID_COMPARTMENT_TEMPLATE >
std::vector<LinkType*> biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::m_Links
protected
template<FLUID_COMPARTMENT_TEMPLATE >
SECompartmentNodes<FLUID_COMPARTMENT_NODE> biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::m_Nodes
protected
template<FLUID_COMPARTMENT_TEMPLATE >
SEScalarVolumePerTime* biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::m_OutFlow
protected
template<FLUID_COMPARTMENT_TEMPLATE >
std::vector<LinkType*> biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::m_OutgoingLinks
protected
template<FLUID_COMPARTMENT_TEMPLATE >
SEScalarPressure* biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::m_Pressure
protected
template<FLUID_COMPARTMENT_TEMPLATE >
std::vector<SubstanceQuantityType*> biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::m_SubstanceQuantities
protected
template<FLUID_COMPARTMENT_TEMPLATE >
std::vector<TransportSubstanceType*> biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::m_TransportSubstances
protected
template<FLUID_COMPARTMENT_TEMPLATE >
SEScalarVolume* biogears::SEFluidCompartment< FLUID_COMPARTMENT_TEMPLATE >::m_Volume
protected