#include <SEGasCompartment.h>

Inherits SEFluidCompartment< SEGasCompartmentLink, SEGasTransportVertex, SEGasTransportSubstance, SEGasSubstanceQuantity >.

Public Member Functions

virtual ~SEGasCompartment ()
 
void Clear () override
 
const SEScalarGetScalar (const std::string &name) override
 
void StateChange () override
 
virtual void Balance (BalanceGasBy e)
 
virtual bool HasDiffusionSurfaceArea () const
 
virtual SEScalarAreaGetDiffusionSurfaceArea ()
 
virtual double GetDiffusionSurfaceArea (const AreaUnit &unit) const
 
virtual bool HasVentilation () const
 
virtual SEScalarVolumePerTimeGetVentilation ()
 
virtual double GetVentilation (const VolumePerTimeUnit &unit) const
 
virtual bool HasVentilationPerfusionRatio () const
 
virtual SEScalarGetVentilationPerfusionRatio ()
 
virtual double GetVentilationPerfusionRatio () const
 
virtual void AddChild (SEGasCompartment &child)
 
virtual const std::vector< SEGasCompartment * > & GetChildren ()
 
virtual const std::vector< SEGasCompartment * > & GetLeaves ()
 
- Public Member Functions inherited from SEFluidCompartment< SEGasCompartmentLink, SEGasTransportVertex, SEGasTransportSubstance, SEGasSubstanceQuantity >
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

 SEGasCompartment (const std::string &name, Logger *logger)
 
virtual SEGasSubstanceQuantityCreateSubstanceQuantity (SESubstance &substance, bool zeroOut=true)
 
- Protected Member Functions inherited from SEFluidCompartment< SEGasCompartmentLink, SEGasTransportVertex, SEGasTransportSubstance, SEGasSubstanceQuantity >
 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

SEScalarAream_DiffusionSurfaceArea
 
SEScalarVolumePerTimem_Ventilation
 
SEScalarm_VentilationPerfusionRatio
 
std::vector< SEGasCompartment * > m_Children
 
std::vector< SEGasCompartment * > m_Leaves
 
- Protected Attributes inherited from SEFluidCompartment< SEGasCompartmentLink, SEGasTransportVertex, SEGasTransportSubstance, SEGasSubstanceQuantity >
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 SECompartmentManager
 

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

◆ SEGasCompartment()

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

◆ ~SEGasCompartment()

SEGasCompartment::~SEGasCompartment ( )
virtual

Member Function Documentation

◆ AddChild()

void SEGasCompartment::AddChild ( SEGasCompartment child)
virtual

◆ Balance()

void SEGasCompartment::Balance ( BalanceGasBy  e)
virtual

◆ Clear()

void SEGasCompartment::Clear ( )
overridevirtual

Reimplemented from SECompartment.

◆ CreateSubstanceQuantity()

SEGasSubstanceQuantity & SEGasCompartment::CreateSubstanceQuantity ( SESubstance substance,
bool  zeroOut = true 
)
protectedvirtual

◆ GetChildren()

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

◆ GetDiffusionSurfaceArea() [1/2]

SEScalarArea & SEGasCompartment::GetDiffusionSurfaceArea ( )
virtual

◆ GetDiffusionSurfaceArea() [2/2]

double SEGasCompartment::GetDiffusionSurfaceArea ( const AreaUnit unit) const
virtual

◆ GetLeaves()

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

◆ GetScalar()

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

Implements SECompartment.

◆ GetVentilation() [1/2]

SEScalarVolumePerTime & SEGasCompartment::GetVentilation ( )
virtual

◆ GetVentilation() [2/2]

double SEGasCompartment::GetVentilation ( const VolumePerTimeUnit unit) const
virtual

◆ GetVentilationPerfusionRatio() [1/2]

SEScalar & SEGasCompartment::GetVentilationPerfusionRatio ( )
virtual

◆ GetVentilationPerfusionRatio() [2/2]

double SEGasCompartment::GetVentilationPerfusionRatio ( ) const
virtual

◆ HasDiffusionSurfaceArea()

bool SEGasCompartment::HasDiffusionSurfaceArea ( ) const
virtual

◆ HasVentilation()

bool SEGasCompartment::HasVentilation ( ) const
virtual

◆ HasVentilationPerfusionRatio()

bool SEGasCompartment::HasVentilationPerfusionRatio ( ) const
virtual

◆ StateChange()

void SEGasCompartment::StateChange ( )
overridevirtual

Implements SECompartment.

Friends And Related Function Documentation

◆ PBCompartment

friend class PBCompartment
friend

◆ SECompartmentManager

friend class SECompartmentManager
friend

Member Data Documentation

◆ m_Children

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

◆ m_DiffusionSurfaceArea

SEScalarArea* SEGasCompartment::m_DiffusionSurfaceArea
protected

◆ m_Leaves

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

◆ m_Ventilation

SEScalarVolumePerTime* SEGasCompartment::m_Ventilation
protected

◆ m_VentilationPerfusionRatio

SEScalar* SEGasCompartment::m_VentilationPerfusionRatio
protected

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.