14 #include <biogears/cdm/CommonDataModel.h>
15 #include <biogears/exports.h>
17 #include <biogears/cdm/circuit/fluid/SEFluidCircuitPath.h>
18 #include <biogears/cdm/system/physiology/SETissueSystem.h>
19 #include <biogears/cdm/utils/RunningAverage.h>
20 #include <biogears/engine/Controller/BioGearsSystem.h>
21 #include <biogears/schema/biogears/BioGearsPhysiology.hxx>
25 class SEGasCompartment;
26 class SETissueCompartment;
27 class SELiquidCompartment;
28 class SELiquidSubstanceQuantity;
29 class SEPatientActionCollection;
45 static auto make_unique(
BioGears& bg) -> std::unique_ptr<Tissue>;
51 virtual ~
Tissue()
override;
54 static constexpr
char const *
const TypeTag() {
return "Tissue"; }
55 const char*
classname()
const override {
return TypeTag(); }
56 size_t hash_code()
const override {
return TypeHash(); }
58 void Clear()
override;
61 void Initialize()
override;
70 void SetUp()
override;
73 void AtSteadyState()
override;
74 void PreProcess()
override;
75 void Process()
override;
76 void PostProcess()
override;
84 void ProteinStorageAndRelease();
85 void FatStorageAndRelease();
88 void CalculateDiffusion();
89 void CalculatePulmonaryCapillarySubstanceTransfer();
91 void CalculateVitals();
92 void CheckGlycogenLevels();
93 void ManageSubstancesAndSaturation();
100 void CalculateMetabolicConsumptionAndProduction(
double time);
101 void SetStarvationState();
104 void CalculateTissueFluidFluxes();
105 void CalculateOncoticPressure();
108 void ProcessOverride();
109 void OverrideControlLoop();
SESubstance * m_Triacylglycerol
Definition: Tissue.h:129
SELiquidSubstanceQuantity * m_MuscleVascularGlucose
Definition: Tissue.h:169
SELiquidSubstanceQuantity * m_MuscleAA
Definition: Tissue.h:150
std::map< SETissueCompartment *, SEFluidCircuitPath * > m_ExtraToIntraPaths
Definition: Tissue.h:183
SELiquidSubstanceQuantity * m_MuscleInsulin
Definition: Tissue.h:148
SEGasCompartment * m_LeftAlveoli
Definition: Tissue.h:171
SESubstance * m_Ketones
Definition: Tissue.h:134
Class corresponding to the BioGearsTissueSystemData schema type.
Definition: BioGearsPhysiology.hxx:9030
SELiquidSubstanceQuantity * m_MuscleGlucagon
Definition: Tissue.h:149
SESubstance * m_Creatinine
Definition: Tissue.h:135
SELiquidCompartment * m_LiverIntracellular
Definition: Tissue.h:159
SEFluidCircuitNode * m_GutE3
Definition: Tissue.h:143
SELiquidSubstanceQuantity * m_FatVascularLipid
Definition: Tissue.h:166
SELiquidCompartment * m_FatIntracellular
Definition: Tissue.h:162
RunningAverage m_CO2ProducedRunningAverage_mL_Per_s
Definition: Tissue.h:115
SELiquidCompartment * m_MuscleVascular
Definition: Tissue.h:168
std::vector< SETissueCompartment * > m_ConsumptionProdutionTissues
Definition: Tissue.h:185
SELiquidSubstanceQuantity * m_LiverVascularGlucose
Definition: Tissue.h:167
double m_RestingPatientMass_kg
Definition: Tissue.h:112
SETissueCompartment * m_RightLungTissue
Definition: Tissue.h:155
SEPatientActionCollection * m_PatientActions
Definition: Tissue.h:176
static constexpr char const *const TypeTag()
Definition: Tissue.h:54
SELiquidCompartment * m_LiverExtracellular
Definition: Tissue.h:160
SELiquidCompartment * m_FatVascular
Definition: Tissue.h:165
Definition: SELiquidSubstanceQuantity.h:28
Definition: SEFluidCircuitPath.h:25
Definition: SEPatient.h:48
double m_maxProteinStorage_g
Definition: Tissue.h:121
SELiquidCompartment * m_LeftPulmonaryCapillaries
Definition: Tissue.h:173
Definition: RunningAverage.h:19
SETissueCompartment * m_FatTissue
Definition: Tissue.h:161
const char * classname() const override
Definition: Tissue.h:55
SESubstance * m_CO
Definition: Tissue.h:132
Definition: SETissueSystem.h:30
RunningAverage m_O2ConsumedRunningAverage_mL_Per_s
Definition: Tissue.h:114
Definition: SEFluidCircuitNode.h:21
Definition: SELiquidCompartment.h:27
SESubstance * m_Sodium
Definition: Tissue.h:136
SETissueCompartment * m_LiverTissue
Definition: Tissue.h:158
SEPatient * m_Patient
Definition: Tissue.h:177
double m_Dt_s
Definition: Tissue.h:120
SETissueCompartment * m_BrainTissue
Definition: Tissue.h:163
SESubstance * m_Calcium
Definition: Tissue.h:138
double m_lastFatigueTime
Definition: Tissue.h:122
size_t hash_code() const override
Definition: Tissue.h:56
SESubstance * m_Chloride
Definition: Tissue.h:139
Definition: BioGearsEngineTest.h:24
SESubstance * m_Insulin
Definition: Tissue.h:140
SESubstance * m_Glucagon
Definition: Tissue.h:127
SESubstance * m_CO2
Definition: Tissue.h:131
std::map< SETissueCompartment *, SEFluidCircuitPath * > m_EndothelialResistancePaths
Definition: Tissue.h:184
SELiquidSubstanceQuantity * m_FatGlucagon
Definition: Tissue.h:152
Definition: SESubstance.h:49
static double m_hepaticCO2Produced_mol
Definition: Tissue.h:80
SEFluidCircuitPath * m_GutE3ToGround
Definition: Tissue.h:144
SELiquidSubstanceQuantity * m_FatTAG
Definition: Tissue.h:153
RunningAverage m_RespiratoryQuotientRunningAverage
Definition: Tissue.h:116
Definition: SEEnergySystem.h:32
SEFluidCircuitPath * m_SplanchnicToGut
Definition: Tissue.h:146
SETissueCompartment * m_MuscleTissue
Definition: Tissue.h:156
std::stringstream m_ss
Definition: Tissue.h:124
std::map< SETissueCompartment *, SEFluidCircuitPath * > m_InterstitialCopPaths
Definition: Tissue.h:182
SESubstance * m_AminoAcids
Definition: Tissue.h:126
SEEnergySystem * m_energy
Definition: Tissue.h:178
RunningAverage m_FatigueRunningAverage
Definition: Tissue.h:117
SELiquidCompartment * m_MuscleIntracellular
Definition: Tissue.h:157
SELiquidCompartment * m_RightPulmonaryCapillaries
Definition: Tissue.h:174
static double m_hepaticO2Consumed_mol
Definition: Tissue.h:79
Manages and controls execution of all data/systems in BioGears.
Definition: BioGears.h:86
SETissueCompartment * m_LeftLungTissue
Definition: Tissue.h:154
SESubstance * m_O2
Definition: Tissue.h:130
std::map< SELiquidCompartment *, SEFluidCircuitPath * > m_VascularCopPaths
Definition: Tissue.h:181
SESubstance * m_Lactate
Definition: Tissue.h:133
Generic class for handling the BioGears stabilization methodology.
Definition: BioGearsSystem.h:23
SESubstance * m_Urea
Definition: Tissue.h:141
SESubstance * m_Potassium
Definition: Tissue.h:137
SEGasCompartment * m_RightAlveoli
Definition: Tissue.h:172
Definition: SEElectricalCircuit.h:18
double m_RestingFluidMass_kg
Definition: Tissue.h:113
std::map< SETissueCompartment *, SELiquidCompartment * > m_TissueToVascular
Definition: Tissue.h:180
std::string m_AnaerobicTissues
Definition: Tissue.h:186
SESubstance * m_Albumin
Definition: Tissue.h:125
Definition: SETissueCompartment.h:32
SESubstance * m_Glucose
Definition: Tissue.h:128
SEFluidCircuitPath * m_SmallIntestineToGut
Definition: Tissue.h:145
This class encapsulates logic necessary to connect independent systems together.
Definition: Tissue.h:40
Definition: SEPatientActionCollection.h:54
SELiquidSubstanceQuantity * m_FatInsulin
Definition: Tissue.h:151
static size_t TypeHash()
Definition: Tissue.h:53
Definition: SEGasCompartment.h:24
BioGears & m_data
Definition: Tissue.h:47