SEFluidCompartment.h
35 #define FLUID_COMPARTMENT_TEMPLATE typename LinkType, typename VertexType, typename TransportSubstanceType, typename SubstanceQuantityType
36 #define FLUID_COMPARTMENT_TYPES LinkType, VertexType, TransportSubstanceType, SubstanceQuantityType
111 virtual std::vector<TransportSubstanceType*>& GetTransportSubstances() override { return m_TransportSubstances; }
std::vector< LinkType * > m_Links
Definition: SEFluidCompartment.h:121
virtual bool HasMapping() const
Definition: SECompartmentNodes.h:33
virtual bool HasNodeMapping() const
Definition: SEFluidCompartment.h:68
virtual bool HasOutFlow() const
Definition: SEScalar.h:33
virtual bool Load(const CDM::FluidCompartmentData &in, SECircuitManager *circuits=nullptr)
SEScalarPressure * m_Pressure
Definition: SEFluidCompartment.h:115
virtual std::vector< TransportSubstanceType * > & GetTransportSubstances() override
Definition: SEFluidCompartment.h:111
std::vector< SubstanceQuantityType * > m_SubstanceQuantities
Definition: SEFluidCompartment.h:118
virtual void RemoveSubstanceQuantity(const SESubstance &substance)
virtual double CalculateOutFlow_mL_Per_s() const
virtual bool HasChild(const char *name)
Definition: SEFluidCompartment.h:39
virtual void AddLink(LinkType &link)
std::vector< TransportSubstanceType * > m_TransportSubstances
Definition: SEFluidCompartment.h:119
virtual const std::vector< LinkType * > & GetLinks()
virtual bool HasQuantity() const override
Definition: SEFluidCompartment.h:105
virtual bool HasPressure() const
virtual const std::vector< SubstanceQuantityType * > & GetSubstanceQuantities() const
const char * GetName_cStr() const override
Definition: SEScalarVolumePerTime.h:18
virtual bool HasVolume() const
virtual const SEScalarVolumePerTime & GetInFlow()
std::string GetName() const override
virtual bool HasSubstanceQuantity(const SESubstance &substance) const
SEScalarVolumePerTime * m_OutFlow
Definition: SEFluidCompartment.h:114
Definition: Logger.h:75
void Clear() override
virtual void ZeroSubstanceQuantities()
Definition: SEFluidCircuitNode.h:21
virtual double CalculateInFlow_mL_Per_s() const
Class corresponding to the FluidCompartmentData schema type.
Definition: Compartment.hxx:1827
virtual void RemoveLinks()
virtual ~SEFluidCompartment()
Definition: SEScalarVolume.h:18
virtual SEScalarVolume & GetQuantity() override
Definition: SEFluidCompartment.h:106
Definition: SEScalarPressure.h:37
Definition: SEScalarVolume.h:37
const SEScalar * GetScalar(const char *name) override
Definition: SESubstance.h:49
SECompartmentNodes< FLUID_COMPARTMENT_NODE > m_Nodes
Definition: SEFluidCompartment.h:125
Definition: SEScalarVolumePerTime.h:40
Definition: SECompartment.h:31
Definition: SECompartmentGraph.h:25
virtual const SEScalarVolumePerTime & GetOutFlow()
virtual SubstanceQuantityType * GetSubstanceQuantity(const SESubstance &substance) const
std::vector< LinkType * > m_OutgoingLinks
Definition: SEFluidCompartment.h:123
virtual SECompartmentNodes< FLUID_COMPARTMENT_NODE > & GetNodeMapping()
Definition: SEFluidCompartment.h:69
Definition: SEScalarPressure.h:18
virtual SEScalarVolume & GetVolume()
bool HasChildren() const override
Definition: SEFluidCompartment.h:66
SEFluidCompartment(const char *name, Logger *logger)
virtual void RemoveLink(LinkType &link)
Definition: SEElectricalCircuit.h:18
std::vector< LinkType * > m_IncomingLinks
Definition: SEFluidCompartment.h:122
Definition: SECircuitManager.h:53
virtual bool HasSubstanceQuantities() const
virtual bool HasInFlow() const
CDM::FluidCompartmentData * Unload() override=0
std::vector< SEFluidCompartment * > m_FluidChildren
Definition: SEFluidCompartment.h:124
virtual SEScalarPressure & GetPressure()
virtual void MapNode(SEFluidCircuitNode &node)
Definition: SEFluidCompartment.h:33
SEScalarVolumePerTime * m_InFlow
Definition: SEFluidCompartment.h:113