#include <SEGasSubstanceQuantity.h>

Inherits SESubstanceQuantity, and SESubstanceTransportAmount< ExtensiveScalar, IntensiveScalar >.

Public Member Functions

virtual ~SEGasSubstanceQuantity ()
 
void Clear () override
 
virtual std::string GetCompartmentName () override
 
void SetToZero () override
 
const SEScalarGetScalar (const std::string &name) override
 
virtual bool HasPartialPressure () const
 
virtual SEScalarPressureGetPartialPressure ()
 
virtual double GetPartialPressure (const PressureUnit &unit) const
 
virtual bool HasVolume () const
 
virtual SEScalarVolumeGetVolume ()
 
virtual double GetVolume (const VolumeUnit &unit) const
 
virtual bool HasVolumeFraction () const
 
virtual SEScalar0To1GetVolumeFraction ()
 
virtual double GetVolumeFraction () const
 
- Public Member Functions inherited from SESubstanceQuantity
 SESubstanceQuantity (SESubstance &sub)
 
virtual ~SESubstanceQuantity ()
 
virtual void Clear ()=0
 
virtual std::string GetCompartmentName ()=0
 
virtual SESubstanceGetSubstance ()
 
virtual const SESubstanceGetSubstance () const
 
virtual void SetToZero ()=0
 
virtual const SEScalarGetScalar (const std::string &name)=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
 
- Public Member Functions inherited from SESubstanceTransportAmount< ExtensiveScalar, IntensiveScalar >
virtual ~SESubstanceTransportAmount ()
 
virtual void Clear ()=0
 
virtual bool HasExtensive () const =0
 
virtual ExtensiveScalar & GetExtensive ()=0
 
virtual bool HasIntensive () const =0
 
virtual IntensiveScalar & GetIntensive ()=0
 

Protected Member Functions

 SEGasSubstanceQuantity (SESubstance &sub, SEGasCompartment &compartment)
 
virtual void AddChild (SEGasSubstanceQuantity &subQ)
 
bool HasExtensive () const override
 
SEScalarVolumeGetExtensive () override
 
bool HasIntensive () const override
 
SEScalar0To1GetIntensive () override
 

Protected Attributes

SEScalarPressurem_PartialPressure
 
SEScalarVolumem_Volume
 
SEScalar0To1m_VolumeFraction
 
SEGasCompartmentm_Compartment
 
std::vector< SEGasSubstanceQuantity * > m_Children
 
- Protected Attributes inherited from SESubstanceQuantity
SESubstancem_Substance
 
- Protected Attributes inherited from Loggable
bool myLogger
 
Loggerm_Logger
 

Friends

class PBSubstanceQuantity
 
class SEGasCompartment
 

Constructor & Destructor Documentation

◆ SEGasSubstanceQuantity()

SEGasSubstanceQuantity::SEGasSubstanceQuantity ( SESubstance sub,
SEGasCompartment compartment 
)
protected

◆ ~SEGasSubstanceQuantity()

SEGasSubstanceQuantity::~SEGasSubstanceQuantity ( )
virtual

Member Function Documentation

◆ AddChild()

void SEGasSubstanceQuantity::AddChild ( SEGasSubstanceQuantity subQ)
protectedvirtual

◆ Clear()

void SEGasSubstanceQuantity::Clear ( )
overridevirtual

Implements SESubstanceQuantity.

◆ GetCompartmentName()

std::string SEGasSubstanceQuantity::GetCompartmentName ( )
overridevirtual

Implements SESubstanceQuantity.

◆ GetExtensive()

SEScalarVolume & SEGasSubstanceQuantity::GetExtensive ( )
inlineoverrideprotectedvirtual

◆ GetIntensive()

SEScalar0To1 & SEGasSubstanceQuantity::GetIntensive ( )
inlineoverrideprotectedvirtual

◆ GetPartialPressure() [1/2]

SEScalarPressure & SEGasSubstanceQuantity::GetPartialPressure ( )
virtual

◆ GetPartialPressure() [2/2]

double SEGasSubstanceQuantity::GetPartialPressure ( const PressureUnit unit) const
virtual

◆ GetScalar()

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

Implements SESubstanceQuantity.

◆ GetVolume() [1/2]

SEScalarVolume & SEGasSubstanceQuantity::GetVolume ( )
virtual

◆ GetVolume() [2/2]

double SEGasSubstanceQuantity::GetVolume ( const VolumeUnit unit) const
virtual

◆ GetVolumeFraction() [1/2]

SEScalar0To1 & SEGasSubstanceQuantity::GetVolumeFraction ( )
virtual

◆ GetVolumeFraction() [2/2]

double SEGasSubstanceQuantity::GetVolumeFraction ( ) const
virtual

◆ HasExtensive()

bool SEGasSubstanceQuantity::HasExtensive ( ) const
inlineoverrideprotectedvirtual

◆ HasIntensive()

bool SEGasSubstanceQuantity::HasIntensive ( ) const
inlineoverrideprotectedvirtual

◆ HasPartialPressure()

bool SEGasSubstanceQuantity::HasPartialPressure ( ) const
virtual

◆ HasVolume()

bool SEGasSubstanceQuantity::HasVolume ( ) const
virtual

◆ HasVolumeFraction()

bool SEGasSubstanceQuantity::HasVolumeFraction ( ) const
virtual

◆ SetToZero()

void SEGasSubstanceQuantity::SetToZero ( )
overridevirtual

Implements SESubstanceQuantity.

Friends And Related Function Documentation

◆ PBSubstanceQuantity

friend class PBSubstanceQuantity
friend

◆ SEGasCompartment

friend class SEGasCompartment
friend

Member Data Documentation

◆ m_Children

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

◆ m_Compartment

SEGasCompartment& SEGasSubstanceQuantity::m_Compartment
protected

◆ m_PartialPressure

SEScalarPressure* SEGasSubstanceQuantity::m_PartialPressure
protected

◆ m_Volume

SEScalarVolume* SEGasSubstanceQuantity::m_Volume
protected

◆ m_VolumeFraction

SEScalar0To1* SEGasSubstanceQuantity::m_VolumeFraction
protected

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.