SEFluidCompartment.h
12template<typename EdgeType, typename VertexType, typename CompartmentType> class SEFluidCompartmentLink;
14#define FLUID_COMPARTMENT_TEMPLATE typename LinkType, typename VertexType, typename TransportSubstanceType, typename SubstanceQuantityType
15#define FLUID_COMPARTMENT_TYPES LinkType, VertexType, TransportSubstanceType, SubstanceQuantityType
21 template<typename CompartmentType, typename CompartmentLinkType> friend class SECompartmentGraph;
40 virtual void SampleFlow(); // We can add other sampling support as needed, just follow the pattern
88 std::vector<TransportSubstanceType*>& GetTransportSubstances() override { return m_TransportSubstances; }
Definition: Logger.h:71
Definition: PBCompartment.h:28
Definition: SEScalarPressure.h:8
Definition: SECompartmentGraph.h:11
Definition: SECompartment.h:14
Definition: SEFluidCircuitNode.h:10
Definition: SEFluidCompartment.h:19
virtual double CalculateOutFlow_mL_Per_s() const
Definition: SEFluidCompartment.cpp:236
virtual void ZeroSubstanceQuantities()
Definition: SEFluidCompartment.cpp:438
virtual void RemoveSubstanceQuantity(const SESubstance &substance)
Definition: SEFluidCompartment.cpp:423
virtual ~SEFluidCompartment()
Definition: SEFluidCompartment.cpp:26
virtual SEScalarPressure & GetPressure()
Definition: SEFluidCompartment.cpp:274
virtual void RemoveLink(LinkType &link)
Definition: SEFluidCompartment.cpp:473
virtual bool HasAverageOutFlow() const
Definition: SEFluidCompartment.cpp:188
std::vector< TransportSubstanceType * > m_TransportSubstances
Definition: SEFluidCompartment.h:102
virtual void AddLink(LinkType &link)
Definition: SEFluidCompartment.cpp:447
virtual SECompartmentNodes< FLUID_COMPARTMENT_NODE > & GetNodeMapping()
Definition: SEFluidCompartment.h:36
SEScalarVolume & GetQuantity() override
Definition: SEFluidCompartment.h:83
std::vector< SubstanceQuantityType * > m_SubstanceQuantities
Definition: SEFluidCompartment.h:101
SERunningAverage * m_AverageInFlow_mL_Per_s
Definition: SEFluidCompartment.h:95
virtual const std::vector< SubstanceQuantityType * > & GetSubstanceQuantities() const
Definition: SEFluidCompartment.cpp:418
std::vector< LinkType * > m_OutgoingLinks
Definition: SEFluidCompartment.h:106
virtual bool HasSubstanceQuantity(const SESubstance &substance) const
Definition: SEFluidCompartment.cpp:397
virtual bool HasAverageInFlow() const
Definition: SEFluidCompartment.cpp:134
std::vector< TransportSubstanceType * > & GetTransportSubstances() override
Definition: SEFluidCompartment.h:88
virtual bool HasSubstanceQuantities() const
Definition: SEFluidCompartment.cpp:392
virtual const SEScalarVolumePerTime & GetAverageInFlow() const
Definition: SEFluidCompartment.cpp:139
virtual void MapNode(SEFluidCircuitNode &node)
Definition: SEFluidCompartment.cpp:69
virtual const SEScalarVolumePerTime & GetInFlow() const
Definition: SEFluidCompartment.cpp:113
SEScalarVolumePerTime * m_AverageOutFlow
Definition: SEFluidCompartment.h:94
virtual const SEScalarVolumePerTime & GetAverageOutFlow() const
Definition: SEFluidCompartment.cpp:193
virtual bool HasNodeMapping() const
Definition: SEFluidCompartment.h:35
std::vector< SEFluidCompartment * > m_FluidChildren
Definition: SEFluidCompartment.h:107
virtual bool HasPressure() const
Definition: SEFluidCompartment.cpp:260
SEScalarVolumePerTime * m_AverageInFlow
Definition: SEFluidCompartment.h:93
SECompartmentNodes< FLUID_COMPARTMENT_NODE > m_Nodes
Definition: SEFluidCompartment.h:108
virtual bool HasChild(const SEFluidCompartment &cmpt)
Definition: SEFluidCompartment.cpp:491
virtual SEScalarVolume & GetVolume()
Definition: SEFluidCompartment.cpp:356
SERunningAverage * m_AverageOutFlow_mL_Per_s
Definition: SEFluidCompartment.h:96
std::vector< LinkType * > m_IncomingLinks
Definition: SEFluidCompartment.h:105
SEFluidCompartment(const std::string &name, Logger *logger)
Definition: SEFluidCompartment.cpp:13
virtual const std::vector< LinkType * > & GetLinks()
Definition: SEFluidCompartment.cpp:485
virtual SubstanceQuantityType * GetSubstanceQuantity(const SESubstance &substance) const
Definition: SEFluidCompartment.cpp:408
virtual const SEScalarVolumePerTime & GetOutFlow() const
Definition: SEFluidCompartment.cpp:167
const SEScalar * GetScalar(const std::string &name) override
Definition: SEFluidCompartment.cpp:51
virtual double CalculateInFlow_mL_Per_s() const
Definition: SEFluidCompartment.cpp:211
Definition: SEFluidCompartmentLink.h:15
Definition: SERunningAverage.h:8
Definition: SEScalar.h:19
Definition: SEScalarPressure.h:29
Definition: SEScalarVolume.h:28
Definition: SEScalarVolumePerTime.h:32
Definition: SESubstance.h:15
Definition: SEScalarVolumePerTime.h:8
Definition: SEScalarVolume.h:8