What’s New in the Pulse Physiology Engine 4.4.0
×

#include <SELiquidCompartment.h>

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

Public Member Functions

virtual ~SELiquidCompartment ()
 
void Clear () override
 
const SEScalar * GetScalar (const std::string &name) override
 
void StateChange () override
 
virtual void Balance (BalanceLiquidBy e)
 
virtual double DepositAerosol (size_t substanceIdx, double efficiency, double timeStep_s)
 
virtual double DepositAerosol (const SESubstance &substance, double efficiency, double timeStep_s)
 
virtual bool HasPerfusion () const
 
virtual SEScalarVolumePerTime & GetPerfusion ()
 
virtual double GetPerfusion (const VolumePerTimeUnit &unit) const
 
virtual bool HasPH () const
 
virtual SEScalar & GetPH ()
 
virtual double GetPH () const
 
virtual bool HasWaterVolumeFraction () const
 
virtual SEScalar0To1 & GetWaterVolumeFraction ()
 
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 SEScalar * GetScalar (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 SEScalarVolumePerTime & GetInflow () const
 
virtual double GetInflow (const VolumePerTimeUnit &unit) const
 
virtual bool HasAverageInflow () const
 
virtual const SEScalarVolumePerTime & GetAverageInflow () const
 
virtual double GetAverageInflow (const VolumePerTimeUnit &unit) const
 
virtual bool HasOutflow () const
 
virtual const SEScalarVolumePerTime & GetOutflow () const
 
virtual double GetOutflow (const VolumePerTimeUnit &unit) const
 
virtual bool HasAverageOutflow () const
 
virtual const SEScalarVolumePerTime & GetAverageOutflow () const
 
virtual double GetAverageOutflow (const VolumePerTimeUnit &unit) const
 
virtual bool HasPressure () const
 
virtual SEScalarPressure & GetPressure ()
 
virtual double GetPressure (const PressureUnit &unit) const
 
virtual bool HasVolume () const
 
virtual SEScalarVolume & GetVolume ()
 
virtual double GetVolume (const VolumeUnit &unit) const
 
virtual bool HasSubstanceQuantities () const
 
virtual bool HasSubstanceQuantity (const SESubstance &substance) const
 
virtual SubstanceQuantityType * GetSubstanceQuantity (const SESubstance &substance)
 
virtual const 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 SEScalar * GetScalar (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 Logger * GetLogger () 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 SELiquidSubstanceQuantity & CreateSubstanceQuantity (SESubstance &substance, bool zeroOut=true)
 
virtual double DepositAerosol (SELiquidSubstanceQuantity &sq, double efficiency, double timeStep_s)
 
- 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
 
SEScalarVolume & GetQuantity () 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

SEScalarVolumePerTime * m_Perfusion
 
SEScalar * m_pH
 
SEScalar0To1 * m_WaterVolumeFraction
 
std::vector< SELiquidCompartment * > m_Children
 
std::vector< SELiquidCompartment * > m_Leaves
 
- Protected Attributes inherited from SEFluidCompartment< SELiquidCompartmentLink, SELiquidTransportVertex, SELiquidTransportSubstance, SELiquidSubstanceQuantity >
SEScalarVolumePerTime * m_Inflow
 
SEScalarVolumePerTime * m_Outflow
 
bool m_SampleFlow
 
SEScalarVolumePerTime * m_AverageInflow
 
SEScalarVolumePerTime * m_AverageOutflow
 
SERunningAverage * m_AverageInflow_mL_Per_s
 
SERunningAverage * m_AverageOutflow_mL_Per_s
 
SEScalarPressure * m_Pressure
 
SEScalarVolume * m_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
 
Logger * m_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

◆ DepositAerosol() [1/3]

double SELiquidCompartment::DepositAerosol ( const SESubstance &  substance,
double  efficiency,
double  timeStep_s 
)
virtual

◆ DepositAerosol() [2/3]

double SELiquidCompartment::DepositAerosol ( SELiquidSubstanceQuantity &  sq,
double  efficiency,
double  timeStep_s 
)
protectedvirtual

◆ DepositAerosol() [3/3]

double SELiquidCompartment::DepositAerosol ( size_t  substanceIdx,
double  efficiency,
double  timeStep_s 
)
virtual

◆ 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.