SEFluidCompartment.h
12 template<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 void ZeroSubstanceQuantities()
Definition: SEFluidCompartment.cpp:438
virtual void RemoveSubstanceQuantity(const SESubstance &substance)
Definition: SEFluidCompartment.cpp:423
virtual ~SEFluidCompartment()
Definition: SEFluidCompartment.cpp:26
SEScalarVolumePerTime * m_AverageOutflow
Definition: SEFluidCompartment.h:94
virtual SEScalarPressure & GetPressure()
Definition: SEFluidCompartment.cpp:274
virtual void RemoveLink(LinkType &link)
Definition: SEFluidCompartment.cpp:473
SEScalarVolumePerTime * m_AverageInflow
Definition: SEFluidCompartment.h:93
std::vector< TransportSubstanceType * > m_TransportSubstances
Definition: SEFluidCompartment.h:102
virtual void AddLink(LinkType &link)
Definition: SEFluidCompartment.cpp:447
virtual double CalculateInflow_mL_Per_s() const
Definition: SEFluidCompartment.hxx:208
std::vector< SubstanceQuantityType * > m_SubstanceQuantities
Definition: SEFluidCompartment.h:101
virtual const std::vector< SubstanceQuantityType * > & GetSubstanceQuantities() const
Definition: SEFluidCompartment.cpp:418
std::vector< LinkType * > m_OutgoingLinks
Definition: SEFluidCompartment.h:106
virtual const SEScalarVolumePerTime & GetOutflow() const
Definition: SEFluidCompartment.hxx:164
SERunningAverage * m_AverageOutflow_mL_Per_s
Definition: SEFluidCompartment.h:96
virtual bool HasAverageOutflow() const
Definition: SEFluidCompartment.hxx:185
virtual bool HasSubstanceQuantity(const SESubstance &substance) const
Definition: SEFluidCompartment.cpp:397
virtual bool HasSubstanceQuantities() const
Definition: SEFluidCompartment.cpp:392
virtual const SEScalarVolumePerTime & GetAverageInflow() const
Definition: SEFluidCompartment.hxx:136
virtual void MapNode(SEFluidCircuitNode &node)
Definition: SEFluidCompartment.cpp:69
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
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
virtual SECompartmentNodes< FLUID_COMPARTMENT_NODE > & GetNodeMapping()
Definition: SEFluidCompartment.h:36
SERunningAverage * m_AverageInflow_mL_Per_s
Definition: SEFluidCompartment.h:95
std::vector< LinkType * > m_IncomingLinks
Definition: SEFluidCompartment.h:105
SEFluidCompartment(const std::string &name, Logger *logger)
Definition: SEFluidCompartment.cpp:13
std::vector< TransportSubstanceType * > & GetTransportSubstances() override
Definition: SEFluidCompartment.h:88
virtual const std::vector< LinkType * > & GetLinks()
Definition: SEFluidCompartment.cpp:485
virtual SubstanceQuantityType * GetSubstanceQuantity(const SESubstance &substance) const
Definition: SEFluidCompartment.cpp:408
virtual bool HasAverageInflow() const
Definition: SEFluidCompartment.hxx:131
const SEScalar * GetScalar(const std::string &name) override
Definition: SEFluidCompartment.cpp:51
virtual const SEScalarVolumePerTime & GetAverageOutflow() const
Definition: SEFluidCompartment.hxx:190
SEScalarVolume & GetQuantity() override
Definition: SEFluidCompartment.h:83
virtual double CalculateOutflow_mL_Per_s() const
Definition: SEFluidCompartment.hxx:233
virtual const SEScalarVolumePerTime & GetInflow() const
Definition: SEFluidCompartment.hxx:110
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
