#include <SELiquidCompartment.h>

Inherits SEFluidCompartment< SELiquidCompartmentLink, SELiquidTransportVertex, SELiquidTransportSubstance, SELiquidSubstanceQuantity >.

Public Member Functions

virtual ~SELiquidCompartment ()
 
void Clear () override
 
const SEScalarGetScalar (const std::string &name) override
 
void StateChange () override
 
virtual void Balance (BalanceLiquidBy e)
 
virtual bool HasPerfusion () const
 
virtual SEScalarVolumePerTimeGetPerfusion ()
 
virtual double GetPerfusion (const VolumePerTimeUnit &unit) const
 
virtual bool HasPH () const
 
virtual SEScalarGetPH ()
 
virtual double GetPH () const
 
virtual bool HasWaterVolumeFraction () const
 
virtual SEScalar0To1GetWaterVolumeFraction ()
 
virtual double GetWaterVolumeFraction () const
 
virtual void AddChild (SELiquidCompartment &child)
 
virtual const std::vector< SELiquidCompartment * > & GetChildren ()
 
virtual const std::vector< SELiquidCompartment * > & GetLeaves ()
 
- Public Member Functions inherited from SEFluidCompartment< SELiquidCompartmentLink, SELiquidTransportVertex, SELiquidTransportSubstance, SELiquidSubstanceQuantity >
virtual ~SEFluidCompartment ()
 
void Clear () override
 
std::string GetName () const 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 void Sample (bool CycleStart)
 
virtual void SampleFlow ()
 
virtual bool HasInFlow () const
 
virtual const SEScalarVolumePerTimeGetInFlow () const
 
virtual double GetInFlow (const VolumePerTimeUnit &unit) const
 
virtual bool HasAverageInFlow () const
 
virtual const SEScalarVolumePerTimeGetAverageInFlow () const
 
virtual double GetAverageInFlow (const VolumePerTimeUnit &unit) const
 
virtual bool HasOutFlow () const
 
virtual const SEScalarVolumePerTimeGetOutFlow () const
 
virtual double GetOutFlow (const VolumePerTimeUnit &unit) const
 
virtual bool HasAverageOutFlow () const
 
virtual const SEScalarVolumePerTimeGetAverageOutFlow () const
 
virtual double GetAverageOutFlow (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 SEFluidCompartment &cmpt)
 
- 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

 SELiquidCompartment (const std::string &name, Logger *logger)
 
virtual SELiquidSubstanceQuantityCreateSubstanceQuantity (SESubstance &substance, bool zeroOut=true)
 
- Protected Member Functions inherited from SEFluidCompartment< SELiquidCompartmentLink, SELiquidTransportVertex, SELiquidTransportSubstance, SELiquidSubstanceQuantity >
 SEFluidCompartment (const std::string &name, Logger *logger)
 
virtual void RemoveSubstanceQuantity (const SESubstance &substance)
 
bool HasQuantity () const override
 
SEScalarVolumeGetQuantity () override
 
virtual double CalculateInFlow_mL_Per_s () const
 
virtual double CalculateOutFlow_mL_Per_s () const
 
std::vector< TransportSubstanceType * > & GetTransportSubstances () override
 
- Protected Member Functions inherited from SECompartment
 SECompartment (const std::string &name, Logger *logger)
 

Protected Attributes

SEScalarVolumePerTimem_Perfusion
 
SEScalarm_pH
 
SEScalar0To1m_WaterVolumeFraction
 
std::vector< SELiquidCompartment * > m_Children
 
std::vector< SELiquidCompartment * > m_Leaves
 
- Protected Attributes inherited from SEFluidCompartment< SELiquidCompartmentLink, SELiquidTransportVertex, SELiquidTransportSubstance, SELiquidSubstanceQuantity >
SEScalarVolumePerTimem_InFlow
 
SEScalarVolumePerTimem_OutFlow
 
bool m_SampleFlow
 
SEScalarVolumePerTimem_AverageInFlow
 
SEScalarVolumePerTimem_AverageOutFlow
 
SERunningAveragem_AverageInFlow_mL_Per_s
 
SERunningAveragem_AverageOutFlow_mL_Per_s
 
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 SECompartment
std::string m_Name
 
- Protected Attributes inherited from Loggable
bool myLogger
 
Loggerm_Logger
 

Friends

class PBCompartment
 
class SETissueCompartment
 
class SECompartmentManager
 
class SELiquidSubstanceQuantity
 

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

◆ SELiquidCompartment()

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

◆ ~SELiquidCompartment()

SELiquidCompartment::~SELiquidCompartment ( )
virtual

Member Function Documentation

◆ AddChild()

void SELiquidCompartment::AddChild ( SELiquidCompartment child)
virtual

◆ Balance()

void SELiquidCompartment::Balance ( BalanceLiquidBy  e)
virtual

◆ Clear()

void SELiquidCompartment::Clear ( )
overridevirtual

Reimplemented from SECompartment.

◆ CreateSubstanceQuantity()

SELiquidSubstanceQuantity & SELiquidCompartment::CreateSubstanceQuantity ( SESubstance substance,
bool  zeroOut = true 
)
protectedvirtual

◆ GetChildren()

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

◆ GetLeaves()

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

◆ GetPerfusion() [1/2]

SEScalarVolumePerTime & SELiquidCompartment::GetPerfusion ( )
virtual

◆ GetPerfusion() [2/2]

double SELiquidCompartment::GetPerfusion ( const VolumePerTimeUnit unit) const
virtual

◆ GetPH() [1/2]

SEScalar & SELiquidCompartment::GetPH ( )
virtual

◆ GetPH() [2/2]

double SELiquidCompartment::GetPH ( ) const
virtual

◆ GetScalar()

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

Implements SECompartment.

◆ GetWaterVolumeFraction() [1/2]

SEScalar0To1 & SELiquidCompartment::GetWaterVolumeFraction ( )
virtual

◆ GetWaterVolumeFraction() [2/2]

double SELiquidCompartment::GetWaterVolumeFraction ( ) const
virtual

◆ HasPerfusion()

bool SELiquidCompartment::HasPerfusion ( ) const
virtual

◆ HasPH()

bool SELiquidCompartment::HasPH ( ) const
virtual

◆ HasWaterVolumeFraction()

bool SELiquidCompartment::HasWaterVolumeFraction ( ) const
virtual

◆ StateChange()

void SELiquidCompartment::StateChange ( )
overridevirtual

Implements SECompartment.

Friends And Related Function Documentation

◆ PBCompartment

friend class PBCompartment
friend

◆ SECompartmentManager

friend class SECompartmentManager
friend

◆ SELiquidSubstanceQuantity

friend class SELiquidSubstanceQuantity
friend

◆ SETissueCompartment

friend class SETissueCompartment
friend

Member Data Documentation

◆ m_Children

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

◆ m_Leaves

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

◆ m_Perfusion

SEScalarVolumePerTime* SELiquidCompartment::m_Perfusion
protected

◆ m_pH

SEScalar* SELiquidCompartment::m_pH
protected

◆ m_WaterVolumeFraction

SEScalar0To1* SELiquidCompartment::m_WaterVolumeFraction
protected

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.