From f514008b10b656388afa467b173c0189511ddf5b Mon Sep 17 00:00:00 2001
From: Jeff Webb
Date: Mon, 14 Aug 2023 13:47:13 -0400
Subject: [PATCH 01/35] =?UTF-8?q?=EF=BB=BFIntegrate=20expanded=20lung=20de?=
=?UTF-8?q?finitions.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
data/config/ScenarioVerification.config | 1 +
.../HeterogeneousARDSExacerbation.json | 85 +
.../system/physiology/SERespiratorySystem.h | 21 +-
src/cpp/engine/PulseEngine.h | 474 ++-
.../engine/common/controller/CircuitManager.h | 275 ++
.../SetupCircuitsAndCompartments.cpp | 184 +-
.../controller/SetupExpandedRespiratory.cpp | 2964 ++++++++++++++++-
.../common/controller/SubstanceManager.cpp | 8 +-
.../system/physiology/CardiovascularModel.cpp | 74 +-
.../system/physiology/RespiratoryModel.cpp | 240 +-
.../common/system/physiology/TissueModel.cpp | 8 +-
.../whole_body/test/CardiovascularCircuit.cpp | 2 +
.../whole_body/test/RespiratoryCircuit.cpp | 2 +
.../system/physiology/SERespiratorySystem.cs | 21 +-
src/schema/pulse/cdm/bind/Physiology.proto | 35 +-
15 files changed, 4275 insertions(+), 119 deletions(-)
create mode 100644 data/human/adult/scenarios/patient/HeterogeneousARDSExacerbation.json
diff --git a/data/config/ScenarioVerification.config b/data/config/ScenarioVerification.config
index 336cfb332..93ebf4920 100644
--- a/data/config/ScenarioVerification.config
+++ b/data/config/ScenarioVerification.config
@@ -106,6 +106,7 @@ patient/DyspneaVaried.json = ScenarioTest
patient/EffusionCondition.json = ScenarioTest
patient/EffusionConditionPlus.json = ScenarioTest
patient/HemothoraxVaried.json = ScenarioTest
+patient/HeterogeneousARDSExacerbation.json = ScenarioTest
patient/PneumoniaExacerbation.json = ScenarioTest
patient/PneumoniaModerateBothLungs.json = ScenarioTest
patient/PneumoniaSevereLeftLobe.json = ScenarioTest
diff --git a/data/human/adult/scenarios/patient/HeterogeneousARDSExacerbation.json b/data/human/adult/scenarios/patient/HeterogeneousARDSExacerbation.json
new file mode 100644
index 000000000..b11d78ca8
--- /dev/null
+++ b/data/human/adult/scenarios/patient/HeterogeneousARDSExacerbation.json
@@ -0,0 +1,85 @@
+{
+ "Name": "HeterogeneousARDSExacerbation",
+ "Description": "Increasing severities of ARDS.",
+ "PatientConfiguration": { "PatientFile": "StandardMale.json" },
+ "DataRequestFile": [
+ "StandardDataRequests.json",
+ "RespiratoryDataRequests.json"
+ ],
+ "AnyAction":
+ [
+ { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 2.0, "Unit": "min" }}}},
+ { "PatientAction": { "AcuteRespiratoryDistressSyndromeExacerbation":
+ {
+ "Severity": [
+ { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}}]
+ }}
+ },
+ { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 5.0, "Unit": "min" }}}},
+ { "PatientAction": { "AcuteRespiratoryDistressSyndromeExacerbation":
+ {
+ "Severity": [
+ { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}}]
+ }}
+ },
+ { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 5.0, "Unit": "min" }}}},
+ { "PatientAction": { "AcuteRespiratoryDistressSyndromeExacerbation":
+ {
+ "Severity": [
+ { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}}]
+ }}
+ },
+ { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 5.0, "Unit": "min" }}}}
+ ]
+}
diff --git a/src/cpp/cdm/system/physiology/SERespiratorySystem.h b/src/cpp/cdm/system/physiology/SERespiratorySystem.h
index 674936575..d60609a51 100644
--- a/src/cpp/cdm/system/physiology/SERespiratorySystem.h
+++ b/src/cpp/cdm/system/physiology/SERespiratorySystem.h
@@ -13,7 +13,26 @@ enum class eLungCompartment
LeftInferiorLobe,
RightSuperiorLobe,
RightMiddleLobe,
- RightInferiorLobe
+ RightInferiorLobe,
+
+ RightSuperiorLobeApical,
+ RightSuperiorLobePosterior,
+ RightSuperiorLobeAnterior,
+ RightMiddleLobeLateral,
+ RightMiddleLobeMedial,
+ RightInferiorLobeSuperior,
+ RightInferiorLobeMedialBasal,
+ RightInferiorLobeAnteriorBasal,
+ RightInferiorLobeLateralBasal,
+ RightInferiorLobePosteriorBasal,
+ LeftInferiorLobePosteriorBasal,
+ LeftInferiorLobeLateralBasal,
+ LeftInferiorLobeAnteromedialBasal,
+ LeftInferiorLobeSuperior,
+ LeftSuperiorLobeInferiorLingula,
+ LeftSuperiorLobeSuperiorLingula,
+ LeftSuperiorLobeAnterior,
+ LeftSuperiorLobeApicoposterior
};
extern CDM_DECL const std::string& eLungCompartment_Name(eLungCompartment cmpt);
using LungImpairmentMap = std::map;
diff --git a/src/cpp/engine/PulseEngine.h b/src/cpp/engine/PulseEngine.h
index e8218f6dd..803f72cea 100644
--- a/src/cpp/engine/PulseEngine.h
+++ b/src/cpp/engine/PulseEngine.h
@@ -340,13 +340,170 @@ namespace pulse
class ExpandedPulmonaryCompartment
{
public:
+ DEFINE_STATIC_STRING(RightBranches);
+ DEFINE_STATIC_STRING(LeftBranches);
+
+ DEFINE_STATIC_STRING(RightMainBronchus);
+ DEFINE_STATIC_STRING(LeftMainBronchus);
+ DEFINE_STATIC_STRING(RightIntermediateBronchus);
+ DEFINE_STATIC_STRING(RightSuperiorLobarBronchus);
+ DEFINE_STATIC_STRING(RightMiddleLobarBronchus);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus1);
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus1);
+ DEFINE_STATIC_STRING(LeftSuperiorLobarBronchus);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus2);
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus2);
+ DEFINE_STATIC_STRING(RightSuperiorApicoposteriorBronchus);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus3);
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus3);
+ DEFINE_STATIC_STRING(LeftLingularBonchus);
+ DEFINE_STATIC_STRING(LeftSuperiorApicoposteriorBronchus);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus4);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalBronchiole);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorBronchiole);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorBronchiole);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralBronchiole);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalBronchiole);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalBronchiole);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalBronchiole);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalBronchiole);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorBronchiole);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaBronchiole);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaBronchiole);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorBronchiole);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorBronchiole);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalAlveolarDeadSpace);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalAlveoli);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorAlveoli);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorAlveoli);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralAlveoli);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalAlveoli);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalAlveoli);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalAlveoli);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalAlveoli);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorAlveoli);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaAlveoli);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaAlveoli);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorAlveoli);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorAlveoli);
static const std::vector& GetValues()
{
ScopedMutex lock;
if (_values.empty())
{
-
+ _values.push_back(RightBranches);
+ _values.push_back(LeftBranches);
+
+ _values.push_back(RightMainBronchus);
+ _values.push_back(LeftMainBronchus);
+ _values.push_back(RightIntermediateBronchus);
+ _values.push_back(RightSuperiorLobarBronchus);
+ _values.push_back(RightMiddleLobarBronchus);
+ _values.push_back(RightInferiorLobarBronchus1);
+ _values.push_back(LeftInferiorLobarBronchus1);
+ _values.push_back(LeftSuperiorLobarBronchus);
+ _values.push_back(RightInferiorLobarBronchus2);
+ _values.push_back(LeftInferiorLobarBronchus2);
+ _values.push_back(RightSuperiorApicoposteriorBronchus);
+ _values.push_back(RightInferiorLobarBronchus3);
+ _values.push_back(LeftInferiorLobarBronchus3);
+ _values.push_back(LeftLingularBonchus);
+ _values.push_back(LeftSuperiorApicoposteriorBronchus);
+ _values.push_back(RightInferiorLobarBronchus4);
+
+ _values.push_back(RightSuperiorLobeApicalBronchiole);
+ _values.push_back(RightSuperiorLobePosteriorBronchiole);
+ _values.push_back(RightSuperiorLobeAnteriorBronchiole);
+ _values.push_back(RightMiddleLobeLateralBronchiole);
+ _values.push_back(RightMiddleLobeMedialBronchiole);
+ _values.push_back(RightInferiorLobeSuperiorBronchiole);
+ _values.push_back(RightInferiorLobeMedialBasalBronchiole);
+ _values.push_back(RightInferiorLobeAnteriorBasalBronchiole);
+ _values.push_back(RightInferiorLobeLateralBasalBronchiole);
+ _values.push_back(RightInferiorLobePosteriorBasalBronchiole);
+
+ _values.push_back(LeftInferiorLobePosteriorBasalBronchiole);
+ _values.push_back(LeftInferiorLobeLateralBasalBronchiole);
+ _values.push_back(LeftInferiorLobeAnteromedialBasalBronchiole);
+ _values.push_back(LeftInferiorLobeSuperiorBronchiole);
+ _values.push_back(LeftSuperiorLobeInferiorLingulaBronchiole);
+ _values.push_back(LeftSuperiorLobeSuperiorLingulaBronchiole);
+ _values.push_back(LeftSuperiorLobeAnteriorBronchiole);
+ _values.push_back(LeftSuperiorLobeApicoposteriorBronchiole);
+
+ _values.push_back(RightSuperiorLobeApicalAlveolarDeadSpace);
+ _values.push_back(RightSuperiorLobePosteriorAlveolarDeadSpace);
+ _values.push_back(RightSuperiorLobeAnteriorAlveolarDeadSpace);
+ _values.push_back(RightMiddleLobeLateralAlveolarDeadSpace);
+ _values.push_back(RightMiddleLobeMedialAlveolarDeadSpace);
+ _values.push_back(RightInferiorLobeSuperiorAlveolarDeadSpace);
+ _values.push_back(RightInferiorLobeMedialBasalAlveolarDeadSpace);
+ _values.push_back(RightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ _values.push_back(RightInferiorLobeLateralBasalAlveolarDeadSpace);
+ _values.push_back(RightInferiorLobePosteriorBasalAlveolarDeadSpace);
+
+ _values.push_back(LeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ _values.push_back(LeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ _values.push_back(LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ _values.push_back(LeftInferiorLobeSuperiorAlveolarDeadSpace);
+ _values.push_back(LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ _values.push_back(LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ _values.push_back(LeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ _values.push_back(LeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ _values.push_back(RightSuperiorLobeApicalAlveoli);
+ _values.push_back(RightSuperiorLobePosteriorAlveoli);
+ _values.push_back(RightSuperiorLobeAnteriorAlveoli);
+ _values.push_back(RightMiddleLobeLateralAlveoli);
+ _values.push_back(RightMiddleLobeMedialAlveoli);
+ _values.push_back(RightInferiorLobeSuperiorAlveoli);
+ _values.push_back(RightInferiorLobeMedialBasalAlveoli);
+ _values.push_back(RightInferiorLobeAnteriorBasalAlveoli);
+ _values.push_back(RightInferiorLobeLateralBasalAlveoli);
+ _values.push_back(RightInferiorLobePosteriorBasalAlveoli);
+
+ _values.push_back(LeftInferiorLobePosteriorBasalAlveoli);
+ _values.push_back(LeftInferiorLobeLateralBasalAlveoli);
+ _values.push_back(LeftInferiorLobeAnteromedialBasalAlveoli);
+ _values.push_back(LeftInferiorLobeSuperiorAlveoli);
+ _values.push_back(LeftSuperiorLobeInferiorLingulaAlveoli);
+ _values.push_back(LeftSuperiorLobeSuperiorLingulaAlveoli);
+ _values.push_back(LeftSuperiorLobeAnteriorAlveoli);
+ _values.push_back(LeftSuperiorLobeApicoposteriorAlveoli);
}
return _values;
}
@@ -369,13 +526,166 @@ namespace pulse
class ExpandedPulmonaryLink
{
public:
+ DEFINE_STATIC_STRING(CarinaToRightMainBronchus);
+ DEFINE_STATIC_STRING(RightMainBronchusToRightIntermediateBronchus);
+ DEFINE_STATIC_STRING(RightMainBronchusToRightSuperiorLobarBronchus);
+ DEFINE_STATIC_STRING(RightIntermediateBronchusToRightMiddleLobarBronchus);
+ DEFINE_STATIC_STRING(RightIntermediateBronchusToRightInferiorLobarBronchus1);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus1ToRightInferiorLobarBronchus2);
+ DEFINE_STATIC_STRING(RightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus2ToRightInferiorLobarBronchus3);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus2ToRightInferiorLobarBronchus4);
+
+ DEFINE_STATIC_STRING(CarinaToLeftMainBronchus);
+ DEFINE_STATIC_STRING(LeftMainBronchusToLeftInferiorLobarBronchus1);
+ DEFINE_STATIC_STRING(LeftMainBronchusToLeftSuperiorLobarBronchus);
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2);
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3);
+ DEFINE_STATIC_STRING(LeftSuperiorLobarBronchusToLeftLingularBonchus);
+ DEFINE_STATIC_STRING(LeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus);
+
+ DEFINE_STATIC_STRING(RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole);
+ DEFINE_STATIC_STRING(RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole);
+ DEFINE_STATIC_STRING(RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole);
+ DEFINE_STATIC_STRING(RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole);
+ DEFINE_STATIC_STRING(RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole);
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole);
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole);
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole);
+ DEFINE_STATIC_STRING(LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole);
+ DEFINE_STATIC_STRING(LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole);
+ DEFINE_STATIC_STRING(LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole);
+ DEFINE_STATIC_STRING(LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli);
static const std::vector& GetValues()
{
ScopedMutex lock;
if (_values.empty())
{
-
+ _values.push_back(CarinaToRightMainBronchus);
+ _values.push_back(RightMainBronchusToRightIntermediateBronchus);
+ _values.push_back(RightMainBronchusToRightSuperiorLobarBronchus);
+ _values.push_back(RightIntermediateBronchusToRightMiddleLobarBronchus);
+ _values.push_back(RightIntermediateBronchusToRightInferiorLobarBronchus1);
+ _values.push_back(RightInferiorLobarBronchus1ToRightInferiorLobarBronchus2);
+ _values.push_back(RightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus);
+ _values.push_back(RightInferiorLobarBronchus2ToRightInferiorLobarBronchus3);
+ _values.push_back(RightInferiorLobarBronchus2ToRightInferiorLobarBronchus4);
+
+ _values.push_back(CarinaToLeftMainBronchus);
+ _values.push_back(LeftMainBronchusToLeftInferiorLobarBronchus1);
+ _values.push_back(LeftMainBronchusToLeftSuperiorLobarBronchus);
+ _values.push_back(LeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2);
+ _values.push_back(LeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3);
+ _values.push_back(LeftSuperiorLobarBronchusToLeftLingularBonchus);
+ _values.push_back(LeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus);
+
+ _values.push_back(RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole);
+ _values.push_back(RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole);
+ _values.push_back(RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole);
+ _values.push_back(RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole);
+ _values.push_back(RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole);
+ _values.push_back(RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole);
+ _values.push_back(RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole);
+ _values.push_back(RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole);
+ _values.push_back(RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole);
+ _values.push_back(RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole);
+
+ _values.push_back(LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole);
+ _values.push_back(LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole);
+ _values.push_back(LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole);
+ _values.push_back(LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole);
+ _values.push_back(LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole);
+ _values.push_back(LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole);
+ _values.push_back(LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole);
+ _values.push_back(LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole);
+
+ _values.push_back(RightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace);
+ _values.push_back(RightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace);
+ _values.push_back(RightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace);
+ _values.push_back(RightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace);
+ _values.push_back(RightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace);
+ _values.push_back(RightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace);
+ _values.push_back(RightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace);
+ _values.push_back(RightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ _values.push_back(RightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace);
+ _values.push_back(RightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace);
+
+ _values.push_back(LeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ _values.push_back(LeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ _values.push_back(LeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ _values.push_back(LeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace);
+ _values.push_back(LeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ _values.push_back(LeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ _values.push_back(LeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ _values.push_back(LeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ _values.push_back(RightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli);
+ _values.push_back(RightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli);
+ _values.push_back(RightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli);
+ _values.push_back(RightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli);
+ _values.push_back(RightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli);
+ _values.push_back(RightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli);
+ _values.push_back(RightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli);
+ _values.push_back(RightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli);
+ _values.push_back(RightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli);
+ _values.push_back(RightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli);
+
+ _values.push_back(LeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli);
+ _values.push_back(LeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli);
+ _values.push_back(LeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli);
+ _values.push_back(LeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli);
+ _values.push_back(LeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli);
+ _values.push_back(LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli);
+ _values.push_back(LeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli);
+ _values.push_back(LeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli);
}
return _values;
}
@@ -598,6 +908,26 @@ namespace pulse
DEFINE_STATIC_STRING(Ground);
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
static const std::vector& GetValues()
{
@@ -661,6 +991,26 @@ namespace pulse
_values.push_back(RightArm);
_values.push_back(RightLeg);
//_values.push_back(Ground);
+
+ _values.push_back(RightSuperiorLobeApicalPulmonaryCapillaries);
+ _values.push_back(RightSuperiorLobePosteriorPulmonaryCapillaries);
+ _values.push_back(RightSuperiorLobeAnteriorPulmonaryCapillaries);
+ _values.push_back(RightMiddleLobeLateralPulmonaryCapillaries);
+ _values.push_back(RightMiddleLobeMedialPulmonaryCapillaries);
+ _values.push_back(RightInferiorLobeSuperiorPulmonaryCapillaries);
+ _values.push_back(RightInferiorLobeMedialBasalPulmonaryCapillaries);
+ _values.push_back(RightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ _values.push_back(RightInferiorLobeLateralBasalPulmonaryCapillaries);
+ _values.push_back(RightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ _values.push_back(LeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ _values.push_back(LeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ _values.push_back(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ _values.push_back(LeftInferiorLobeSuperiorPulmonaryCapillaries);
+ _values.push_back(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ _values.push_back(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ _values.push_back(LeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ _values.push_back(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
}
return _values;
}
@@ -793,6 +1143,66 @@ namespace pulse
DEFINE_STATIC_STRING(RightPeritubularCapillariesToRenalVein);
// Reusing 'RightKidneyToVenaCava' to connect the Right Renal Vein To Vena Cava);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightSuperiorLobeApicalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightSuperiorLobePosteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightSuperiorLobeAnteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightMiddleLobeLateralPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightMiddleLobeMedialPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightInferiorLobeSuperiorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightInferiorLobeMedialBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightInferiorLobeLateralBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftInferiorLobeSuperiorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalShunt);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorShunt);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorShunt);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralShunt);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialShunt);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorShunt);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalShunt);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalShunt);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalShunt);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalShunt);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalShunt);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalShunt);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalShunt);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorShunt);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaShunt);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaShunt);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorShunt);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorShunt);
+
static const std::vector& GetValues()
{
@@ -880,6 +1290,66 @@ namespace pulse
_values.push_back(RightTubulesToPeritubularCapillaries);
_values.push_back(RightEfferentArterioleToPeritubularCapillaries);
_values.push_back(RightPeritubularCapillariesToRenalVein);
+
+ _values.push_back(RightPulmonaryArteriesToRightSuperiorLobeApicalPulmonaryCapillaries);
+ _values.push_back(RightPulmonaryArteriesToRightSuperiorLobePosteriorPulmonaryCapillaries);
+ _values.push_back(RightPulmonaryArteriesToRightSuperiorLobeAnteriorPulmonaryCapillaries);
+ _values.push_back(RightPulmonaryArteriesToRightMiddleLobeLateralPulmonaryCapillaries);
+ _values.push_back(RightPulmonaryArteriesToRightMiddleLobeMedialPulmonaryCapillaries);
+ _values.push_back(RightPulmonaryArteriesToRightInferiorLobeSuperiorPulmonaryCapillaries);
+ _values.push_back(RightPulmonaryArteriesToRightInferiorLobeMedialBasalPulmonaryCapillaries);
+ _values.push_back(RightPulmonaryArteriesToRightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ _values.push_back(RightPulmonaryArteriesToRightInferiorLobeLateralBasalPulmonaryCapillaries);
+ _values.push_back(RightPulmonaryArteriesToRightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ _values.push_back(LeftPulmonaryArteriesToLeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ _values.push_back(LeftPulmonaryArteriesToLeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ _values.push_back(LeftPulmonaryArteriesToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ _values.push_back(LeftPulmonaryArteriesToLeftInferiorLobeSuperiorPulmonaryCapillaries);
+ _values.push_back(LeftPulmonaryArteriesToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ _values.push_back(LeftPulmonaryArteriesToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ _values.push_back(LeftPulmonaryArteriesToLeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ _values.push_back(LeftPulmonaryArteriesToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
+ _values.push_back(RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins);
+ _values.push_back(RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins);
+ _values.push_back(RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins);
+ _values.push_back(RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins);
+ _values.push_back(RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins);
+ _values.push_back(RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins);
+ _values.push_back(RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ _values.push_back(RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ _values.push_back(RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ _values.push_back(RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins);
+
+ _values.push_back(LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ _values.push_back(LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ _values.push_back(LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ _values.push_back(LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins);
+ _values.push_back(LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins);
+ _values.push_back(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins);
+ _values.push_back(LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins);
+ _values.push_back(LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins);
+
+ _values.push_back(RightSuperiorLobeApicalShunt);
+ _values.push_back(RightSuperiorLobePosteriorShunt);
+ _values.push_back(RightSuperiorLobeAnteriorShunt);
+ _values.push_back(RightMiddleLobeLateralShunt);
+ _values.push_back(RightMiddleLobeMedialShunt);
+ _values.push_back(RightInferiorLobeSuperiorShunt);
+ _values.push_back(RightInferiorLobeMedialBasalShunt);
+ _values.push_back(RightInferiorLobeAnteriorBasalShunt);
+ _values.push_back(RightInferiorLobeLateralBasalShunt);
+ _values.push_back(RightInferiorLobePosteriorBasalShunt);
+
+ _values.push_back(LeftInferiorLobePosteriorBasalShunt);
+ _values.push_back(LeftInferiorLobeLateralBasalShunt);
+ _values.push_back(LeftInferiorLobeAnteromedialBasalShunt);
+ _values.push_back(LeftInferiorLobeSuperiorShunt);
+ _values.push_back(LeftSuperiorLobeInferiorLingulaShunt);
+ _values.push_back(LeftSuperiorLobeSuperiorLingulaShunt);
+ _values.push_back(LeftSuperiorLobeAnteriorShunt);
+ _values.push_back(LeftSuperiorLobeApicoposteriorShunt);
}
return _values;
}
diff --git a/src/cpp/engine/common/controller/CircuitManager.h b/src/cpp/engine/common/controller/CircuitManager.h
index b874f2f16..37c72cd41 100644
--- a/src/cpp/engine/common/controller/CircuitManager.h
+++ b/src/cpp/engine/common/controller/CircuitManager.h
@@ -220,10 +220,185 @@ namespace pulse
class ExpandedRespiratoryNode
{
+ public:
+ DEFINE_STATIC_STRING(RightMainBronchus);
+ DEFINE_STATIC_STRING(LeftMainBronchus);
+ DEFINE_STATIC_STRING(RightIntermediateBronchus);
+ DEFINE_STATIC_STRING(RightSuperiorLobarBronchus);
+ DEFINE_STATIC_STRING(RightMiddleLobarBronchus);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus1);
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus1);
+ DEFINE_STATIC_STRING(LeftSuperiorLobarBronchus);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus2);
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus2);
+ DEFINE_STATIC_STRING(RightSuperiorApicoposteriorBronchus);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus3);
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus3);
+ DEFINE_STATIC_STRING(LeftLingularBonchus);
+ DEFINE_STATIC_STRING(LeftSuperiorApicoposteriorBronchus);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus4);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalBronchiole);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorBronchiole);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorBronchiole);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralBronchiole);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalBronchiole);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalBronchiole);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalBronchiole);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalBronchiole);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorBronchiole);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaBronchiole);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaBronchiole);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorBronchiole);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorBronchiole);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalAlveolarDeadSpace);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalAlveoli);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorAlveoli);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorAlveoli);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralAlveoli);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalAlveoli);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalAlveoli);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalAlveoli);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalAlveoli);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorAlveoli);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaAlveoli);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaAlveoli);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorAlveoli);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorAlveoli);
};
class ExpandedRespiratoryPath
{
+ public:
+ DEFINE_STATIC_STRING(CarinaToRightMainBronchus);
+ DEFINE_STATIC_STRING(RightMainBronchusToRightIntermediateBronchus);
+ DEFINE_STATIC_STRING(RightMainBronchusToRightSuperiorLobarBronchus);
+ DEFINE_STATIC_STRING(RightIntermediateBronchusToRightMiddleLobarBronchus);
+ DEFINE_STATIC_STRING(RightIntermediateBronchusToRightInferiorLobarBronchus1);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus1ToRightInferiorLobarBronchus2);
+ DEFINE_STATIC_STRING(RightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus2ToRightInferiorLobarBronchus3);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus2ToRightInferiorLobarBronchus4);
+
+ DEFINE_STATIC_STRING(CarinaToLeftMainBronchus);
+ DEFINE_STATIC_STRING(LeftMainBronchusToLeftInferiorLobarBronchus1);
+ DEFINE_STATIC_STRING(LeftMainBronchusToLeftSuperiorLobarBronchus);
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2);
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3);
+ DEFINE_STATIC_STRING(LeftSuperiorLobarBronchusToLeftLingularBonchus);
+ DEFINE_STATIC_STRING(LeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus);
+
+ DEFINE_STATIC_STRING(RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole);
+ DEFINE_STATIC_STRING(RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole);
+ DEFINE_STATIC_STRING(RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole);
+ DEFINE_STATIC_STRING(RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole);
+ DEFINE_STATIC_STRING(RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole);
+ DEFINE_STATIC_STRING(RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole);
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole);
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole);
+ DEFINE_STATIC_STRING(LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole);
+ DEFINE_STATIC_STRING(LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole);
+ DEFINE_STATIC_STRING(LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole);
+ DEFINE_STATIC_STRING(LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole);
+ DEFINE_STATIC_STRING(LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalAlveoliToRightPleuralConnection);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorAlveoliToRightPleuralConnection);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorAlveoliToRightPleuralConnection);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralAlveoliToRightPleuralConnection);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialAlveoliToRightPleuralConnection);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorAlveoliToRightPleuralConnection);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalAlveoliToRightPleuralConnection);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalAlveoliToRightPleuralConnection);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalAlveoliToRightPleuralConnection);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalAlveoliToRightPleuralConnection);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalAlveoliToLeftPleuralConnection);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalAlveoliToLeftPleuralConnection);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalAlveoliToLeftPleuralConnection);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorAlveoliToLeftPleuralConnection);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaAlveoliToLeftPleuralConnection);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaAlveoliToLeftPleuralConnection);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorAlveoliToLeftPleuralConnection);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorAlveoliToLeftPleuralConnection);
};
//////////////////////////////////////
@@ -603,6 +778,26 @@ namespace pulse
DEFINE_STATIC_STRING(VenaCava1);
DEFINE_STATIC_STRING(Ground);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
};
class CardiovascularPath
@@ -739,6 +934,86 @@ namespace pulse
// Vena Cava
DEFINE_STATIC_STRING(VenaCava1ToGround);
DEFINE_STATIC_STRING(IVToVenaCava1);
+
+ DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightSuperiorLobeAnteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightMiddleLobeLateralPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightMiddleLobeMedialPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightInferiorLobeSuperiorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightInferiorLobeMedialBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightInferiorLobeLateralBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToLeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToLeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToLeftInferiorLobeSuperiorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToLeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalPulmonaryCapillariesToGround);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorPulmonaryCapillariesToGround);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorPulmonaryCapillariesToGround);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralPulmonaryCapillariesToGround);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialPulmonaryCapillariesToGround);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorPulmonaryCapillariesToGround);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalPulmonaryCapillariesToGround);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalPulmonaryCapillariesToGround);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalPulmonaryCapillariesToGround);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalPulmonaryCapillariesToGround);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalPulmonaryCapillariesToGround);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalPulmonaryCapillariesToGround);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToGround);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorPulmonaryCapillariesToGround);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToGround);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToGround);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorPulmonaryCapillariesToGround);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToGround);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalShunt);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorShunt);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorShunt);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralShunt);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialShunt);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorShunt);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalShunt);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalShunt);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalShunt);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalShunt);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalShunt);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalShunt);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalShunt);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorShunt);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaShunt);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaShunt);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorShunt);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorShunt);
};
class ExpandedCardiovascularNode
diff --git a/src/cpp/engine/common/controller/SetupCircuitsAndCompartments.cpp b/src/cpp/engine/common/controller/SetupCircuitsAndCompartments.cpp
index 954483483..a900db0cd 100644
--- a/src/cpp/engine/common/controller/SetupCircuitsAndCompartments.cpp
+++ b/src/cpp/engine/common/controller/SetupCircuitsAndCompartments.cpp
@@ -2476,50 +2476,54 @@ namespace pulse
///////////////
// Left Lung //
- SEFluidCircuitNode* LeftLung1 = cCardiovascular.GetNode(pulse::CardiovascularNode::LeftPulmonaryCapillaries1);
- SEFluidCircuitNode& LeftLungT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LeftLungT1);
- SEFluidCircuitNode& LeftLungT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LeftLungT2);
- SEFluidCircuitNode& LeftLungT3 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LeftLungT3);
- LeftLungT1.GetPressure().Set(LeftLung1->GetPressure());
- LeftLungT3.GetPressure().Set(Ground->GetPressure());
- LeftLungT1.GetVolumeBaseline().SetValue(LLungEWFraction * LLungTissueVolume * 1000.0, VolumeUnit::mL);
-
- SEFluidCircuitPath& LeftLung1ToLeftLungT2 = cCombinedCardiovascular.CreatePath(*LeftLung1, LeftLungT2, pulse::TissuePath::LeftLung1ToLeftLungT2);
- LeftLung1ToLeftLungT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LeftLungT2ToLeftLungT1 = cCombinedCardiovascular.CreatePath(LeftLungT2, LeftLungT1, pulse::TissuePath::LeftLungT2ToLeftLungT1);
- LeftLungT2ToLeftLungT1.GetResistanceBaseline().SetValue((1 / LLungTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftLungT1ToLeftLungT3 = cCombinedCardiovascular.CreatePath(LeftLungT1, LeftLungT3, pulse::TissuePath::LeftLungT1ToLeftLungT3);
- LeftLungT1ToLeftLungT3.GetComplianceBaseline().SetValue(LeftLungT1.GetVolumeBaseline(VolumeUnit::mL) / LeftLungT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& GroundToLeftLungT3 = cCombinedCardiovascular.CreatePath(*Ground, LeftLungT3, pulse::TissuePath::GroundToLeftLungT3);
- GroundToLeftLungT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
-
- SEFluidCircuitPath& LeftLungT1ToLymph = cCombinedCardiovascular.CreatePath(LeftLungT1, Lymph, pulse::TissuePath::LeftLungT1ToLymph);
- LeftLungT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
-
- SETissueCompartment& LeftLungTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::LeftLung);
- SELiquidCompartment& LeftLungExtracellular = LeftLungTissue.GetExtracellular();
- SELiquidCompartment& LeftLungIntracellular = LeftLungTissue.GetIntracellular();
- LeftLungTissue.GetMatrixVolume().SetValue((1 - LLungEWFraction - LLungIWFraction) * LLungTissueVolume * 1000.0, VolumeUnit::mL);
- LeftLungExtracellular.MapNode(LeftLungT1);
- LeftLungExtracellular.MapNode(LeftLungT2);
- LeftLungExtracellular.MapNode(LeftLungT3);
- LeftLungExtracellular.GetWaterVolumeFraction().SetValue(LLungEWFraction);
- LeftLungIntracellular.GetVolume().SetValue(LLungIWFraction * LLungTissueVolume * 1000.0, VolumeUnit::mL);
- LeftLungIntracellular.GetWaterVolumeFraction().SetValue(LLungIWFraction);
- LeftLungTissue.GetAcidicPhospohlipidConcentration().SetValue(LLungAPL, MassPerMassUnit::mg_Per_g);
- LeftLungTissue.GetNeutralLipidsVolumeFraction().SetValue(LLungNLFraction);
- LeftLungTissue.GetNeutralPhospholipidsVolumeFraction().SetValue(LLungNPFraction);
- LeftLungTissue.GetTissueToPlasmaAlbuminRatio().SetValue(LLungARatio);
- LeftLungTissue.GetTissueToPlasmaLipoproteinRatio().SetValue(LLungLRatio);
- LeftLungTissue.GetTissueToPlasmaAlphaAcidGlycoproteinRatio().SetValue(LLungAAGRatio);
- LeftLungTissue.GetTotalMass().SetValue(LLungTissueMass, MassUnit::kg);
-
- SELiquidCompartmentLink& LeftLungVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::LeftLung),
- LeftLungExtracellular, pulse::VascularLink::LeftLungVascularToTissue);
- LeftLungVascularToTissue.MapPath(LeftLung1ToLeftLungT2);
-
- SELiquidCompartmentLink& LeftLungTissueToLymph = m_Compartments->CreateLiquidLink(LeftLungExtracellular, cLymph, pulse::LymphLink::LeftLungTissueToLymph);
- LeftLungTissueToLymph.MapPath(LeftLungT1ToLymph);
+ //jbw - Fix
+ if (m_Config->UseExpandedRespiratory() == eSwitch::Off)
+ {
+ SEFluidCircuitNode* LeftLung1 = cCardiovascular.GetNode(pulse::CardiovascularNode::LeftPulmonaryCapillaries1);
+ SEFluidCircuitNode& LeftLungT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LeftLungT1);
+ SEFluidCircuitNode& LeftLungT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LeftLungT2);
+ SEFluidCircuitNode& LeftLungT3 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LeftLungT3);
+ LeftLungT1.GetPressure().Set(LeftLung1->GetPressure());
+ LeftLungT3.GetPressure().Set(Ground->GetPressure());
+ LeftLungT1.GetVolumeBaseline().SetValue(LLungEWFraction * LLungTissueVolume * 1000.0, VolumeUnit::mL);
+
+ SEFluidCircuitPath& LeftLung1ToLeftLungT2 = cCombinedCardiovascular.CreatePath(*LeftLung1, LeftLungT2, pulse::TissuePath::LeftLung1ToLeftLungT2);
+ LeftLung1ToLeftLungT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
+ SEFluidCircuitPath& LeftLungT2ToLeftLungT1 = cCombinedCardiovascular.CreatePath(LeftLungT2, LeftLungT1, pulse::TissuePath::LeftLungT2ToLeftLungT1);
+ LeftLungT2ToLeftLungT1.GetResistanceBaseline().SetValue((1 / LLungTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& LeftLungT1ToLeftLungT3 = cCombinedCardiovascular.CreatePath(LeftLungT1, LeftLungT3, pulse::TissuePath::LeftLungT1ToLeftLungT3);
+ LeftLungT1ToLeftLungT3.GetComplianceBaseline().SetValue(LeftLungT1.GetVolumeBaseline(VolumeUnit::mL) / LeftLungT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& GroundToLeftLungT3 = cCombinedCardiovascular.CreatePath(*Ground, LeftLungT3, pulse::TissuePath::GroundToLeftLungT3);
+ GroundToLeftLungT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
+
+ SEFluidCircuitPath& LeftLungT1ToLymph = cCombinedCardiovascular.CreatePath(LeftLungT1, Lymph, pulse::TissuePath::LeftLungT1ToLymph);
+ LeftLungT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
+
+ SETissueCompartment& LeftLungTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::LeftLung);
+ SELiquidCompartment& LeftLungExtracellular = LeftLungTissue.GetExtracellular();
+ SELiquidCompartment& LeftLungIntracellular = LeftLungTissue.GetIntracellular();
+ LeftLungTissue.GetMatrixVolume().SetValue((1 - LLungEWFraction - LLungIWFraction) * LLungTissueVolume * 1000.0, VolumeUnit::mL);
+ LeftLungExtracellular.MapNode(LeftLungT1);
+ LeftLungExtracellular.MapNode(LeftLungT2);
+ LeftLungExtracellular.MapNode(LeftLungT3);
+ LeftLungExtracellular.GetWaterVolumeFraction().SetValue(LLungEWFraction);
+ LeftLungIntracellular.GetVolume().SetValue(LLungIWFraction * LLungTissueVolume * 1000.0, VolumeUnit::mL);
+ LeftLungIntracellular.GetWaterVolumeFraction().SetValue(LLungIWFraction);
+ LeftLungTissue.GetAcidicPhospohlipidConcentration().SetValue(LLungAPL, MassPerMassUnit::mg_Per_g);
+ LeftLungTissue.GetNeutralLipidsVolumeFraction().SetValue(LLungNLFraction);
+ LeftLungTissue.GetNeutralPhospholipidsVolumeFraction().SetValue(LLungNPFraction);
+ LeftLungTissue.GetTissueToPlasmaAlbuminRatio().SetValue(LLungARatio);
+ LeftLungTissue.GetTissueToPlasmaLipoproteinRatio().SetValue(LLungLRatio);
+ LeftLungTissue.GetTissueToPlasmaAlphaAcidGlycoproteinRatio().SetValue(LLungAAGRatio);
+ LeftLungTissue.GetTotalMass().SetValue(LLungTissueMass, MassUnit::kg);
+
+ SELiquidCompartmentLink& LeftLungVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::LeftLung),
+ LeftLungExtracellular, pulse::VascularLink::LeftLungVascularToTissue);
+ LeftLungVascularToTissue.MapPath(LeftLung1ToLeftLungT2);
+
+ SELiquidCompartmentLink& LeftLungTissueToLymph = m_Compartments->CreateLiquidLink(LeftLungExtracellular, cLymph, pulse::LymphLink::LeftLungTissueToLymph);
+ LeftLungTissueToLymph.MapPath(LeftLungT1ToLymph);
+ }
///////////
// Liver //
@@ -2716,50 +2720,54 @@ namespace pulse
////////////////
// Right Lung //
- SEFluidCircuitNode* RightLung1 = cCardiovascular.GetNode(pulse::CardiovascularNode::RightPulmonaryCapillaries1);
- SEFluidCircuitNode& RightLungT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::RightLungT1);
- SEFluidCircuitNode& RightLungT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::RightLungT2);
- SEFluidCircuitNode& RightLungT3 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::RightLungT3);
- RightLungT1.GetPressure().Set(RightLung1->GetPressure());
- RightLungT3.GetPressure().Set(Ground->GetPressure());
- RightLungT1.GetVolumeBaseline().SetValue(RLungEWFraction * RLungTissueVolume * 1000.0, VolumeUnit::mL);
-
- SEFluidCircuitPath& RightLung1ToRightLungT2 = cCombinedCardiovascular.CreatePath(*RightLung1, RightLungT2, pulse::TissuePath::RightLung1ToRightLungT2);
- RightLung1ToRightLungT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& RightLungT2ToRightLungT1 = cCombinedCardiovascular.CreatePath(RightLungT2, RightLungT1, pulse::TissuePath::RightLungT2ToRightLungT1);
- RightLungT2ToRightLungT1.GetResistanceBaseline().SetValue((1 / RLungTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightLungT1ToRightLungT3 = cCombinedCardiovascular.CreatePath(RightLungT1, RightLungT3, pulse::TissuePath::RightLungT1ToRightLungT3);
- RightLungT1ToRightLungT3.GetComplianceBaseline().SetValue(RightLungT1.GetVolumeBaseline(VolumeUnit::mL) / RightLungT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& GroundToRightLungT3 = cCombinedCardiovascular.CreatePath(*Ground, RightLungT3, pulse::TissuePath::GroundToRightLungT3);
- GroundToRightLungT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
-
- SEFluidCircuitPath& RightLungT1ToLymph = cCombinedCardiovascular.CreatePath(RightLungT1, Lymph, pulse::TissuePath::RightLungT1ToLymph);
- RightLungT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
-
- SETissueCompartment& RightLungTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::RightLung);
- SELiquidCompartment& RightLungExtracellular = RightLungTissue.GetExtracellular();
- SELiquidCompartment& RightLungIntracellular = RightLungTissue.GetIntracellular();
- RightLungTissue.GetMatrixVolume().SetValue((1 - RLungEWFraction - RLungIWFraction) * RLungTissueVolume * 1000.0, VolumeUnit::mL);
- RightLungExtracellular.MapNode(RightLungT1);
- RightLungExtracellular.MapNode(RightLungT2);
- RightLungExtracellular.MapNode(RightLungT3);
- RightLungExtracellular.GetWaterVolumeFraction().SetValue(RLungEWFraction);
- RightLungIntracellular.GetVolume().SetValue(RLungIWFraction * RLungTissueVolume * 1000.0, VolumeUnit::mL);
- RightLungIntracellular.GetWaterVolumeFraction().SetValue(RLungIWFraction);
- RightLungTissue.GetAcidicPhospohlipidConcentration().SetValue(RLungAPL, MassPerMassUnit::mg_Per_g);
- RightLungTissue.GetNeutralLipidsVolumeFraction().SetValue(RLungNLFraction);
- RightLungTissue.GetNeutralPhospholipidsVolumeFraction().SetValue(RLungNPFraction);
- RightLungTissue.GetTissueToPlasmaAlphaAcidGlycoproteinRatio().SetValue(RLungAAGRatio);
- RightLungTissue.GetTissueToPlasmaAlbuminRatio().SetValue(RLungARatio);
- RightLungTissue.GetTissueToPlasmaLipoproteinRatio().SetValue(RLungLRatio);
- RightLungTissue.GetTotalMass().SetValue(RLungTissueMass, MassUnit::kg);
-
- SELiquidCompartmentLink& RightLungVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::RightLung),
- RightLungExtracellular, pulse::VascularLink::RightLungVascularToTissue);
- RightLungVascularToTissue.MapPath(RightLung1ToRightLungT2);
-
- SELiquidCompartmentLink& RightLungTissueToLymph = m_Compartments->CreateLiquidLink(RightLungExtracellular, cLymph, pulse::LymphLink::RightLungTissueToLymph);
- RightLungTissueToLymph.MapPath(RightLungT1ToLymph);
+ //jbw - Fix
+ if (m_Config->UseExpandedRespiratory() == eSwitch::Off)
+ {
+ SEFluidCircuitNode* RightLung1 = cCardiovascular.GetNode(pulse::CardiovascularNode::RightPulmonaryCapillaries1);
+ SEFluidCircuitNode& RightLungT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::RightLungT1);
+ SEFluidCircuitNode& RightLungT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::RightLungT2);
+ SEFluidCircuitNode& RightLungT3 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::RightLungT3);
+ RightLungT1.GetPressure().Set(RightLung1->GetPressure());
+ RightLungT3.GetPressure().Set(Ground->GetPressure());
+ RightLungT1.GetVolumeBaseline().SetValue(RLungEWFraction * RLungTissueVolume * 1000.0, VolumeUnit::mL);
+
+ SEFluidCircuitPath& RightLung1ToRightLungT2 = cCombinedCardiovascular.CreatePath(*RightLung1, RightLungT2, pulse::TissuePath::RightLung1ToRightLungT2);
+ RightLung1ToRightLungT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
+ SEFluidCircuitPath& RightLungT2ToRightLungT1 = cCombinedCardiovascular.CreatePath(RightLungT2, RightLungT1, pulse::TissuePath::RightLungT2ToRightLungT1);
+ RightLungT2ToRightLungT1.GetResistanceBaseline().SetValue((1 / RLungTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& RightLungT1ToRightLungT3 = cCombinedCardiovascular.CreatePath(RightLungT1, RightLungT3, pulse::TissuePath::RightLungT1ToRightLungT3);
+ RightLungT1ToRightLungT3.GetComplianceBaseline().SetValue(RightLungT1.GetVolumeBaseline(VolumeUnit::mL) / RightLungT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& GroundToRightLungT3 = cCombinedCardiovascular.CreatePath(*Ground, RightLungT3, pulse::TissuePath::GroundToRightLungT3);
+ GroundToRightLungT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
+
+ SEFluidCircuitPath& RightLungT1ToLymph = cCombinedCardiovascular.CreatePath(RightLungT1, Lymph, pulse::TissuePath::RightLungT1ToLymph);
+ RightLungT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
+
+ SETissueCompartment& RightLungTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::RightLung);
+ SELiquidCompartment& RightLungExtracellular = RightLungTissue.GetExtracellular();
+ SELiquidCompartment& RightLungIntracellular = RightLungTissue.GetIntracellular();
+ RightLungTissue.GetMatrixVolume().SetValue((1 - RLungEWFraction - RLungIWFraction) * RLungTissueVolume * 1000.0, VolumeUnit::mL);
+ RightLungExtracellular.MapNode(RightLungT1);
+ RightLungExtracellular.MapNode(RightLungT2);
+ RightLungExtracellular.MapNode(RightLungT3);
+ RightLungExtracellular.GetWaterVolumeFraction().SetValue(RLungEWFraction);
+ RightLungIntracellular.GetVolume().SetValue(RLungIWFraction * RLungTissueVolume * 1000.0, VolumeUnit::mL);
+ RightLungIntracellular.GetWaterVolumeFraction().SetValue(RLungIWFraction);
+ RightLungTissue.GetAcidicPhospohlipidConcentration().SetValue(RLungAPL, MassPerMassUnit::mg_Per_g);
+ RightLungTissue.GetNeutralLipidsVolumeFraction().SetValue(RLungNLFraction);
+ RightLungTissue.GetNeutralPhospholipidsVolumeFraction().SetValue(RLungNPFraction);
+ RightLungTissue.GetTissueToPlasmaAlphaAcidGlycoproteinRatio().SetValue(RLungAAGRatio);
+ RightLungTissue.GetTissueToPlasmaAlbuminRatio().SetValue(RLungARatio);
+ RightLungTissue.GetTissueToPlasmaLipoproteinRatio().SetValue(RLungLRatio);
+ RightLungTissue.GetTotalMass().SetValue(RLungTissueMass, MassUnit::kg);
+
+ SELiquidCompartmentLink& RightLungVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::RightLung),
+ RightLungExtracellular, pulse::VascularLink::RightLungVascularToTissue);
+ RightLungVascularToTissue.MapPath(RightLung1ToRightLungT2);
+
+ SELiquidCompartmentLink& RightLungTissueToLymph = m_Compartments->CreateLiquidLink(RightLungExtracellular, cLymph, pulse::LymphLink::RightLungTissueToLymph);
+ RightLungTissueToLymph.MapPath(RightLungT1ToLymph);
+ }
//////////
// Skin //
diff --git a/src/cpp/engine/common/controller/SetupExpandedRespiratory.cpp b/src/cpp/engine/common/controller/SetupExpandedRespiratory.cpp
index 276afbe8f..eb077b6d8 100644
--- a/src/cpp/engine/common/controller/SetupExpandedRespiratory.cpp
+++ b/src/cpp/engine/common/controller/SetupExpandedRespiratory.cpp
@@ -28,11 +28,2971 @@ namespace pulse
{
void Controller::SetupExpandedPulmonaryRespiratory()
{
- Fatal("Expanded respiratory circuit not yet implemented.");
+ Info("Setting Up Expanded Respiratory");
+ double RightLungRatio = m_InitialPatient->GetRightLungRatio().GetValue();
+ double LeftLungRatio = 1 - RightLungRatio;
+
+ SEFluidCircuit& cRespiratory = m_Circuits->GetRespiratoryCircuit();
+ SEFluidCircuitNode& Ambient = *m_Circuits->GetFluidNode(pulse::EnvironmentNode::Ambient);
+ cRespiratory.AddNode(Ambient);
+
+ //Input parameters
+ const double RespiratorySystemCompliance_L_Per_cmH20 = 0.1; /// \cite Levitzky2013pulmonary
+ const double RespiratorySideCompliance_L_Per_cmH2O = RespiratorySystemCompliance_L_Per_cmH20 / 2.0; //compliances in parallel sum, so divide by 2 for each lung
+ const double LungCompliance_L_Per_cmH2O = 2.0 * RespiratorySideCompliance_L_Per_cmH2O; //compliances in series, so multiply by 2 for equal split
+ const double ChestWallCompliance_L_Per_cmH2O = LungCompliance_L_Per_cmH2O; // =0.1 L/cmH2O each /// \cite kacmarek2016egan p233
+ const double IntrapleuralPressure_cmH2O = -5.0; /// \cite Levitzky2013pulmonary
+ //const double TotalAirwayResistance_cmH2O_s_Per_L = 1.5; /// \cite Levitzky2013pulmonary
+
+ //Should add up to 100% of total airway resistance
+ /// \cite kacmarek2016egan
+ // const double TracheaResistanceFraction = 0.5;
+ // TracheaResistanceFraction is implied
+ //const double BronchiResistanceFraction = 0.3;
+ //const double AlveoliDuctResistanceFraction = 0.2;
+
+ double functionalResidualCapacity_L = m_InitialPatient->GetFunctionalResidualCapacity(VolumeUnit::L);
+ double anatomicDeadSpaceVolume_L = 0.002 * m_InitialPatient->GetWeight(MassUnit::kg); //Should not change with diseases /// \cite Levitzky2013pulmonary
+ double alveolarDeadSpaceVolume_L = 0.001; //Should change with certain diseases /// \cite Levitzky2013pulmonary
+ double physiologicDeadSpaceVolume_L = anatomicDeadSpaceVolume_L + alveolarDeadSpaceVolume_L;
+ //double pleuralVolume_L = 20.0 / 1000.0; //this is a liquid volume /// \cite Levitzky2013pulmonary
+ double pleuralVolume_L = functionalResidualCapacity_L; //Make this a gas volume to mimic the liquid volume
+ double alveoliVolume_L = functionalResidualCapacity_L - physiologicDeadSpaceVolume_L;
+
+ double openResistance_cmH2O_s_Per_L = m_Config->GetDefaultOpenFlowResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+
+ SEFluidCircuitNode& RightMainBronchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightMainBronchus);
+ SEFluidCircuitNode& LeftMainBronchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftMainBronchus);
+ SEFluidCircuitNode& RightIntermediateBronchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightIntermediateBronchus);
+ SEFluidCircuitNode& RightSuperiorLobarBronchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobarBronchus);
+ SEFluidCircuitNode& RightMiddleLobarBronchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightMiddleLobarBronchus);
+ SEFluidCircuitNode& RightInferiorLobarBronchus1 = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobarBronchus1);
+ SEFluidCircuitNode& LeftInferiorLobarBronchus1 = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobarBronchus1);
+ SEFluidCircuitNode& LeftSuperiorLobarBronchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobarBronchus);
+ SEFluidCircuitNode& RightInferiorLobarBronchus2 = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobarBronchus2);
+ SEFluidCircuitNode& LeftInferiorLobarBronchus2 = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobarBronchus2);
+ SEFluidCircuitNode& RightSuperiorApicoposteriorBronchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorApicoposteriorBronchus);
+ SEFluidCircuitNode& RightInferiorLobarBronchus3 = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobarBronchus3);
+ SEFluidCircuitNode& LeftInferiorLobarBronchus3 = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobarBronchus3);
+ SEFluidCircuitNode& LeftLingularBonchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftLingularBonchus);
+ SEFluidCircuitNode& LeftSuperiorApicoposteriorBronchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorApicoposteriorBronchus);
+ SEFluidCircuitNode& RightInferiorLobarBronchus4 = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobarBronchus4);
+
+ SEFluidCircuitNode& RightSuperiorLobeApicalBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeApicalBronchiole);
+ SEFluidCircuitNode& RightSuperiorLobePosteriorBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobePosteriorBronchiole);
+ SEFluidCircuitNode& RightSuperiorLobeAnteriorBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeAnteriorBronchiole);
+ SEFluidCircuitNode& RightMiddleLobeLateralBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeLateralBronchiole);
+ SEFluidCircuitNode& RightMiddleLobeMedialBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeMedialBronchiole);
+ SEFluidCircuitNode& RightInferiorLobeSuperiorBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeSuperiorBronchiole);
+ SEFluidCircuitNode& RightInferiorLobeMedialBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeMedialBasalBronchiole);
+ SEFluidCircuitNode& RightInferiorLobeAnteriorBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeAnteriorBasalBronchiole);
+ SEFluidCircuitNode& RightInferiorLobeLateralBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeLateralBasalBronchiole);
+ SEFluidCircuitNode& RightInferiorLobePosteriorBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobePosteriorBasalBronchiole);
+ SEFluidCircuitNode& LeftInferiorLobePosteriorBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobePosteriorBasalBronchiole);
+ SEFluidCircuitNode& LeftInferiorLobeLateralBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeLateralBasalBronchiole);
+ SEFluidCircuitNode& LeftInferiorLobeAnteromedialBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeAnteromedialBasalBronchiole);
+ SEFluidCircuitNode& LeftInferiorLobeSuperiorBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeSuperiorBronchiole);
+ SEFluidCircuitNode& LeftSuperiorLobeInferiorLingulaBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeInferiorLingulaBronchiole);
+ SEFluidCircuitNode& LeftSuperiorLobeSuperiorLingulaBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeSuperiorLingulaBronchiole);
+ SEFluidCircuitNode& LeftSuperiorLobeAnteriorBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeAnteriorBronchiole);
+ SEFluidCircuitNode& LeftSuperiorLobeApicoposteriorBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeApicoposteriorBronchiole);
+
+ SEFluidCircuitNode& RightSuperiorLobeApicalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeApicalAlveolarDeadSpace);
+ SEFluidCircuitNode& RightSuperiorLobePosteriorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobePosteriorAlveolarDeadSpace);
+ SEFluidCircuitNode& RightSuperiorLobeAnteriorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeAnteriorAlveolarDeadSpace);
+ SEFluidCircuitNode& RightMiddleLobeLateralAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeLateralAlveolarDeadSpace);
+ SEFluidCircuitNode& RightMiddleLobeMedialAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeMedialAlveolarDeadSpace);
+ SEFluidCircuitNode& RightInferiorLobeSuperiorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeSuperiorAlveolarDeadSpace);
+ SEFluidCircuitNode& RightInferiorLobeMedialBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeMedialBasalAlveolarDeadSpace);
+ SEFluidCircuitNode& RightInferiorLobeAnteriorBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ SEFluidCircuitNode& RightInferiorLobeLateralBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeLateralBasalAlveolarDeadSpace);
+ SEFluidCircuitNode& RightInferiorLobePosteriorBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobePosteriorBasalAlveolarDeadSpace);
+ SEFluidCircuitNode& LeftInferiorLobePosteriorBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ SEFluidCircuitNode& LeftInferiorLobeLateralBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ SEFluidCircuitNode& LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ SEFluidCircuitNode& LeftInferiorLobeSuperiorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeSuperiorAlveolarDeadSpace);
+ SEFluidCircuitNode& LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ SEFluidCircuitNode& LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ SEFluidCircuitNode& LeftSuperiorLobeAnteriorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ SEFluidCircuitNode& LeftSuperiorLobeApicoposteriorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ SEFluidCircuitNode& RightSuperiorLobeApicalAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeApicalAlveoli);
+ SEFluidCircuitNode& RightSuperiorLobePosteriorAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobePosteriorAlveoli);
+ SEFluidCircuitNode& RightSuperiorLobeAnteriorAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeAnteriorAlveoli);
+ SEFluidCircuitNode& RightMiddleLobeLateralAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeLateralAlveoli);
+ SEFluidCircuitNode& RightMiddleLobeMedialAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeMedialAlveoli);
+ SEFluidCircuitNode& RightInferiorLobeSuperiorAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeSuperiorAlveoli);
+ SEFluidCircuitNode& RightInferiorLobeMedialBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeMedialBasalAlveoli);
+ SEFluidCircuitNode& RightInferiorLobeAnteriorBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeAnteriorBasalAlveoli);
+ SEFluidCircuitNode& RightInferiorLobeLateralBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeLateralBasalAlveoli);
+ SEFluidCircuitNode& RightInferiorLobePosteriorBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobePosteriorBasalAlveoli);
+ SEFluidCircuitNode& LeftInferiorLobePosteriorBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobePosteriorBasalAlveoli);
+ SEFluidCircuitNode& LeftInferiorLobeLateralBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeLateralBasalAlveoli);
+ SEFluidCircuitNode& LeftInferiorLobeAnteromedialBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeAnteromedialBasalAlveoli);
+ SEFluidCircuitNode& LeftInferiorLobeSuperiorAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeSuperiorAlveoli);
+ SEFluidCircuitNode& LeftSuperiorLobeInferiorLingulaAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeInferiorLingulaAlveoli);
+ SEFluidCircuitNode& LeftSuperiorLobeSuperiorLingulaAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeSuperiorLingulaAlveoli);
+ SEFluidCircuitNode& LeftSuperiorLobeAnteriorAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeAnteriorAlveoli);
+ SEFluidCircuitNode& LeftSuperiorLobeApicoposteriorAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeApicoposteriorAlveoli);
+
+ RightMainBronchus.GetPressure().Set(Ambient.GetNextPressure());
+ LeftMainBronchus.GetPressure().Set(Ambient.GetNextPressure());
+ RightIntermediateBronchus.GetPressure().Set(Ambient.GetNextPressure());
+ RightSuperiorLobarBronchus.GetPressure().Set(Ambient.GetNextPressure());
+ RightMiddleLobarBronchus.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobarBronchus1.GetPressure().Set(Ambient.GetNextPressure());
+ LeftInferiorLobarBronchus1.GetPressure().Set(Ambient.GetNextPressure());
+ LeftSuperiorLobarBronchus.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobarBronchus2.GetPressure().Set(Ambient.GetNextPressure());
+ LeftInferiorLobarBronchus2.GetPressure().Set(Ambient.GetNextPressure());
+ RightSuperiorApicoposteriorBronchus.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobarBronchus3.GetPressure().Set(Ambient.GetNextPressure());
+ LeftInferiorLobarBronchus3.GetPressure().Set(Ambient.GetNextPressure());
+ LeftLingularBonchus.GetPressure().Set(Ambient.GetNextPressure());
+ LeftSuperiorApicoposteriorBronchus.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobarBronchus4.GetPressure().Set(Ambient.GetNextPressure());
+
+ RightSuperiorLobeApicalBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ RightSuperiorLobePosteriorBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ RightSuperiorLobeAnteriorBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ RightMiddleLobeLateralBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ RightMiddleLobeMedialBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobeSuperiorBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobeMedialBasalBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobeAnteriorBasalBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobeLateralBasalBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobePosteriorBasalBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ LeftInferiorLobePosteriorBasalBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ LeftInferiorLobeLateralBasalBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ LeftInferiorLobeAnteromedialBasalBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ LeftInferiorLobeSuperiorBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ LeftSuperiorLobeInferiorLingulaBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ LeftSuperiorLobeSuperiorLingulaBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ LeftSuperiorLobeAnteriorBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+ LeftSuperiorLobeApicoposteriorBronchiole.GetPressure().Set(Ambient.GetNextPressure());
+
+ RightSuperiorLobeApicalAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ RightSuperiorLobePosteriorAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ RightSuperiorLobeAnteriorAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ RightMiddleLobeLateralAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ RightMiddleLobeMedialAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobeSuperiorAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobeMedialBasalAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobeAnteriorBasalAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobeLateralBasalAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobePosteriorBasalAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ LeftInferiorLobePosteriorBasalAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ LeftInferiorLobeLateralBasalAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ LeftInferiorLobeSuperiorAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ LeftSuperiorLobeAnteriorAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+ LeftSuperiorLobeApicoposteriorAlveolarDeadSpace.GetPressure().Set(Ambient.GetNextPressure());
+
+ RightSuperiorLobeApicalAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ RightSuperiorLobePosteriorAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ RightSuperiorLobeAnteriorAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ RightMiddleLobeLateralAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ RightMiddleLobeMedialAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobeSuperiorAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobeMedialBasalAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobeAnteriorBasalAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobeLateralBasalAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ RightInferiorLobePosteriorBasalAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ LeftInferiorLobePosteriorBasalAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ LeftInferiorLobeLateralBasalAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ LeftInferiorLobeAnteromedialBasalAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ LeftInferiorLobeSuperiorAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ LeftSuperiorLobeInferiorLingulaAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ LeftSuperiorLobeSuperiorLingulaAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ LeftSuperiorLobeAnteriorAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+ LeftSuperiorLobeApicoposteriorAlveoli.GetPressure().Set(Ambient.GetNextPressure());
+
+ double TracheaVolume_Percent = 13.40;
+ double RightMainBronchusVolume_Percent = 1.42;
+ double LeftMainBronchusVolume_Percent = 3.77;
+ double RightIntermediateBronchusVolume_Percent = 1.08;
+ double RightSuperiorLobarBronchusVolume_Percent = 0.44;
+ double RightMiddleLobarBronchusVolume_Percent = 0.30;
+ double RightInferiorLobarBronchus1Volume_Percent = 0.17;
+ double LeftInferiorLobarBronchus1Volume_Percent = 0.37;
+ double LeftSuperiorLobarBronchusVolume_Percent = 0.47;
+ double RightInferiorLobarBronchus2Volume_Percent = 0.16;
+ double LeftInferiorLobarBronchus2Volume_Percent = 0.40;
+ double RightSuperiorApicoposteriorBronchusVolume_Percent = 0.24;
+ double RightInferiorLobarBronchus3Volume_Percent = 0.30;
+ double LeftInferiorLobarBronchus3Volume_Percent = 0.12;
+ double LeftLingularBonchusVolume_Percent = 0.17;
+ double LeftSuperiorApicoposteriorBronchusVolume_Percent = 0.39;
+ double RightInferiorLobarBronchus4Volume_Percent = 0.19;
+
+ double RightSuperiorLobeApicalBronchioleVolume_Percent = 7.10;
+ double RightSuperiorLobePosteriorBronchioleVolume_Percent = 2.67;
+ double RightSuperiorLobeAnteriorBronchioleVolume_Percent = 5.73;
+ double RightMiddleLobeLateralBronchioleVolume_Percent = 2.22;
+ double RightMiddleLobeMedialBronchioleVolume_Percent = 4.81;
+ double RightInferiorLobeSuperiorBronchioleVolume_Percent = 4.74;
+ double RightInferiorLobeMedialBasalBronchioleVolume_Percent = 1.30;
+ double RightInferiorLobeAnteriorBasalBronchioleVolume_Percent = 4.20;
+ double RightInferiorLobeLateralBasalBronchioleVolume_Percent = 3.67;
+ double RightInferiorLobePosteriorBasalBronchioleVolume_Percent = 5.27;
+ double LeftInferiorLobePosteriorBasalBronchioleVolume_Percent = 4.28;
+ double LeftInferiorLobeLateralBasalBronchioleVolume_Percent = 4.89;
+ double LeftInferiorLobeAnteromedialBasalBronchioleVolume_Percent = 3.21;
+ double LeftInferiorLobeSuperiorBronchioleVolume_Percent = 3.90;
+ double LeftSuperiorLobeInferiorLingulaBronchioleVolume_Percent = 3.67;
+ double LeftSuperiorLobeSuperiorLingulaBronchioleVolume_Percent = 3.06;
+ double LeftSuperiorLobeAnteriorBronchioleVolume_Percent = 5.73;
+ double LeftSuperiorLobeApicoposteriorBronchioleVolume_Percent = 6.19;
+
+ double RightSuperiorLobeApicalAlveoliVolume_Percent = 9.3;
+ double RightSuperiorLobePosteriorAlveoliVolume_Percent = 3.5;
+ double RightSuperiorLobeAnteriorAlveoliVolume_Percent = 7.5;
+ double RightMiddleLobeLateralAlveoliVolume_Percent = 2.9;
+ double RightMiddleLobeMedialAlveoliVolume_Percent = 6.3;
+ double RightInferiorLobeSuperiorAlveoliVolume_Percent = 6.2;
+ double RightInferiorLobeMedialBasalAlveoliVolume_Percent = 1.7;
+ double RightInferiorLobeAnteriorBasalAlveoliVolume_Percent = 5.5;
+ double RightInferiorLobeLateralBasalAlveoliVolume_Percent = 4.8;
+ double RightInferiorLobePosteriorBasalAlveoliVolume_Percent = 6.9;
+ double LeftInferiorLobePosteriorBasalAlveoliVolume_Percent = 5.6;
+ double LeftInferiorLobeLateralBasalAlveoliVolume_Percent = 6.4;
+ double LeftInferiorLobeAnteromedialBasalAlveoliVolume_Percent = 4.2;
+ double LeftInferiorLobeSuperiorAlveoliVolume_Percent = 5.1;
+ double LeftSuperiorLobeInferiorLingulaAlveoliVolume_Percent = 4.8;
+ double LeftSuperiorLobeSuperiorLingulaAlveoliVolume_Percent = 4.0;
+ double LeftSuperiorLobeAnteriorAlveoliVolume_Percent = 7.5;
+ double LeftSuperiorLobeApicoposteriorAlveoliVolume_Percent = 8.1;
+
+ double remainingVolume_Percent = 100.0 - TracheaVolume_Percent;
+ RightMainBronchus.GetVolumeBaseline().SetValue(RightMainBronchusVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ LeftMainBronchus.GetVolumeBaseline().SetValue(LeftMainBronchusVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightIntermediateBronchus.GetVolumeBaseline().SetValue(RightIntermediateBronchusVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightSuperiorLobarBronchus.GetVolumeBaseline().SetValue(RightSuperiorLobarBronchusVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightMiddleLobarBronchus.GetVolumeBaseline().SetValue(RightMiddleLobarBronchusVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightInferiorLobarBronchus1.GetVolumeBaseline().SetValue(RightInferiorLobarBronchus1Volume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ LeftInferiorLobarBronchus1.GetVolumeBaseline().SetValue(LeftInferiorLobarBronchus1Volume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ LeftSuperiorLobarBronchus.GetVolumeBaseline().SetValue(LeftSuperiorLobarBronchusVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightInferiorLobarBronchus2.GetVolumeBaseline().SetValue(RightInferiorLobarBronchus2Volume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ LeftInferiorLobarBronchus2.GetVolumeBaseline().SetValue(LeftInferiorLobarBronchus2Volume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightSuperiorApicoposteriorBronchus.GetVolumeBaseline().SetValue(RightSuperiorApicoposteriorBronchusVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightInferiorLobarBronchus3.GetVolumeBaseline().SetValue(RightInferiorLobarBronchus3Volume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ LeftInferiorLobarBronchus3.GetVolumeBaseline().SetValue(LeftInferiorLobarBronchus3Volume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ LeftLingularBonchus.GetVolumeBaseline().SetValue(LeftLingularBonchusVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ LeftSuperiorApicoposteriorBronchus.GetVolumeBaseline().SetValue(LeftSuperiorApicoposteriorBronchusVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightInferiorLobarBronchus4.GetVolumeBaseline().SetValue(RightInferiorLobarBronchus4Volume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+
+ RightSuperiorLobeApicalBronchiole.GetVolumeBaseline().SetValue(RightSuperiorLobeApicalBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightSuperiorLobePosteriorBronchiole.GetVolumeBaseline().SetValue(RightSuperiorLobePosteriorBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightSuperiorLobeAnteriorBronchiole.GetVolumeBaseline().SetValue(RightSuperiorLobeAnteriorBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightMiddleLobeLateralBronchiole.GetVolumeBaseline().SetValue(RightMiddleLobeLateralBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightMiddleLobeMedialBronchiole.GetVolumeBaseline().SetValue(RightMiddleLobeMedialBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightInferiorLobeSuperiorBronchiole.GetVolumeBaseline().SetValue(RightInferiorLobeSuperiorBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightInferiorLobeMedialBasalBronchiole.GetVolumeBaseline().SetValue(RightInferiorLobeMedialBasalBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightInferiorLobeAnteriorBasalBronchiole.GetVolumeBaseline().SetValue(RightInferiorLobeAnteriorBasalBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightInferiorLobeLateralBasalBronchiole.GetVolumeBaseline().SetValue(RightInferiorLobeLateralBasalBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ RightInferiorLobePosteriorBasalBronchiole.GetVolumeBaseline().SetValue(RightInferiorLobePosteriorBasalBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ LeftInferiorLobePosteriorBasalBronchiole.GetVolumeBaseline().SetValue(LeftInferiorLobePosteriorBasalBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ LeftInferiorLobeLateralBasalBronchiole.GetVolumeBaseline().SetValue(LeftInferiorLobeLateralBasalBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ LeftInferiorLobeAnteromedialBasalBronchiole.GetVolumeBaseline().SetValue(LeftInferiorLobeAnteromedialBasalBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ LeftInferiorLobeSuperiorBronchiole.GetVolumeBaseline().SetValue(LeftInferiorLobeSuperiorBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ LeftSuperiorLobeInferiorLingulaBronchiole.GetVolumeBaseline().SetValue(LeftSuperiorLobeInferiorLingulaBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ LeftSuperiorLobeSuperiorLingulaBronchiole.GetVolumeBaseline().SetValue(LeftSuperiorLobeSuperiorLingulaBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ LeftSuperiorLobeAnteriorBronchiole.GetVolumeBaseline().SetValue(LeftSuperiorLobeAnteriorBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+ LeftSuperiorLobeApicoposteriorBronchiole.GetVolumeBaseline().SetValue(LeftSuperiorLobeApicoposteriorBronchioleVolume_Percent / remainingVolume_Percent * anatomicDeadSpaceVolume_L, VolumeUnit::L);
+
+ RightSuperiorLobeApicalAlveoli.GetVolumeBaseline().SetValue(RightSuperiorLobeApicalAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ RightSuperiorLobePosteriorAlveoli.GetVolumeBaseline().SetValue(RightSuperiorLobePosteriorAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ RightSuperiorLobeAnteriorAlveoli.GetVolumeBaseline().SetValue(RightSuperiorLobeAnteriorAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ RightMiddleLobeLateralAlveoli.GetVolumeBaseline().SetValue(RightMiddleLobeLateralAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ RightMiddleLobeMedialAlveoli.GetVolumeBaseline().SetValue(RightMiddleLobeMedialAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ RightInferiorLobeSuperiorAlveoli.GetVolumeBaseline().SetValue(RightInferiorLobeSuperiorAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ RightInferiorLobeMedialBasalAlveoli.GetVolumeBaseline().SetValue(RightInferiorLobeMedialBasalAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ RightInferiorLobeAnteriorBasalAlveoli.GetVolumeBaseline().SetValue(RightInferiorLobeAnteriorBasalAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ RightInferiorLobeLateralBasalAlveoli.GetVolumeBaseline().SetValue(RightInferiorLobeLateralBasalAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ RightInferiorLobePosteriorBasalAlveoli.GetVolumeBaseline().SetValue(RightInferiorLobePosteriorBasalAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ LeftInferiorLobePosteriorBasalAlveoli.GetVolumeBaseline().SetValue(LeftInferiorLobePosteriorBasalAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ LeftInferiorLobeLateralBasalAlveoli.GetVolumeBaseline().SetValue(LeftInferiorLobeLateralBasalAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ LeftInferiorLobeAnteromedialBasalAlveoli.GetVolumeBaseline().SetValue(LeftInferiorLobeAnteromedialBasalAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ LeftInferiorLobeSuperiorAlveoli.GetVolumeBaseline().SetValue(LeftInferiorLobeSuperiorAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ LeftSuperiorLobeInferiorLingulaAlveoli.GetVolumeBaseline().SetValue(LeftSuperiorLobeInferiorLingulaAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ LeftSuperiorLobeSuperiorLingulaAlveoli.GetVolumeBaseline().SetValue(LeftSuperiorLobeSuperiorLingulaAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ LeftSuperiorLobeAnteriorAlveoli.GetVolumeBaseline().SetValue(LeftSuperiorLobeAnteriorAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+ LeftSuperiorLobeApicoposteriorAlveoli.GetVolumeBaseline().SetValue(LeftSuperiorLobeApicoposteriorAlveoliVolume_Percent / 100.0 * alveoliVolume_L, VolumeUnit::L);
+
+ RightSuperiorLobeApicalAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ RightSuperiorLobePosteriorAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ RightSuperiorLobeAnteriorAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ RightMiddleLobeLateralAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ RightMiddleLobeMedialAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ RightInferiorLobeSuperiorAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ RightInferiorLobeMedialBasalAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ RightInferiorLobeAnteriorBasalAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ RightInferiorLobeLateralBasalAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ RightInferiorLobePosteriorBasalAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ LeftInferiorLobePosteriorBasalAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ LeftInferiorLobeLateralBasalAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ LeftInferiorLobeSuperiorAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ LeftSuperiorLobeAnteriorAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+ LeftSuperiorLobeApicoposteriorAlveolarDeadSpace.GetVolumeBaseline().SetValue(alveolarDeadSpaceVolume_L / 18.0, VolumeUnit::L);
+
+ // Airway
+ SEFluidCircuitNode& Airway = cRespiratory.CreateNode(pulse::RespiratoryNode::Airway);
+ Airway.GetPressure().Set(Ambient.GetNextPressure());
+ Airway.GetVolumeBaseline().SetValue(0.0206, VolumeUnit::L);
+ // Pharynx
+ SEFluidCircuitNode& Pharynx = cRespiratory.CreateNode(pulse::RespiratoryNode::Pharynx);
+ Pharynx.GetPressure().Set(Ambient.GetNextPressure());
+ Pharynx.GetVolumeBaseline().SetValue(0.001, VolumeUnit::L);
+ // Carina
+ SEFluidCircuitNode& Carina = cRespiratory.CreateNode(pulse::RespiratoryNode::Carina);
+ Carina.GetPressure().Set(Ambient.GetNextPressure());
+ Carina.GetVolumeBaseline().SetValue(TracheaVolume_Percent / 100.0 * anatomicDeadSpaceVolume_L, VolumeUnit::L); //Trachea Volume
+
+ // Right Pleural Connection - no volume, so it doesn't get modified by compliances
+ SEFluidCircuitNode& RightPleuralConnection = cRespiratory.CreateNode(pulse::RespiratoryNode::RightPleuralConnection);
+ RightPleuralConnection.GetPressure().SetValue(Ambient.GetNextPressure(PressureUnit::cmH2O) + IntrapleuralPressure_cmH2O, PressureUnit::cmH2O);
+ // Left Pleural Connection - no volume, so it doesn't get modified by compliances
+ SEFluidCircuitNode& LeftPleuralConnection = cRespiratory.CreateNode(pulse::RespiratoryNode::LeftPleuralConnection);
+ LeftPleuralConnection.GetPressure().SetValue(Ambient.GetNextPressure(PressureUnit::cmH2O) + IntrapleuralPressure_cmH2O, PressureUnit::cmH2O);
+ // Right Pleural
+ SEFluidCircuitNode& RightPleural = cRespiratory.CreateNode(pulse::RespiratoryNode::RightPleural);
+ RightPleural.GetPressure().SetValue(Ambient.GetNextPressure(PressureUnit::cmH2O) + IntrapleuralPressure_cmH2O, PressureUnit::cmH2O);
+ RightPleural.GetVolumeBaseline().SetValue(RightLungRatio * pleuralVolume_L, VolumeUnit::L);
+ // Left Pleural
+ SEFluidCircuitNode& LeftPleural = cRespiratory.CreateNode(pulse::RespiratoryNode::LeftPleural);
+ LeftPleural.GetPressure().SetValue(Ambient.GetNextPressure(PressureUnit::cmH2O) + IntrapleuralPressure_cmH2O, PressureUnit::cmH2O);
+ LeftPleural.GetVolumeBaseline().SetValue(LeftLungRatio * pleuralVolume_L, VolumeUnit::L);
+ // Respiratory Muscle - corresponds to a node representing the inspiratory muscles, particularly diaphragm
+ SEFluidCircuitNode& RespiratoryMuscle = cRespiratory.CreateNode(pulse::RespiratoryNode::RespiratoryMuscle);
+ RespiratoryMuscle.GetPressure().Set(Ambient.GetNextPressure());
+ // Stomach
+ SEFluidCircuitNode& Stomach = cRespiratory.CreateNode(pulse::RespiratoryNode::Stomach);
+ Stomach.GetPressure().Set(Ambient.GetNextPressure());
+ Stomach.GetVolumeBaseline().SetValue(0.1, VolumeUnit::L);
+
+ //-------------------------------------------------------------------------------------------------------------------------------------
+ // Environment to Airway connections, the path has no element.
+ double TracheaResistance_cmH2O_s_Per_L = 0.8;// Tuned from 1.125;
+ SEFluidCircuitPath& EnvironmentToAirway = cRespiratory.CreatePath(Ambient, Airway, pulse::RespiratoryPath::EnvironmentToAirway);
+ SEFluidCircuitPath& AirwayToPharynx = cRespiratory.CreatePath(Airway, Pharynx, pulse::RespiratoryPath::AirwayToPharynx);
+ SEFluidCircuitPath& PharynxToCarina = cRespiratory.CreatePath(Pharynx, Carina, pulse::RespiratoryPath::PharynxToCarina);
+ PharynxToCarina.GetResistanceBaseline().SetValue(TracheaResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+
+ SEFluidCircuitPath& CarinaToRightMainBronchus = cRespiratory.CreatePath(Carina, RightMainBronchus, pulse::ExpandedRespiratoryPath::CarinaToRightMainBronchus);
+ SEFluidCircuitPath& RightMainBronchusToRightIntermediateBronchus = cRespiratory.CreatePath(RightMainBronchus, RightIntermediateBronchus, pulse::ExpandedRespiratoryPath::RightMainBronchusToRightIntermediateBronchus);
+ SEFluidCircuitPath& RightMainBronchusToRightSuperiorLobarBronchus = cRespiratory.CreatePath(RightMainBronchus, RightSuperiorLobarBronchus, pulse::ExpandedRespiratoryPath::RightMainBronchusToRightSuperiorLobarBronchus);
+ SEFluidCircuitPath& RightIntermediateBronchusToRightMiddleLobarBronchus = cRespiratory.CreatePath(RightIntermediateBronchus, RightMiddleLobarBronchus, pulse::ExpandedRespiratoryPath::RightIntermediateBronchusToRightMiddleLobarBronchus);
+ SEFluidCircuitPath& RightIntermediateBronchusToRightInferiorLobarBronchus1 = cRespiratory.CreatePath(RightIntermediateBronchus, RightInferiorLobarBronchus1, pulse::ExpandedRespiratoryPath::RightIntermediateBronchusToRightInferiorLobarBronchus1);
+ SEFluidCircuitPath& RightInferiorLobarBronchus1ToRightInferiorLobarBronchus2 = cRespiratory.CreatePath(RightInferiorLobarBronchus1, RightInferiorLobarBronchus2, pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus1ToRightInferiorLobarBronchus2);
+ SEFluidCircuitPath& RightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus = cRespiratory.CreatePath(RightSuperiorLobarBronchus, RightSuperiorApicoposteriorBronchus, pulse::ExpandedRespiratoryPath::RightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus);
+ SEFluidCircuitPath& RightInferiorLobarBronchus2ToRightInferiorLobarBronchus3 = cRespiratory.CreatePath(RightInferiorLobarBronchus2, RightInferiorLobarBronchus3, pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus2ToRightInferiorLobarBronchus3);
+ SEFluidCircuitPath& RightInferiorLobarBronchus2ToRightInferiorLobarBronchus4 = cRespiratory.CreatePath(RightInferiorLobarBronchus2, RightInferiorLobarBronchus4, pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus2ToRightInferiorLobarBronchus4);
+
+ SEFluidCircuitPath& CarinaToLeftMainBronchus = cRespiratory.CreatePath(Carina, LeftMainBronchus, pulse::ExpandedRespiratoryPath::CarinaToLeftMainBronchus);
+ SEFluidCircuitPath& LeftMainBronchusToLeftInferiorLobarBronchus1 = cRespiratory.CreatePath(LeftMainBronchus, LeftInferiorLobarBronchus1, pulse::ExpandedRespiratoryPath::LeftMainBronchusToLeftInferiorLobarBronchus1);
+ SEFluidCircuitPath& LeftMainBronchusToLeftSuperiorLobarBronchus = cRespiratory.CreatePath(LeftMainBronchus, LeftSuperiorLobarBronchus, pulse::ExpandedRespiratoryPath::LeftMainBronchusToLeftSuperiorLobarBronchus);
+ SEFluidCircuitPath& LeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2 = cRespiratory.CreatePath(LeftInferiorLobarBronchus1, LeftInferiorLobarBronchus2, pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2);
+ SEFluidCircuitPath& LeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3 = cRespiratory.CreatePath(LeftInferiorLobarBronchus2, LeftInferiorLobarBronchus3, pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3);
+ SEFluidCircuitPath& LeftSuperiorLobarBronchusToLeftLingularBonchus = cRespiratory.CreatePath(LeftSuperiorLobarBronchus, LeftLingularBonchus, pulse::ExpandedRespiratoryPath::LeftSuperiorLobarBronchusToLeftLingularBonchus);
+ SEFluidCircuitPath& LeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus = cRespiratory.CreatePath(LeftSuperiorLobarBronchus, LeftSuperiorApicoposteriorBronchus, pulse::ExpandedRespiratoryPath::LeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus);
+
+ SEFluidCircuitPath& RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole = cRespiratory.CreatePath(RightSuperiorApicoposteriorBronchus, RightSuperiorLobeApicalBronchiole, pulse::ExpandedRespiratoryPath::RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole);
+ SEFluidCircuitPath& RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole = cRespiratory.CreatePath(RightSuperiorApicoposteriorBronchus, RightSuperiorLobePosteriorBronchiole, pulse::ExpandedRespiratoryPath::RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole);
+ SEFluidCircuitPath& RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole = cRespiratory.CreatePath(RightSuperiorLobarBronchus, RightSuperiorLobeAnteriorBronchiole, pulse::ExpandedRespiratoryPath::RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole);
+ SEFluidCircuitPath& RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole = cRespiratory.CreatePath(RightMiddleLobarBronchus, RightMiddleLobeLateralBronchiole, pulse::ExpandedRespiratoryPath::RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole);
+ SEFluidCircuitPath& RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole = cRespiratory.CreatePath(RightMiddleLobarBronchus, RightMiddleLobeMedialBronchiole, pulse::ExpandedRespiratoryPath::RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole);
+ SEFluidCircuitPath& RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole = cRespiratory.CreatePath(RightInferiorLobarBronchus1, RightInferiorLobeSuperiorBronchiole, pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole);
+ SEFluidCircuitPath& RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole = cRespiratory.CreatePath(RightInferiorLobarBronchus2, RightInferiorLobeMedialBasalBronchiole, pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole);
+ SEFluidCircuitPath& RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole = cRespiratory.CreatePath(RightInferiorLobarBronchus3, RightInferiorLobeAnteriorBasalBronchiole, pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole);
+ SEFluidCircuitPath& RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole = cRespiratory.CreatePath(RightInferiorLobarBronchus4, RightInferiorLobeLateralBasalBronchiole, pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole);
+ SEFluidCircuitPath& RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole = cRespiratory.CreatePath(RightInferiorLobarBronchus4, RightInferiorLobePosteriorBasalBronchiole, pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole);
+
+ SEFluidCircuitPath& LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole = cRespiratory.CreatePath(LeftInferiorLobarBronchus3, LeftInferiorLobeLateralBasalBronchiole, pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole);
+ SEFluidCircuitPath& LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole = cRespiratory.CreatePath(LeftInferiorLobarBronchus3, LeftInferiorLobePosteriorBasalBronchiole, pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole);
+ SEFluidCircuitPath& LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole = cRespiratory.CreatePath(LeftInferiorLobarBronchus2, LeftInferiorLobeAnteromedialBasalBronchiole, pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole);
+ SEFluidCircuitPath& LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole = cRespiratory.CreatePath(LeftInferiorLobarBronchus1, LeftInferiorLobeSuperiorBronchiole, pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole);
+ SEFluidCircuitPath& LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole = cRespiratory.CreatePath(LeftLingularBonchus, LeftSuperiorLobeInferiorLingulaBronchiole, pulse::ExpandedRespiratoryPath::LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole);
+ SEFluidCircuitPath& LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole = cRespiratory.CreatePath(LeftLingularBonchus, LeftSuperiorLobeSuperiorLingulaBronchiole, pulse::ExpandedRespiratoryPath::LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole);
+ SEFluidCircuitPath& LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole = cRespiratory.CreatePath(LeftSuperiorApicoposteriorBronchus, LeftSuperiorLobeAnteriorBronchiole, pulse::ExpandedRespiratoryPath::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole);
+ SEFluidCircuitPath& LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole = cRespiratory.CreatePath(LeftSuperiorApicoposteriorBronchus, LeftSuperiorLobeApicoposteriorBronchiole, pulse::ExpandedRespiratoryPath::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole);
+
+ SEFluidCircuitPath& RightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace = cRespiratory.CreatePath(RightSuperiorLobeApicalBronchiole, RightSuperiorLobeApicalAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace);
+ SEFluidCircuitPath& RightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace = cRespiratory.CreatePath(RightSuperiorLobePosteriorBronchiole, RightSuperiorLobePosteriorAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace);
+ SEFluidCircuitPath& RightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace = cRespiratory.CreatePath(RightSuperiorLobeAnteriorBronchiole, RightSuperiorLobeAnteriorAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace);
+ SEFluidCircuitPath& RightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace = cRespiratory.CreatePath(RightMiddleLobeLateralBronchiole, RightMiddleLobeLateralAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace);
+ SEFluidCircuitPath& RightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace = cRespiratory.CreatePath(RightMiddleLobeMedialBronchiole, RightMiddleLobeMedialAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace);
+ SEFluidCircuitPath& RightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace = cRespiratory.CreatePath(RightInferiorLobeSuperiorBronchiole, RightInferiorLobeSuperiorAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace);
+ SEFluidCircuitPath& RightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace = cRespiratory.CreatePath(RightInferiorLobeMedialBasalBronchiole, RightInferiorLobeMedialBasalAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace);
+ SEFluidCircuitPath& RightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace = cRespiratory.CreatePath(RightInferiorLobeAnteriorBasalBronchiole, RightInferiorLobeAnteriorBasalAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ SEFluidCircuitPath& RightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace = cRespiratory.CreatePath(RightInferiorLobeLateralBasalBronchiole, RightInferiorLobeLateralBasalAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace);
+ SEFluidCircuitPath& RightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace = cRespiratory.CreatePath(RightInferiorLobePosteriorBasalBronchiole, RightInferiorLobePosteriorBasalAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace);
+
+ SEFluidCircuitPath& LeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace = cRespiratory.CreatePath(LeftInferiorLobePosteriorBasalBronchiole, LeftInferiorLobePosteriorBasalAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::LeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ SEFluidCircuitPath& LeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace = cRespiratory.CreatePath(LeftInferiorLobeLateralBasalBronchiole, LeftInferiorLobeLateralBasalAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::LeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace = cRespiratory.CreatePath(LeftInferiorLobeAnteromedialBasalBronchiole, LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::LeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ SEFluidCircuitPath& LeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace = cRespiratory.CreatePath(LeftInferiorLobeSuperiorBronchiole, LeftInferiorLobeSuperiorAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::LeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace);
+ SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace = cRespiratory.CreatePath(LeftSuperiorLobeInferiorLingulaBronchiole, LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace = cRespiratory.CreatePath(LeftSuperiorLobeSuperiorLingulaBronchiole, LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ SEFluidCircuitPath& LeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace = cRespiratory.CreatePath(LeftSuperiorLobeAnteriorBronchiole, LeftSuperiorLobeAnteriorAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace = cRespiratory.CreatePath(LeftSuperiorLobeApicoposteriorBronchiole, LeftSuperiorLobeApicoposteriorAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ SEFluidCircuitPath& RightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli = cRespiratory.CreatePath(RightSuperiorLobeApicalAlveolarDeadSpace, RightSuperiorLobeApicalAlveoli, pulse::ExpandedRespiratoryPath::RightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli);
+ SEFluidCircuitPath& RightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli = cRespiratory.CreatePath(RightSuperiorLobePosteriorAlveolarDeadSpace, RightSuperiorLobePosteriorAlveoli, pulse::ExpandedRespiratoryPath::RightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli);
+ SEFluidCircuitPath& RightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli = cRespiratory.CreatePath(RightSuperiorLobeAnteriorAlveolarDeadSpace, RightSuperiorLobeAnteriorAlveoli, pulse::ExpandedRespiratoryPath::RightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli);
+ SEFluidCircuitPath& RightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli = cRespiratory.CreatePath(RightMiddleLobeLateralAlveolarDeadSpace, RightMiddleLobeLateralAlveoli, pulse::ExpandedRespiratoryPath::RightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli);
+ SEFluidCircuitPath& RightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli = cRespiratory.CreatePath(RightMiddleLobeMedialAlveolarDeadSpace, RightMiddleLobeMedialAlveoli, pulse::ExpandedRespiratoryPath::RightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli);
+ SEFluidCircuitPath& RightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli = cRespiratory.CreatePath(RightInferiorLobeSuperiorAlveolarDeadSpace, RightInferiorLobeSuperiorAlveoli, pulse::ExpandedRespiratoryPath::RightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli);
+ SEFluidCircuitPath& RightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli = cRespiratory.CreatePath(RightInferiorLobeMedialBasalAlveolarDeadSpace, RightInferiorLobeMedialBasalAlveoli, pulse::ExpandedRespiratoryPath::RightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli);
+ SEFluidCircuitPath& RightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli = cRespiratory.CreatePath(RightInferiorLobeAnteriorBasalAlveolarDeadSpace, RightInferiorLobeAnteriorBasalAlveoli, pulse::ExpandedRespiratoryPath::RightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli);
+ SEFluidCircuitPath& RightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli = cRespiratory.CreatePath(RightInferiorLobeLateralBasalAlveolarDeadSpace, RightInferiorLobeLateralBasalAlveoli, pulse::ExpandedRespiratoryPath::RightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli);
+ SEFluidCircuitPath& RightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli = cRespiratory.CreatePath(RightInferiorLobePosteriorBasalAlveolarDeadSpace, RightInferiorLobePosteriorBasalAlveoli, pulse::ExpandedRespiratoryPath::RightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli);
+
+ SEFluidCircuitPath& LeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli = cRespiratory.CreatePath(LeftInferiorLobePosteriorBasalAlveolarDeadSpace, LeftInferiorLobePosteriorBasalAlveoli, pulse::ExpandedRespiratoryPath::LeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli);
+ SEFluidCircuitPath& LeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli = cRespiratory.CreatePath(LeftInferiorLobeLateralBasalAlveolarDeadSpace, LeftInferiorLobeLateralBasalAlveoli, pulse::ExpandedRespiratoryPath::LeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli);
+ SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli = cRespiratory.CreatePath(LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace, LeftInferiorLobeAnteromedialBasalAlveoli, pulse::ExpandedRespiratoryPath::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli);
+ SEFluidCircuitPath& LeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli = cRespiratory.CreatePath(LeftInferiorLobeSuperiorAlveolarDeadSpace, LeftInferiorLobeSuperiorAlveoli, pulse::ExpandedRespiratoryPath::LeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli);
+ SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli = cRespiratory.CreatePath(LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace, LeftSuperiorLobeInferiorLingulaAlveoli, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli);
+ SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli = cRespiratory.CreatePath(LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace, LeftSuperiorLobeSuperiorLingulaAlveoli, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli);
+ SEFluidCircuitPath& LeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli = cRespiratory.CreatePath(LeftSuperiorLobeAnteriorAlveolarDeadSpace, LeftSuperiorLobeAnteriorAlveoli, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli);
+ SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli = cRespiratory.CreatePath(LeftSuperiorLobeApicoposteriorAlveolarDeadSpace, LeftSuperiorLobeApicoposteriorAlveoli, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli);
+
+ SEFluidCircuitPath& RightSuperiorLobeApicalAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightSuperiorLobeApicalAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightSuperiorLobeApicalAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightSuperiorLobePosteriorAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightSuperiorLobePosteriorAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightSuperiorLobePosteriorAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightSuperiorLobeAnteriorAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightSuperiorLobeAnteriorAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightSuperiorLobeAnteriorAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightMiddleLobeLateralAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightMiddleLobeLateralAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightMiddleLobeLateralAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightMiddleLobeMedialAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightMiddleLobeMedialAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightMiddleLobeMedialAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightInferiorLobeSuperiorAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightInferiorLobeSuperiorAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightInferiorLobeSuperiorAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightInferiorLobeMedialBasalAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightInferiorLobeMedialBasalAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightInferiorLobeMedialBasalAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightInferiorLobeAnteriorBasalAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightInferiorLobeAnteriorBasalAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightInferiorLobeAnteriorBasalAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightInferiorLobeLateralBasalAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightInferiorLobeLateralBasalAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightInferiorLobeLateralBasalAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightInferiorLobePosteriorBasalAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightInferiorLobePosteriorBasalAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightInferiorLobePosteriorBasalAlveoliToRightPleuralConnection);
+
+ SEFluidCircuitPath& LeftInferiorLobePosteriorBasalAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftInferiorLobePosteriorBasalAlveoli, LeftPleuralConnection, pulse::ExpandedRespiratoryPath::LeftInferiorLobePosteriorBasalAlveoliToLeftPleuralConnection);
+ SEFluidCircuitPath& LeftInferiorLobeLateralBasalAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftInferiorLobeLateralBasalAlveoli, LeftPleuralConnection, pulse::ExpandedRespiratoryPath::LeftInferiorLobeLateralBasalAlveoliToLeftPleuralConnection);
+ SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftInferiorLobeAnteromedialBasalAlveoli, LeftPleuralConnection, pulse::ExpandedRespiratoryPath::LeftInferiorLobeAnteromedialBasalAlveoliToLeftPleuralConnection);
+ SEFluidCircuitPath& LeftInferiorLobeSuperiorAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftInferiorLobeSuperiorAlveoli, LeftPleuralConnection, pulse::ExpandedRespiratoryPath::LeftInferiorLobeSuperiorAlveoliToLeftPleuralConnection);
+ SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftSuperiorLobeInferiorLingulaAlveoli, LeftPleuralConnection, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeInferiorLingulaAlveoliToLeftPleuralConnection);
+ SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftSuperiorLobeSuperiorLingulaAlveoli, LeftPleuralConnection, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeSuperiorLingulaAlveoliToLeftPleuralConnection);
+ SEFluidCircuitPath& LeftSuperiorLobeAnteriorAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftSuperiorLobeAnteriorAlveoli, LeftPleuralConnection, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeAnteriorAlveoliToLeftPleuralConnection);
+ SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftSuperiorLobeApicoposteriorAlveoli, LeftPleuralConnection, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeApicoposteriorAlveoliToLeftPleuralConnection);
+
+ double CarinaToRightMainBronchusResistance_cmH2O_s_Per_L = 1.125;
+ double RightMainBronchusToRightIntermediateBronchusResistance_cmH2O_s_Per_L = 0.150;
+ double RightMainBronchusToRightSuperiorLobarBronchusResistance_cmH2O_s_Per_L = 0.387;
+ double RightIntermediateBronchusToRightMiddleLobarBronchusResistance_cmH2O_s_Per_L = 0.877;
+ double RightIntermediateBronchusToRightInferiorLobarBronchus1Resistance_cmH2O_s_Per_L = 0.150;
+ double RightInferiorLobarBronchus1ToRightInferiorLobarBronchus2Resistance_cmH2O_s_Per_L = 0.186;
+ double RightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchusResistance_cmH2O_s_Per_L = 0.449;
+ double RightInferiorLobarBronchus2ToRightInferiorLobarBronchus3Resistance_cmH2O_s_Per_L = 0.150;
+ double RightInferiorLobarBronchus2ToRightInferiorLobarBronchus4Resistance_cmH2O_s_Per_L = 0.578;
+
+ double CarinaToLeftMainBronchusResistance_cmH2O_s_Per_L = 0.276;
+ double LeftMainBronchusToLeftInferiorLobarBronchus1Resistance_cmH2O_s_Per_L = 0.337;
+ double LeftMainBronchusToLeftSuperiorLobarBronchusResistance_cmH2O_s_Per_L = 0.410;
+ double LeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2Resistance_cmH2O_s_Per_L = 0.150;
+ double LeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3Resistance_cmH2O_s_Per_L = 0.150;
+ double LeftSuperiorLobarBronchusToLeftLingularBonchusResistance_cmH2O_s_Per_L = 0.771;
+ double LeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchusResistance_cmH2O_s_Per_L = 0.350;
+
+ double RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchioleResistance_cmH2O_s_Per_L = 1.486;
+ double RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchioleResistance_cmH2O_s_Per_L = 3.621;
+ double RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchioleResistance_cmH2O_s_Per_L = 1.544;
+ double RightMiddleLobarBronchusToRightMiddleLobeLateralBronchioleResistance_cmH2O_s_Per_L = 2.414;
+ double RightMiddleLobarBronchusToRightMiddleLobeMedialBronchioleResistance_cmH2O_s_Per_L = 2.414;
+ double RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchioleResistance_cmH2O_s_Per_L = 2.395;
+ double RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchioleResistance_cmH2O_s_Per_L = 3.748;
+ double RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchioleResistance_cmH2O_s_Per_L = 1.811;
+ double RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchioleResistance_cmH2O_s_Per_L = 2.465;
+ double RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchioleResistance_cmH2O_s_Per_L = 2.465;
+
+ double LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchioleResistance_cmH2O_s_Per_L = 1.486;
+ double LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchioleResistance_cmH2O_s_Per_L = 2.465;
+ double LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchioleResistance_cmH2O_s_Per_L = 1.730;
+ double LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchioleResistance_cmH2O_s_Per_L = 3.515;
+ double LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchioleResistance_cmH2O_s_Per_L = 4.292;
+ double LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchioleResistance_cmH2O_s_Per_L = 3.219;
+ double LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchioleResistance_cmH2O_s_Per_L = 1.811;
+ double LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchioleResistance_cmH2O_s_Per_L = 1.486;
+
+ CarinaToRightMainBronchus.GetResistanceBaseline().SetValue(CarinaToRightMainBronchusResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightMainBronchusToRightIntermediateBronchus.GetResistanceBaseline().SetValue(RightMainBronchusToRightIntermediateBronchusResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightMainBronchusToRightSuperiorLobarBronchus.GetResistanceBaseline().SetValue(RightMainBronchusToRightSuperiorLobarBronchusResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightIntermediateBronchusToRightMiddleLobarBronchus.GetResistanceBaseline().SetValue(RightIntermediateBronchusToRightMiddleLobarBronchusResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightIntermediateBronchusToRightInferiorLobarBronchus1.GetResistanceBaseline().SetValue(RightIntermediateBronchusToRightInferiorLobarBronchus1Resistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightInferiorLobarBronchus1ToRightInferiorLobarBronchus2.GetResistanceBaseline().SetValue(RightInferiorLobarBronchus1ToRightInferiorLobarBronchus2Resistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus.GetResistanceBaseline().SetValue(RightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchusResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightInferiorLobarBronchus2ToRightInferiorLobarBronchus3.GetResistanceBaseline().SetValue(RightInferiorLobarBronchus2ToRightInferiorLobarBronchus3Resistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightInferiorLobarBronchus2ToRightInferiorLobarBronchus4.GetResistanceBaseline().SetValue(RightInferiorLobarBronchus2ToRightInferiorLobarBronchus4Resistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+
+ CarinaToLeftMainBronchus.GetResistanceBaseline().SetValue(CarinaToLeftMainBronchusResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ LeftMainBronchusToLeftInferiorLobarBronchus1.GetResistanceBaseline().SetValue(LeftMainBronchusToLeftInferiorLobarBronchus1Resistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ LeftMainBronchusToLeftSuperiorLobarBronchus.GetResistanceBaseline().SetValue(LeftMainBronchusToLeftSuperiorLobarBronchusResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ LeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2.GetResistanceBaseline().SetValue(LeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2Resistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ LeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3.GetResistanceBaseline().SetValue(LeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3Resistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ LeftSuperiorLobarBronchusToLeftLingularBonchus.GetResistanceBaseline().SetValue(LeftSuperiorLobarBronchusToLeftLingularBonchusResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ LeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus.GetResistanceBaseline().SetValue(LeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchusResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+
+ RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole.GetResistanceBaseline().SetValue(RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole.GetResistanceBaseline().SetValue(RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole.GetResistanceBaseline().SetValue(RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole.GetResistanceBaseline().SetValue(RightMiddleLobarBronchusToRightMiddleLobeLateralBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole.GetResistanceBaseline().SetValue(RightMiddleLobarBronchusToRightMiddleLobeMedialBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole.GetResistanceBaseline().SetValue(RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole.GetResistanceBaseline().SetValue(RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole.GetResistanceBaseline().SetValue(RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole.GetResistanceBaseline().SetValue(RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole.GetResistanceBaseline().SetValue(RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+
+ LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole.GetResistanceBaseline().SetValue(LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole.GetResistanceBaseline().SetValue(LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole.GetResistanceBaseline().SetValue(LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole.GetResistanceBaseline().SetValue(LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole.GetResistanceBaseline().SetValue(LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole.GetResistanceBaseline().SetValue(LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole.GetResistanceBaseline().SetValue(LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole.GetResistanceBaseline().SetValue(LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchioleResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+
+ double RightSuperiorLobeApicalCompliance_Percent = 4.0;
+ double RightSuperiorLobePosteriorCompliance_Percent = 4.4;
+ double RightSuperiorLobeAnteriorCompliance_Percent = 5.0;
+ double RightMiddleLobeLateralCompliance_Percent = 5.9;
+ double RightMiddleLobeMedialCompliance_Percent = 5.8;
+ double RightInferiorLobeSuperiorCompliance_Percent = 5.3;
+ double RightInferiorLobeMedialBasalCompliance_Percent = 6.0;
+ double RightInferiorLobeAnteriorBasalCompliance_Percent = 6.3;
+ double RightInferiorLobeLateralBasalCompliance_Percent = 6.5;
+ double RightInferiorLobePosteriorBasalCompliance_Percent = 6.2;
+
+ double LeftInferiorLobePosteriorBasalCompliance_Percent = 6.2;
+ double LeftInferiorLobeLateralBasalCompliance_Percent = 6.4;
+ double LeftInferiorLobeAnteromedialBasalCompliance_Percent = 6.1;
+ double LeftInferiorLobeSuperiorCompliance_Percent = 5.3;
+ double LeftSuperiorLobeInferiorLingulaCompliance_Percent = 6.0;
+ double LeftSuperiorLobeSuperiorLingulaCompliance_Percent = 5.6;
+ double LeftSuperiorLobeAnteriorCompliance_Percent = 4.9;
+ double LeftSuperiorLobeApicoposteriorCompliance_Percent = 4.2;
+
+ //Both lungs in parallel
+ double LungsCompliance_L_Per_cmH2O = LungCompliance_L_Per_cmH2O * 2.0;
+
+ RightSuperiorLobeApicalAlveoliToRightPleuralConnection.GetComplianceBaseline().SetValue(RightSuperiorLobeApicalCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ RightSuperiorLobePosteriorAlveoliToRightPleuralConnection.GetComplianceBaseline().SetValue(RightSuperiorLobePosteriorCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ RightSuperiorLobeAnteriorAlveoliToRightPleuralConnection.GetComplianceBaseline().SetValue(RightSuperiorLobeAnteriorCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ RightMiddleLobeLateralAlveoliToRightPleuralConnection.GetComplianceBaseline().SetValue(RightMiddleLobeLateralCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ RightMiddleLobeMedialAlveoliToRightPleuralConnection.GetComplianceBaseline().SetValue(RightMiddleLobeMedialCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ RightInferiorLobeSuperiorAlveoliToRightPleuralConnection.GetComplianceBaseline().SetValue(RightInferiorLobeSuperiorCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ RightInferiorLobeMedialBasalAlveoliToRightPleuralConnection.GetComplianceBaseline().SetValue(RightInferiorLobeMedialBasalCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ RightInferiorLobeAnteriorBasalAlveoliToRightPleuralConnection.GetComplianceBaseline().SetValue(RightInferiorLobeAnteriorBasalCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ RightInferiorLobeLateralBasalAlveoliToRightPleuralConnection.GetComplianceBaseline().SetValue(RightInferiorLobeLateralBasalCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ RightInferiorLobePosteriorBasalAlveoliToRightPleuralConnection.GetComplianceBaseline().SetValue(RightInferiorLobePosteriorBasalCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+
+ LeftInferiorLobePosteriorBasalAlveoliToLeftPleuralConnection.GetComplianceBaseline().SetValue(LeftInferiorLobePosteriorBasalCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ LeftInferiorLobeLateralBasalAlveoliToLeftPleuralConnection.GetComplianceBaseline().SetValue(LeftInferiorLobeLateralBasalCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ LeftInferiorLobeAnteromedialBasalAlveoliToLeftPleuralConnection.GetComplianceBaseline().SetValue(LeftInferiorLobeAnteromedialBasalCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ LeftInferiorLobeSuperiorAlveoliToLeftPleuralConnection.GetComplianceBaseline().SetValue(LeftInferiorLobeSuperiorCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ LeftSuperiorLobeInferiorLingulaAlveoliToLeftPleuralConnection.GetComplianceBaseline().SetValue(LeftSuperiorLobeInferiorLingulaCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ LeftSuperiorLobeSuperiorLingulaAlveoliToLeftPleuralConnection.GetComplianceBaseline().SetValue(LeftSuperiorLobeSuperiorLingulaCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ LeftSuperiorLobeAnteriorAlveoliToLeftPleuralConnection.GetComplianceBaseline().SetValue(LeftSuperiorLobeAnteriorCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ LeftSuperiorLobeApicoposteriorAlveoliToLeftPleuralConnection.GetComplianceBaseline().SetValue(LeftSuperiorLobeApicoposteriorCompliance_Percent / 100.0 * LungsCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+
+ //Need a no element path to be able to include a node with no volume, so it doesn't get modified by compliances
+ cRespiratory.CreatePath(RightPleuralConnection, RightPleural, pulse::RespiratoryPath::RightPleuralConnectionToRightPleural);
+ cRespiratory.CreatePath(LeftPleuralConnection, LeftPleural, pulse::RespiratoryPath::LeftPleuralConnectionToLeftPleural);
+ // Paths for the Driver
+ SEFluidCircuitPath& EnvironmentToRespiratoryMuscle = cRespiratory.CreatePath(Ambient, RespiratoryMuscle, pulse::RespiratoryPath::EnvironmentToRespiratoryMuscle);
+ EnvironmentToRespiratoryMuscle.GetPressureSourceBaseline().SetValue(RespiratoryMuscle.GetPressure(PressureUnit::cmH2O) - Ambient.GetNextPressure(PressureUnit::cmH2O), PressureUnit::cmH2O);
+ // Esophageal (Stomach) path
+ SEFluidCircuitPath& AirwayToStomach = cRespiratory.CreatePath(Airway, Stomach, pulse::RespiratoryPath::AirwayToStomach);
+ AirwayToStomach.GetResistanceBaseline().SetValue(openResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ SEFluidCircuitPath& StomachToEnvironment = cRespiratory.CreatePath(Stomach, Ambient, pulse::RespiratoryPath::StomachToEnvironment);
+ StomachToEnvironment.GetComplianceBaseline().SetValue(0.05, VolumePerPressureUnit::L_Per_cmH2O);
+ StomachToEnvironment.SetNextPolarizedState(eGate::Closed);
+ // Paths to RespiratoryMuscle
+ SEFluidCircuitPath& RightPleuralToRespiratoryMuscle = cRespiratory.CreatePath(RightPleural, RespiratoryMuscle, pulse::RespiratoryPath::RightPleuralToRespiratoryMuscle);
+ RightPleuralToRespiratoryMuscle.GetComplianceBaseline().SetValue(ChestWallCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+ SEFluidCircuitPath& LeftPleuralToRespiratoryMuscle = cRespiratory.CreatePath(LeftPleural, RespiratoryMuscle, pulse::RespiratoryPath::LeftPleuralToRespiratoryMuscle);
+ LeftPleuralToRespiratoryMuscle.GetComplianceBaseline().SetValue(ChestWallCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+
+ cRespiratory.SetNextAndCurrentFromBaselines();
+ cRespiratory.StateChange();
+
+ // Setup Compartments //
+
+ // Pulmonary Compartments
+ SEGasCompartment& pAirway = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::Airway);
+ pAirway.MapNode(Airway);
+ SEGasCompartment& pStomach = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::Stomach);
+ pStomach.MapNode(Stomach);
+ SEGasCompartment& pPharynx = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::Pharynx);
+ pPharynx.MapNode(Pharynx);
+ SEGasCompartment& pCarina = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::Carina);
+ pCarina.MapNode(Carina);
+ SEGasCompartment& pLeftPleural = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::LeftPleuralCavity);
+ pLeftPleural.MapNode(LeftPleural);
+ SEGasCompartment& pRightPleural = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::RightPleuralCavity);
+ pRightPleural.MapNode(RightPleural);
+
+ SEGasCompartment& pRightMainBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMainBronchus);
+ SEGasCompartment& pLeftMainBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftMainBronchus);
+ SEGasCompartment& pRightIntermediateBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightIntermediateBronchus);
+ SEGasCompartment& pRightSuperiorLobarBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobarBronchus);
+ SEGasCompartment& pRightMiddleLobarBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobarBronchus);
+ SEGasCompartment& pRightInferiorLobarBronchus1 = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobarBronchus1);
+ SEGasCompartment& pLeftInferiorLobarBronchus1 = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobarBronchus1);
+ SEGasCompartment& pLeftSuperiorLobarBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobarBronchus);
+ SEGasCompartment& pRightInferiorLobarBronchus2 = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobarBronchus2);
+ SEGasCompartment& pLeftInferiorLobarBronchus2 = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobarBronchus2);
+ SEGasCompartment& pRightSuperiorApicoposteriorBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorApicoposteriorBronchus);
+ SEGasCompartment& pRightInferiorLobarBronchus3 = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobarBronchus3);
+ SEGasCompartment& pLeftInferiorLobarBronchus3 = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobarBronchus3);
+ SEGasCompartment& pLeftLingularBonchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftLingularBonchus);
+ SEGasCompartment& pLeftSuperiorApicoposteriorBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorApicoposteriorBronchus);
+ SEGasCompartment& pRightInferiorLobarBronchus4 = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobarBronchus4);
+
+ SEGasCompartment& pRightSuperiorLobeApicalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobeApicalBronchiole);
+ SEGasCompartment& pRightSuperiorLobePosteriorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobePosteriorBronchiole);
+ SEGasCompartment& pRightSuperiorLobeAnteriorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobeAnteriorBronchiole);
+ SEGasCompartment& pRightMiddleLobeLateralBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobeLateralBronchiole);
+ SEGasCompartment& pRightMiddleLobeMedialBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobeMedialBronchiole);
+ SEGasCompartment& pRightInferiorLobeSuperiorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeSuperiorBronchiole);
+ SEGasCompartment& pRightInferiorLobeMedialBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeMedialBasalBronchiole);
+ SEGasCompartment& pRightInferiorLobeAnteriorBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeAnteriorBasalBronchiole);
+ SEGasCompartment& pRightInferiorLobeLateralBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeLateralBasalBronchiole);
+ SEGasCompartment& pRightInferiorLobePosteriorBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobePosteriorBasalBronchiole);
+
+ SEGasCompartment& pLeftInferiorLobePosteriorBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobePosteriorBasalBronchiole);
+ SEGasCompartment& pLeftInferiorLobeLateralBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeLateralBasalBronchiole);
+ SEGasCompartment& pLeftInferiorLobeAnteromedialBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeAnteromedialBasalBronchiole);
+ SEGasCompartment& pLeftInferiorLobeSuperiorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeSuperiorBronchiole);
+ SEGasCompartment& pLeftSuperiorLobeInferiorLingulaBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeInferiorLingulaBronchiole);
+ SEGasCompartment& pLeftSuperiorLobeSuperiorLingulaBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeSuperiorLingulaBronchiole);
+ SEGasCompartment& pLeftSuperiorLobeAnteriorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeAnteriorBronchiole);
+ SEGasCompartment& pLeftSuperiorLobeApicoposteriorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeApicoposteriorBronchiole);
+
+ SEGasCompartment& pRightSuperiorLobeApicalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobeApicalAlveoli);
+ SEGasCompartment& pRightSuperiorLobePosteriorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobePosteriorAlveoli);
+ SEGasCompartment& pRightSuperiorLobeAnteriorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobeAnteriorAlveoli);
+ SEGasCompartment& pRightMiddleLobeLateralAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobeLateralAlveoli);
+ SEGasCompartment& pRightMiddleLobeMedialAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobeMedialAlveoli);
+ SEGasCompartment& pRightInferiorLobeSuperiorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeSuperiorAlveoli);
+ SEGasCompartment& pRightInferiorLobeMedialBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeMedialBasalAlveoli);
+ SEGasCompartment& pRightInferiorLobeAnteriorBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeAnteriorBasalAlveoli);
+ SEGasCompartment& pRightInferiorLobeLateralBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeLateralBasalAlveoli);
+ SEGasCompartment& pRightInferiorLobePosteriorBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobePosteriorBasalAlveoli);
+
+ SEGasCompartment& pLeftInferiorLobePosteriorBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobePosteriorBasalAlveoli);
+ SEGasCompartment& pLeftInferiorLobeLateralBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeLateralBasalAlveoli);
+ SEGasCompartment& pLeftInferiorLobeAnteromedialBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeAnteromedialBasalAlveoli);
+ SEGasCompartment& pLeftInferiorLobeSuperiorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeSuperiorAlveoli);
+ SEGasCompartment& pLeftSuperiorLobeInferiorLingulaAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeInferiorLingulaAlveoli);
+ SEGasCompartment& pLeftSuperiorLobeSuperiorLingulaAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeSuperiorLingulaAlveoli);
+ SEGasCompartment& pLeftSuperiorLobeAnteriorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeAnteriorAlveoli);
+ SEGasCompartment& pLeftSuperiorLobeApicoposteriorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeApicoposteriorAlveoli);
+
+ SEGasCompartment& pRightSuperiorLobeApicalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobeApicalAlveolarDeadSpace);
+ SEGasCompartment& pRightSuperiorLobePosteriorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobePosteriorAlveolarDeadSpace);
+ SEGasCompartment& pRightSuperiorLobeAnteriorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobeAnteriorAlveolarDeadSpace);
+ SEGasCompartment& pRightMiddleLobeLateralAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobeLateralAlveolarDeadSpace);
+ SEGasCompartment& pRightMiddleLobeMedialAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobeMedialAlveolarDeadSpace);
+ SEGasCompartment& pRightInferiorLobeSuperiorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeSuperiorAlveolarDeadSpace);
+ SEGasCompartment& pRightInferiorLobeMedialBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeMedialBasalAlveolarDeadSpace);
+ SEGasCompartment& pRightInferiorLobeAnteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ SEGasCompartment& pRightInferiorLobeLateralBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeLateralBasalAlveolarDeadSpace);
+ SEGasCompartment& pRightInferiorLobePosteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobePosteriorBasalAlveolarDeadSpace);
+
+ SEGasCompartment& pLeftInferiorLobePosteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ SEGasCompartment& pLeftInferiorLobeLateralBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ SEGasCompartment& pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ SEGasCompartment& pLeftInferiorLobeSuperiorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeSuperiorAlveolarDeadSpace);
+ SEGasCompartment& pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ SEGasCompartment& pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ SEGasCompartment& pLeftSuperiorLobeAnteriorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ SEGasCompartment& pLeftSuperiorLobeApicoposteriorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ pRightMainBronchus.MapNode(RightMainBronchus);
+ pLeftMainBronchus.MapNode(LeftMainBronchus);
+ pRightIntermediateBronchus.MapNode(RightIntermediateBronchus);
+ pRightSuperiorLobarBronchus.MapNode(RightSuperiorLobarBronchus);
+ pRightMiddleLobarBronchus.MapNode(RightMiddleLobarBronchus);
+ pRightInferiorLobarBronchus1.MapNode(RightInferiorLobarBronchus1);
+ pLeftInferiorLobarBronchus1.MapNode(LeftInferiorLobarBronchus1);
+ pLeftSuperiorLobarBronchus.MapNode(LeftSuperiorLobarBronchus);
+ pRightInferiorLobarBronchus2.MapNode(RightInferiorLobarBronchus2);
+ pLeftInferiorLobarBronchus2.MapNode(LeftInferiorLobarBronchus2);
+ pRightSuperiorApicoposteriorBronchus.MapNode(RightSuperiorApicoposteriorBronchus);
+ pRightInferiorLobarBronchus3.MapNode(RightInferiorLobarBronchus3);
+ pLeftInferiorLobarBronchus3.MapNode(LeftInferiorLobarBronchus3);
+ pLeftLingularBonchus.MapNode(LeftLingularBonchus);
+ pLeftSuperiorApicoposteriorBronchus.MapNode(LeftSuperiorApicoposteriorBronchus);
+ pRightInferiorLobarBronchus4.MapNode(RightInferiorLobarBronchus4);
+
+ pRightSuperiorLobeApicalBronchiole.MapNode(RightSuperiorLobeApicalBronchiole);
+ pRightSuperiorLobePosteriorBronchiole.MapNode(RightSuperiorLobePosteriorBronchiole);
+ pRightSuperiorLobeAnteriorBronchiole.MapNode(RightSuperiorLobeAnteriorBronchiole);
+ pRightMiddleLobeLateralBronchiole.MapNode(RightMiddleLobeLateralBronchiole);
+ pRightMiddleLobeMedialBronchiole.MapNode(RightMiddleLobeMedialBronchiole);
+ pRightInferiorLobeSuperiorBronchiole.MapNode(RightInferiorLobeSuperiorBronchiole);
+ pRightInferiorLobeMedialBasalBronchiole.MapNode(RightInferiorLobeMedialBasalBronchiole);
+ pRightInferiorLobeAnteriorBasalBronchiole.MapNode(RightInferiorLobeAnteriorBasalBronchiole);
+ pRightInferiorLobeLateralBasalBronchiole.MapNode(RightInferiorLobeLateralBasalBronchiole);
+ pRightInferiorLobePosteriorBasalBronchiole.MapNode(RightInferiorLobePosteriorBasalBronchiole);
+
+ pLeftInferiorLobePosteriorBasalBronchiole.MapNode(LeftInferiorLobePosteriorBasalBronchiole);
+ pLeftInferiorLobeLateralBasalBronchiole.MapNode(LeftInferiorLobeLateralBasalBronchiole);
+ pLeftInferiorLobeAnteromedialBasalBronchiole.MapNode(LeftInferiorLobeAnteromedialBasalBronchiole);
+ pLeftInferiorLobeSuperiorBronchiole.MapNode(LeftInferiorLobeSuperiorBronchiole);
+ pLeftSuperiorLobeInferiorLingulaBronchiole.MapNode(LeftSuperiorLobeInferiorLingulaBronchiole);
+ pLeftSuperiorLobeSuperiorLingulaBronchiole.MapNode(LeftSuperiorLobeSuperiorLingulaBronchiole);
+ pLeftSuperiorLobeAnteriorBronchiole.MapNode(LeftSuperiorLobeAnteriorBronchiole);
+ pLeftSuperiorLobeApicoposteriorBronchiole.MapNode(LeftSuperiorLobeApicoposteriorBronchiole);
+
+ pRightSuperiorLobeApicalAlveolarDeadSpace.MapNode(RightSuperiorLobeApicalAlveolarDeadSpace);
+ pRightSuperiorLobePosteriorAlveolarDeadSpace.MapNode(RightSuperiorLobePosteriorAlveolarDeadSpace);
+ pRightSuperiorLobeAnteriorAlveolarDeadSpace.MapNode(RightSuperiorLobeAnteriorAlveolarDeadSpace);
+ pRightMiddleLobeLateralAlveolarDeadSpace.MapNode(RightMiddleLobeLateralAlveolarDeadSpace);
+ pRightMiddleLobeMedialAlveolarDeadSpace.MapNode(RightMiddleLobeMedialAlveolarDeadSpace);
+ pRightInferiorLobeSuperiorAlveolarDeadSpace.MapNode(RightInferiorLobeSuperiorAlveolarDeadSpace);
+ pRightInferiorLobeMedialBasalAlveolarDeadSpace.MapNode(RightInferiorLobeMedialBasalAlveolarDeadSpace);
+ pRightInferiorLobeAnteriorBasalAlveolarDeadSpace.MapNode(RightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ pRightInferiorLobeLateralBasalAlveolarDeadSpace.MapNode(RightInferiorLobeLateralBasalAlveolarDeadSpace);
+ pRightInferiorLobePosteriorBasalAlveolarDeadSpace.MapNode(RightInferiorLobePosteriorBasalAlveolarDeadSpace);
+
+ pLeftInferiorLobePosteriorBasalAlveolarDeadSpace.MapNode(LeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ pLeftInferiorLobeLateralBasalAlveolarDeadSpace.MapNode(LeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace.MapNode(LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ pLeftInferiorLobeSuperiorAlveolarDeadSpace.MapNode(LeftInferiorLobeSuperiorAlveolarDeadSpace);
+ pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace.MapNode(LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace.MapNode(LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ pLeftSuperiorLobeAnteriorAlveolarDeadSpace.MapNode(LeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ pLeftSuperiorLobeApicoposteriorAlveolarDeadSpace.MapNode(LeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ pRightSuperiorLobeApicalAlveoli.MapNode(RightSuperiorLobeApicalAlveoli);
+ pRightSuperiorLobePosteriorAlveoli.MapNode(RightSuperiorLobePosteriorAlveoli);
+ pRightSuperiorLobeAnteriorAlveoli.MapNode(RightSuperiorLobeAnteriorAlveoli);
+ pRightMiddleLobeLateralAlveoli.MapNode(RightMiddleLobeLateralAlveoli);
+ pRightMiddleLobeMedialAlveoli.MapNode(RightMiddleLobeMedialAlveoli);
+ pRightInferiorLobeSuperiorAlveoli.MapNode(RightInferiorLobeSuperiorAlveoli);
+ pRightInferiorLobeMedialBasalAlveoli.MapNode(RightInferiorLobeMedialBasalAlveoli);
+ pRightInferiorLobeAnteriorBasalAlveoli.MapNode(RightInferiorLobeAnteriorBasalAlveoli);
+ pRightInferiorLobeLateralBasalAlveoli.MapNode(RightInferiorLobeLateralBasalAlveoli);
+ pRightInferiorLobePosteriorBasalAlveoli.MapNode(RightInferiorLobePosteriorBasalAlveoli);
+
+ pLeftInferiorLobePosteriorBasalAlveoli.MapNode(LeftInferiorLobePosteriorBasalAlveoli);
+ pLeftInferiorLobeLateralBasalAlveoli.MapNode(LeftInferiorLobeLateralBasalAlveoli);
+ pLeftInferiorLobeAnteromedialBasalAlveoli.MapNode(LeftInferiorLobeAnteromedialBasalAlveoli);
+ pLeftInferiorLobeSuperiorAlveoli.MapNode(LeftInferiorLobeSuperiorAlveoli);
+ pLeftSuperiorLobeInferiorLingulaAlveoli.MapNode(LeftSuperiorLobeInferiorLingulaAlveoli);
+ pLeftSuperiorLobeSuperiorLingulaAlveoli.MapNode(LeftSuperiorLobeSuperiorLingulaAlveoli);
+ pLeftSuperiorLobeAnteriorAlveoli.MapNode(LeftSuperiorLobeAnteriorAlveoli);
+ pLeftSuperiorLobeApicoposteriorAlveoli.MapNode(LeftSuperiorLobeApicoposteriorAlveoli);
+
+ // Set up hierarchy
+ SEGasCompartment& pLeftBranches = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftBranches);
+ pLeftBranches.AddChild(pLeftMainBronchus);
+ pLeftBranches.AddChild(pLeftInferiorLobarBronchus1);
+ pLeftBranches.AddChild(pLeftSuperiorLobarBronchus);
+ pLeftBranches.AddChild(pLeftInferiorLobarBronchus2);
+ pLeftBranches.AddChild(pLeftInferiorLobarBronchus3);
+ pLeftBranches.AddChild(pLeftLingularBonchus);
+ pLeftBranches.AddChild(pLeftSuperiorApicoposteriorBronchus);
+
+ pLeftBranches.AddChild(pLeftInferiorLobePosteriorBasalBronchiole);
+ pLeftBranches.AddChild(pLeftInferiorLobeLateralBasalBronchiole);
+ pLeftBranches.AddChild(pLeftInferiorLobeAnteromedialBasalBronchiole);
+ pLeftBranches.AddChild(pLeftInferiorLobeSuperiorBronchiole);
+ pLeftBranches.AddChild(pLeftSuperiorLobeInferiorLingulaBronchiole);
+ pLeftBranches.AddChild(pLeftSuperiorLobeSuperiorLingulaBronchiole);
+ pLeftBranches.AddChild(pLeftSuperiorLobeAnteriorBronchiole);
+ pLeftBranches.AddChild(pLeftSuperiorLobeApicoposteriorBronchiole);
+
+ SEGasCompartment& pRightBranches = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightBranches);
+ pRightBranches.AddChild(pRightMainBronchus);
+ pRightBranches.AddChild(pRightIntermediateBronchus);
+ pRightBranches.AddChild(pRightSuperiorLobarBronchus);
+ pRightBranches.AddChild(pRightMiddleLobarBronchus);
+ pRightBranches.AddChild(pRightInferiorLobarBronchus1);
+ pRightBranches.AddChild(pRightInferiorLobarBronchus2);
+ pRightBranches.AddChild(pRightSuperiorApicoposteriorBronchus);
+ pRightBranches.AddChild(pRightInferiorLobarBronchus3);
+ pRightBranches.AddChild(pRightInferiorLobarBronchus4);
+
+ pRightBranches.AddChild(pRightSuperiorLobeApicalBronchiole);
+ pRightBranches.AddChild(pRightSuperiorLobePosteriorBronchiole);
+ pRightBranches.AddChild(pRightSuperiorLobeAnteriorBronchiole);
+ pRightBranches.AddChild(pRightMiddleLobeLateralBronchiole);
+ pRightBranches.AddChild(pRightMiddleLobeMedialBronchiole);
+ pRightBranches.AddChild(pRightInferiorLobeSuperiorBronchiole);
+ pRightBranches.AddChild(pRightInferiorLobeMedialBasalBronchiole);
+ pRightBranches.AddChild(pRightInferiorLobeAnteriorBasalBronchiole);
+ pRightBranches.AddChild(pRightInferiorLobeLateralBasalBronchiole);
+ pRightBranches.AddChild(pRightInferiorLobePosteriorBasalBronchiole);
+
+ SEGasCompartment& pLeftAnatomicDeadSpace = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::LeftAnatomicDeadSpace);
+ pLeftAnatomicDeadSpace.AddChild(pLeftBranches);
+
+ SEGasCompartment& pRightAnatomicDeadSpace = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::RightAnatomicDeadSpace);
+ pRightAnatomicDeadSpace.AddChild(pRightBranches);
+
+ SEGasCompartment& pLeftAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::LeftAlveolarDeadSpace);
+ pLeftAlveolarDeadSpace.AddChild(pLeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ pLeftAlveolarDeadSpace.AddChild(pLeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ pLeftAlveolarDeadSpace.AddChild(pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ pLeftAlveolarDeadSpace.AddChild(pLeftInferiorLobeSuperiorAlveolarDeadSpace);
+ pLeftAlveolarDeadSpace.AddChild(pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ pLeftAlveolarDeadSpace.AddChild(pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ pLeftAlveolarDeadSpace.AddChild(pLeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ pLeftAlveolarDeadSpace.AddChild(pLeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ SEGasCompartment& pRightAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::RightAlveolarDeadSpace);
+ pRightAlveolarDeadSpace.AddChild(pRightSuperiorLobeApicalAlveolarDeadSpace);
+ pRightAlveolarDeadSpace.AddChild(pRightSuperiorLobePosteriorAlveolarDeadSpace);
+ pRightAlveolarDeadSpace.AddChild(pRightSuperiorLobeAnteriorAlveolarDeadSpace);
+ pRightAlveolarDeadSpace.AddChild(pRightMiddleLobeLateralAlveolarDeadSpace);
+ pRightAlveolarDeadSpace.AddChild(pRightMiddleLobeMedialAlveolarDeadSpace);
+ pRightAlveolarDeadSpace.AddChild(pRightInferiorLobeSuperiorAlveolarDeadSpace);
+ pRightAlveolarDeadSpace.AddChild(pRightInferiorLobeMedialBasalAlveolarDeadSpace);
+ pRightAlveolarDeadSpace.AddChild(pRightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ pRightAlveolarDeadSpace.AddChild(pRightInferiorLobeLateralBasalAlveolarDeadSpace);
+ pRightAlveolarDeadSpace.AddChild(pRightInferiorLobePosteriorBasalAlveolarDeadSpace);
+
+ SEGasCompartment& pLeftAlveoli = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::LeftAlveoli);
+ pLeftAlveoli.AddChild(pLeftInferiorLobePosteriorBasalAlveoli);
+ pLeftAlveoli.AddChild(pLeftInferiorLobeLateralBasalAlveoli);
+ pLeftAlveoli.AddChild(pLeftInferiorLobeAnteromedialBasalAlveoli);
+ pLeftAlveoli.AddChild(pLeftInferiorLobeSuperiorAlveoli);
+ pLeftAlveoli.AddChild(pLeftSuperiorLobeInferiorLingulaAlveoli);
+ pLeftAlveoli.AddChild(pLeftSuperiorLobeSuperiorLingulaAlveoli);
+ pLeftAlveoli.AddChild(pLeftSuperiorLobeAnteriorAlveoli);
+ pLeftAlveoli.AddChild(pLeftSuperiorLobeApicoposteriorAlveoli);
+
+ SEGasCompartment& pRightAlveoli = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::RightAlveoli);
+ pRightAlveoli.AddChild(pRightSuperiorLobeApicalAlveoli);
+ pRightAlveoli.AddChild(pRightSuperiorLobePosteriorAlveoli);
+ pRightAlveoli.AddChild(pRightSuperiorLobeAnteriorAlveoli);
+ pRightAlveoli.AddChild(pRightMiddleLobeLateralAlveoli);
+ pRightAlveoli.AddChild(pRightMiddleLobeMedialAlveoli);
+ pRightAlveoli.AddChild(pRightInferiorLobeSuperiorAlveoli);
+ pRightAlveoli.AddChild(pRightInferiorLobeMedialBasalAlveoli);
+ pRightAlveoli.AddChild(pRightInferiorLobeAnteriorBasalAlveoli);
+ pRightAlveoli.AddChild(pRightInferiorLobeLateralBasalAlveoli);
+ pRightAlveoli.AddChild(pRightInferiorLobePosteriorBasalAlveoli);
+
+ // Set up hierarchy
+ SEGasCompartment& pLeftLung = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::LeftLung);
+ pLeftLung.AddChild(pLeftBranches);
+ pLeftLung.AddChild(pLeftAlveoli);
+ SEGasCompartment& pRightLung = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::RightLung);
+ pRightLung.AddChild(pRightBranches);
+ pRightLung.AddChild(pRightAlveoli);
+ SEGasCompartment& pLungs = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::Lungs);
+ pLungs.AddChild(pLeftLung);
+ pLungs.AddChild(pRightLung);
+ SEGasCompartment& pPleuralCavity = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::PleuralCavity);
+ pPleuralCavity.AddChild(pLeftPleural);
+ pPleuralCavity.AddChild(pRightPleural);
+
+ // Set up other groupings
+ SEGasCompartment& pAlveoli = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::Alveoli);
+ pAlveoli.AddChild(pLeftAlveoli);
+ pAlveoli.AddChild(pRightAlveoli);
+ SEGasCompartment& pAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::AlveolarDeadSpace);
+ pAlveolarDeadSpace.AddChild(pLeftAlveolarDeadSpace);
+ pAlveolarDeadSpace.AddChild(pRightAlveolarDeadSpace);
+ SEGasCompartment& pAnatomicDeadSpace = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::AnatomicDeadSpace);
+ /// \TODO: Add these to the dead space, and make sure to account for it in node volume
+ //pAnatomicDeadSpace.AddChild(pAirway);
+ //pAnatomicDeadSpace.AddChild(pPharynx);
+ //pAnatomicDeadSpace.AddChild(pCarina);
+ pAnatomicDeadSpace.AddChild(pLeftAnatomicDeadSpace);
+ pAnatomicDeadSpace.AddChild(pRightAnatomicDeadSpace);
+
+ //// Setup Links //
+ SEGasCompartment* gEnvironment = m_Compartments->GetGasCompartment(pulse::EnvironmentCompartment::Ambient);
+ SEGasCompartmentLink& pEnvironmentToAirway = m_Compartments->CreateGasLink(*gEnvironment, pAirway, pulse::PulmonaryLink::EnvironmentToAirway);
+ pEnvironmentToAirway.MapPath(EnvironmentToAirway);
+ SEGasCompartmentLink& pAirwayToPharynx = m_Compartments->CreateGasLink(pAirway, pPharynx, pulse::PulmonaryLink::AirwayToPharynx);
+ pAirwayToPharynx.MapPath(AirwayToPharynx);
+ SEGasCompartmentLink& pPharynxToCarina = m_Compartments->CreateGasLink(pPharynx, pCarina, pulse::PulmonaryLink::PharynxToCarina);
+ pPharynxToCarina.MapPath(PharynxToCarina);
+ SEGasCompartmentLink& pAirwayToStomach = m_Compartments->CreateGasLink(pAirway, pStomach, pulse::PulmonaryLink::AirwayToStomach);
+ pAirwayToStomach.MapPath(AirwayToStomach);
+
+ SEGasCompartmentLink& pCarinaToRightMainBronchus = m_Compartments->CreateGasLink(pCarina, pRightMainBronchus, pulse::ExpandedPulmonaryLink::CarinaToRightMainBronchus);
+ SEGasCompartmentLink& pRightMainBronchusToRightIntermediateBronchus = m_Compartments->CreateGasLink(pRightMainBronchus, pRightIntermediateBronchus, pulse::ExpandedPulmonaryLink::RightMainBronchusToRightIntermediateBronchus);
+ SEGasCompartmentLink& pRightMainBronchusToRightSuperiorLobarBronchus = m_Compartments->CreateGasLink(pRightMainBronchus, pRightSuperiorLobarBronchus, pulse::ExpandedPulmonaryLink::RightMainBronchusToRightSuperiorLobarBronchus);
+ SEGasCompartmentLink& pRightIntermediateBronchusToRightMiddleLobarBronchus = m_Compartments->CreateGasLink(pRightIntermediateBronchus, pRightMiddleLobarBronchus, pulse::ExpandedPulmonaryLink::RightIntermediateBronchusToRightMiddleLobarBronchus);
+ SEGasCompartmentLink& pRightIntermediateBronchusToRightInferiorLobarBronchus1 = m_Compartments->CreateGasLink(pRightIntermediateBronchus, pRightInferiorLobarBronchus1, pulse::ExpandedPulmonaryLink::RightIntermediateBronchusToRightInferiorLobarBronchus1);
+ SEGasCompartmentLink& pRightInferiorLobarBronchus1ToRightInferiorLobarBronchus2 = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus1, pRightInferiorLobarBronchus2, pulse::ExpandedPulmonaryLink::RightInferiorLobarBronchus1ToRightInferiorLobarBronchus2);
+ SEGasCompartmentLink& pRightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus = m_Compartments->CreateGasLink(pRightSuperiorLobarBronchus, pRightSuperiorApicoposteriorBronchus, pulse::ExpandedPulmonaryLink::RightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus);
+ SEGasCompartmentLink& pRightInferiorLobarBronchus2ToRightInferiorLobarBronchus3 = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus2, pRightInferiorLobarBronchus3, pulse::ExpandedPulmonaryLink::RightInferiorLobarBronchus2ToRightInferiorLobarBronchus3);
+ SEGasCompartmentLink& pRightInferiorLobarBronchus2ToRightInferiorLobarBronchus4 = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus2, pRightInferiorLobarBronchus4, pulse::ExpandedPulmonaryLink::RightInferiorLobarBronchus2ToRightInferiorLobarBronchus4);
+
+ SEGasCompartmentLink& pCarinaToLeftMainBronchus = m_Compartments->CreateGasLink(pCarina, pLeftMainBronchus, pulse::ExpandedPulmonaryLink::CarinaToLeftMainBronchus);
+ SEGasCompartmentLink& pLeftMainBronchusToLeftInferiorLobarBronchus1 = m_Compartments->CreateGasLink(pLeftMainBronchus, pLeftInferiorLobarBronchus1, pulse::ExpandedPulmonaryLink::LeftMainBronchusToLeftInferiorLobarBronchus1);
+ SEGasCompartmentLink& pLeftMainBronchusToLeftSuperiorLobarBronchus = m_Compartments->CreateGasLink(pLeftMainBronchus, pLeftSuperiorLobarBronchus, pulse::ExpandedPulmonaryLink::LeftMainBronchusToLeftSuperiorLobarBronchus);
+ SEGasCompartmentLink& pLeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2 = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus1, pLeftInferiorLobarBronchus2, pulse::ExpandedPulmonaryLink::LeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2);
+ SEGasCompartmentLink& pLeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3 = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus2, pLeftInferiorLobarBronchus3, pulse::ExpandedPulmonaryLink::LeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3);
+ SEGasCompartmentLink& pLeftSuperiorLobarBronchusToLeftLingularBonchus = m_Compartments->CreateGasLink(pLeftSuperiorLobarBronchus, pLeftLingularBonchus, pulse::ExpandedPulmonaryLink::LeftSuperiorLobarBronchusToLeftLingularBonchus);
+ SEGasCompartmentLink& pLeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus = m_Compartments->CreateGasLink(pLeftSuperiorLobarBronchus, pLeftSuperiorApicoposteriorBronchus, pulse::ExpandedPulmonaryLink::LeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus);
+
+ SEGasCompartmentLink& pRightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole = m_Compartments->CreateGasLink(pRightSuperiorApicoposteriorBronchus, pRightSuperiorLobeApicalBronchiole, pulse::ExpandedPulmonaryLink::RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole);
+ SEGasCompartmentLink& pRightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole = m_Compartments->CreateGasLink(pRightSuperiorApicoposteriorBronchus, pRightSuperiorLobePosteriorBronchiole, pulse::ExpandedPulmonaryLink::RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole);
+ SEGasCompartmentLink& pRightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole = m_Compartments->CreateGasLink(pRightSuperiorLobarBronchus, pRightSuperiorLobeAnteriorBronchiole, pulse::ExpandedPulmonaryLink::RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole);
+ SEGasCompartmentLink& pRightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole = m_Compartments->CreateGasLink(pRightMiddleLobarBronchus, pRightMiddleLobeLateralBronchiole, pulse::ExpandedPulmonaryLink::RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole);
+ SEGasCompartmentLink& pRightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole = m_Compartments->CreateGasLink(pRightMiddleLobarBronchus, pRightMiddleLobeMedialBronchiole, pulse::ExpandedPulmonaryLink::RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole);
+ SEGasCompartmentLink& pRightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus1, pRightInferiorLobeSuperiorBronchiole, pulse::ExpandedPulmonaryLink::RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole);
+ SEGasCompartmentLink& pRightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus2, pRightInferiorLobeMedialBasalBronchiole, pulse::ExpandedPulmonaryLink::RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole);
+ SEGasCompartmentLink& pRightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus3, pRightInferiorLobeAnteriorBasalBronchiole, pulse::ExpandedPulmonaryLink::RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole);
+ SEGasCompartmentLink& pRightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus4, pRightInferiorLobeLateralBasalBronchiole, pulse::ExpandedPulmonaryLink::RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole);
+ SEGasCompartmentLink& pRightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus4, pRightInferiorLobePosteriorBasalBronchiole, pulse::ExpandedPulmonaryLink::RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole);
+
+ SEGasCompartmentLink& pLeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus3, pLeftInferiorLobeLateralBasalBronchiole, pulse::ExpandedPulmonaryLink::LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole);
+ SEGasCompartmentLink& pLeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus3, pLeftInferiorLobePosteriorBasalBronchiole, pulse::ExpandedPulmonaryLink::LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole);
+ SEGasCompartmentLink& pLeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus2, pLeftInferiorLobeAnteromedialBasalBronchiole, pulse::ExpandedPulmonaryLink::LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole);
+ SEGasCompartmentLink& pLeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus1, pLeftInferiorLobeSuperiorBronchiole, pulse::ExpandedPulmonaryLink::LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole);
+ SEGasCompartmentLink& pLeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole = m_Compartments->CreateGasLink(pLeftLingularBonchus, pLeftSuperiorLobeInferiorLingulaBronchiole, pulse::ExpandedPulmonaryLink::LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole);
+ SEGasCompartmentLink& pLeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole = m_Compartments->CreateGasLink(pLeftLingularBonchus, pLeftSuperiorLobeSuperiorLingulaBronchiole, pulse::ExpandedPulmonaryLink::LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole);
+ SEGasCompartmentLink& pLeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole = m_Compartments->CreateGasLink(pLeftSuperiorApicoposteriorBronchus, pLeftSuperiorLobeAnteriorBronchiole, pulse::ExpandedPulmonaryLink::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole);
+ SEGasCompartmentLink& pLeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole = m_Compartments->CreateGasLink(pLeftSuperiorApicoposteriorBronchus, pLeftSuperiorLobeApicoposteriorBronchiole, pulse::ExpandedPulmonaryLink::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole);
+
+ SEGasCompartmentLink& pRightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightSuperiorLobeApicalBronchiole, pRightSuperiorLobeApicalAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightSuperiorLobePosteriorBronchiole, pRightSuperiorLobePosteriorAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightSuperiorLobeAnteriorBronchiole, pRightSuperiorLobeAnteriorAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightMiddleLobeLateralBronchiole, pRightMiddleLobeLateralAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightMiddleLobeMedialBronchiole, pRightMiddleLobeMedialAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightInferiorLobeSuperiorBronchiole, pRightInferiorLobeSuperiorAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightInferiorLobeMedialBasalBronchiole, pRightInferiorLobeMedialBasalAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightInferiorLobeAnteriorBasalBronchiole, pRightInferiorLobeAnteriorBasalAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightInferiorLobeLateralBasalBronchiole, pRightInferiorLobeLateralBasalAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightInferiorLobePosteriorBasalBronchiole, pRightInferiorLobePosteriorBasalAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace);
+
+ SEGasCompartmentLink& pLeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftInferiorLobePosteriorBasalBronchiole, pLeftInferiorLobePosteriorBasalAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::LeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ SEGasCompartmentLink& pLeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftInferiorLobeLateralBasalBronchiole, pLeftInferiorLobeLateralBasalAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::LeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ SEGasCompartmentLink& pLeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftInferiorLobeAnteromedialBasalBronchiole, pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::LeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ SEGasCompartmentLink& pLeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftInferiorLobeSuperiorBronchiole, pLeftInferiorLobeSuperiorAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::LeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace);
+ SEGasCompartmentLink& pLeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftSuperiorLobeInferiorLingulaBronchiole, pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::LeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ SEGasCompartmentLink& pLeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftSuperiorLobeSuperiorLingulaBronchiole, pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::LeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ SEGasCompartmentLink& pLeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftSuperiorLobeAnteriorBronchiole, pLeftSuperiorLobeAnteriorAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::LeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ SEGasCompartmentLink& pLeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftSuperiorLobeApicoposteriorBronchiole, pLeftSuperiorLobeApicoposteriorAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::LeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ SEGasCompartmentLink& pRightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli = m_Compartments->CreateGasLink(pRightSuperiorLobeApicalAlveolarDeadSpace, pRightSuperiorLobeApicalAlveoli, pulse::ExpandedPulmonaryLink::RightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli);
+ SEGasCompartmentLink& pRightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli = m_Compartments->CreateGasLink(pRightSuperiorLobePosteriorAlveolarDeadSpace, pRightSuperiorLobePosteriorAlveoli, pulse::ExpandedPulmonaryLink::RightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli);
+ SEGasCompartmentLink& pRightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli = m_Compartments->CreateGasLink(pRightSuperiorLobeAnteriorAlveolarDeadSpace, pRightSuperiorLobeAnteriorAlveoli, pulse::ExpandedPulmonaryLink::RightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli);
+ SEGasCompartmentLink& pRightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli = m_Compartments->CreateGasLink(pRightMiddleLobeLateralAlveolarDeadSpace, pRightMiddleLobeLateralAlveoli, pulse::ExpandedPulmonaryLink::RightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli);
+ SEGasCompartmentLink& pRightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli = m_Compartments->CreateGasLink(pRightMiddleLobeMedialAlveolarDeadSpace, pRightMiddleLobeMedialAlveoli, pulse::ExpandedPulmonaryLink::RightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli);
+ SEGasCompartmentLink& pRightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli = m_Compartments->CreateGasLink(pRightInferiorLobeSuperiorAlveolarDeadSpace, pRightInferiorLobeSuperiorAlveoli, pulse::ExpandedPulmonaryLink::RightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli);
+ SEGasCompartmentLink& pRightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli = m_Compartments->CreateGasLink(pRightInferiorLobeMedialBasalAlveolarDeadSpace, pRightInferiorLobeMedialBasalAlveoli, pulse::ExpandedPulmonaryLink::RightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli);
+ SEGasCompartmentLink& pRightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli = m_Compartments->CreateGasLink(pRightInferiorLobeAnteriorBasalAlveolarDeadSpace, pRightInferiorLobeAnteriorBasalAlveoli, pulse::ExpandedPulmonaryLink::RightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli);
+ SEGasCompartmentLink& pRightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli = m_Compartments->CreateGasLink(pRightInferiorLobeLateralBasalAlveolarDeadSpace, pRightInferiorLobeLateralBasalAlveoli, pulse::ExpandedPulmonaryLink::RightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli);
+ SEGasCompartmentLink& pRightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli = m_Compartments->CreateGasLink(pRightInferiorLobePosteriorBasalAlveolarDeadSpace, pRightInferiorLobePosteriorBasalAlveoli, pulse::ExpandedPulmonaryLink::RightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli);
+
+ SEGasCompartmentLink& pLeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli = m_Compartments->CreateGasLink(pLeftInferiorLobePosteriorBasalAlveolarDeadSpace, pLeftInferiorLobePosteriorBasalAlveoli, pulse::ExpandedPulmonaryLink::LeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli);
+ SEGasCompartmentLink& pLeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli = m_Compartments->CreateGasLink(pLeftInferiorLobeLateralBasalAlveolarDeadSpace, pLeftInferiorLobeLateralBasalAlveoli, pulse::ExpandedPulmonaryLink::LeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli);
+ SEGasCompartmentLink& pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli = m_Compartments->CreateGasLink(pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace, pLeftInferiorLobeAnteromedialBasalAlveoli, pulse::ExpandedPulmonaryLink::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli);
+ SEGasCompartmentLink& pLeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli = m_Compartments->CreateGasLink(pLeftInferiorLobeSuperiorAlveolarDeadSpace, pLeftInferiorLobeSuperiorAlveoli, pulse::ExpandedPulmonaryLink::LeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli);
+ SEGasCompartmentLink& pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli = m_Compartments->CreateGasLink(pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace, pLeftSuperiorLobeInferiorLingulaAlveoli, pulse::ExpandedPulmonaryLink::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli);
+ SEGasCompartmentLink& pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli = m_Compartments->CreateGasLink(pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace, pLeftSuperiorLobeSuperiorLingulaAlveoli, pulse::ExpandedPulmonaryLink::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli);
+ SEGasCompartmentLink& pLeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli = m_Compartments->CreateGasLink(pLeftSuperiorLobeAnteriorAlveolarDeadSpace, pLeftSuperiorLobeAnteriorAlveoli, pulse::ExpandedPulmonaryLink::LeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli);
+ SEGasCompartmentLink& pLeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli = m_Compartments->CreateGasLink(pLeftSuperiorLobeApicoposteriorAlveolarDeadSpace, pLeftSuperiorLobeApicoposteriorAlveoli, pulse::ExpandedPulmonaryLink::LeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli);
+
+ pCarinaToRightMainBronchus.MapPath(CarinaToRightMainBronchus);
+ pRightMainBronchusToRightIntermediateBronchus.MapPath(RightMainBronchusToRightIntermediateBronchus);
+ pRightMainBronchusToRightSuperiorLobarBronchus.MapPath(RightMainBronchusToRightSuperiorLobarBronchus);
+ pRightIntermediateBronchusToRightMiddleLobarBronchus.MapPath(RightIntermediateBronchusToRightMiddleLobarBronchus);
+ pRightIntermediateBronchusToRightInferiorLobarBronchus1.MapPath(RightIntermediateBronchusToRightInferiorLobarBronchus1);
+ pRightInferiorLobarBronchus1ToRightInferiorLobarBronchus2.MapPath(RightInferiorLobarBronchus1ToRightInferiorLobarBronchus2);
+ pRightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus.MapPath(RightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus);
+ pRightInferiorLobarBronchus2ToRightInferiorLobarBronchus3.MapPath(RightInferiorLobarBronchus2ToRightInferiorLobarBronchus3);
+ pRightInferiorLobarBronchus2ToRightInferiorLobarBronchus4.MapPath(RightInferiorLobarBronchus2ToRightInferiorLobarBronchus4);
+
+ pCarinaToLeftMainBronchus.MapPath(CarinaToLeftMainBronchus);
+ pLeftMainBronchusToLeftInferiorLobarBronchus1.MapPath(LeftMainBronchusToLeftInferiorLobarBronchus1);
+ pLeftMainBronchusToLeftSuperiorLobarBronchus.MapPath(LeftMainBronchusToLeftSuperiorLobarBronchus);
+ pLeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2.MapPath(LeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2);
+ pLeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3.MapPath(LeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3);
+ pLeftSuperiorLobarBronchusToLeftLingularBonchus.MapPath(LeftSuperiorLobarBronchusToLeftLingularBonchus);
+ pLeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus.MapPath(LeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus);
+
+ pRightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole.MapPath(RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole);
+ pRightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole.MapPath(RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole);
+ pRightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole.MapPath(RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole);
+ pRightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole.MapPath(RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole);
+ pRightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole.MapPath(RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole);
+ pRightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole.MapPath(RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole);
+ pRightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole.MapPath(RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole);
+ pRightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole.MapPath(RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole);
+ pRightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole.MapPath(RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole);
+ pRightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole.MapPath(RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole);
+
+ pLeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole.MapPath(LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole);
+ pLeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole.MapPath(LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole);
+ pLeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole.MapPath(LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole);
+ pLeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole.MapPath(LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole);
+ pLeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole.MapPath(LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole);
+ pLeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole.MapPath(LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole);
+ pLeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole.MapPath(LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole);
+ pLeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole.MapPath(LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole);
+
+ pRightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace.MapPath(RightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace);
+ pRightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace.MapPath(RightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace);
+ pRightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace.MapPath(RightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace);
+ pRightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace.MapPath(RightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace);
+ pRightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace.MapPath(RightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace);
+ pRightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace.MapPath(RightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace);
+ pRightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace.MapPath(RightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace);
+ pRightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace.MapPath(RightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ pRightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace.MapPath(RightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace);
+ pRightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace.MapPath(RightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace);
+
+ pLeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace.MapPath(LeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ pLeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace.MapPath(LeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ pLeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace.MapPath(LeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ pLeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace.MapPath(LeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace);
+ pLeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace.MapPath(LeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ pLeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace.MapPath(LeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ pLeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace.MapPath(LeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ pLeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace.MapPath(LeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ pRightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli.MapPath(RightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli);
+ pRightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli.MapPath(RightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli);
+ pRightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli.MapPath(RightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli);
+ pRightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli.MapPath(RightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli);
+ pRightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli.MapPath(RightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli);
+ pRightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli.MapPath(RightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli);
+ pRightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli.MapPath(RightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli);
+ pRightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli.MapPath(RightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli);
+ pRightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli.MapPath(RightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli);
+ pRightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli.MapPath(RightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli);
+
+ pLeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli.MapPath(LeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli);
+ pLeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli.MapPath(LeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli);
+ pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli.MapPath(LeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli);
+ pLeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli.MapPath(LeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli);
+ pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli.MapPath(LeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli);
+ pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli.MapPath(LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli);
+ pLeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli.MapPath(LeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli);
+ pLeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli.MapPath(LeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli);
+
+ // Create the respiratory graph for transport //
+ SEGasCompartmentGraph& gRespiratory = m_Compartments->GetRespiratoryGraph();
+
+ gRespiratory.AddCompartment(*gEnvironment);
+
+ gRespiratory.AddCompartment(pAirway);
+ gRespiratory.AddCompartment(pPharynx);
+ gRespiratory.AddCompartment(pCarina);
+
+ gRespiratory.AddCompartment(pStomach);
+
+ gRespiratory.AddCompartment(pRightMainBronchus);
+ gRespiratory.AddCompartment(pLeftMainBronchus);
+ gRespiratory.AddCompartment(pRightIntermediateBronchus);
+ gRespiratory.AddCompartment(pRightSuperiorLobarBronchus);
+ gRespiratory.AddCompartment(pRightMiddleLobarBronchus);
+ gRespiratory.AddCompartment(pRightInferiorLobarBronchus1);
+ gRespiratory.AddCompartment(pLeftInferiorLobarBronchus1);
+ gRespiratory.AddCompartment(pLeftSuperiorLobarBronchus);
+ gRespiratory.AddCompartment(pRightInferiorLobarBronchus2);
+ gRespiratory.AddCompartment(pLeftInferiorLobarBronchus2);
+ gRespiratory.AddCompartment(pRightSuperiorApicoposteriorBronchus);
+ gRespiratory.AddCompartment(pRightInferiorLobarBronchus3);
+ gRespiratory.AddCompartment(pLeftInferiorLobarBronchus3);
+ gRespiratory.AddCompartment(pLeftLingularBonchus);
+ gRespiratory.AddCompartment(pLeftSuperiorApicoposteriorBronchus);
+ gRespiratory.AddCompartment(pRightInferiorLobarBronchus4);
+
+ gRespiratory.AddCompartment(pRightSuperiorLobeApicalBronchiole);
+ gRespiratory.AddCompartment(pRightSuperiorLobePosteriorBronchiole);
+ gRespiratory.AddCompartment(pRightSuperiorLobeAnteriorBronchiole);
+ gRespiratory.AddCompartment(pRightMiddleLobeLateralBronchiole);
+ gRespiratory.AddCompartment(pRightMiddleLobeMedialBronchiole);
+ gRespiratory.AddCompartment(pRightInferiorLobeSuperiorBronchiole);
+ gRespiratory.AddCompartment(pRightInferiorLobeMedialBasalBronchiole);
+ gRespiratory.AddCompartment(pRightInferiorLobeAnteriorBasalBronchiole);
+ gRespiratory.AddCompartment(pRightInferiorLobeLateralBasalBronchiole);
+ gRespiratory.AddCompartment(pRightInferiorLobePosteriorBasalBronchiole);
+
+ gRespiratory.AddCompartment(pLeftInferiorLobePosteriorBasalBronchiole);
+ gRespiratory.AddCompartment(pLeftInferiorLobeLateralBasalBronchiole);
+ gRespiratory.AddCompartment(pLeftInferiorLobeAnteromedialBasalBronchiole);
+ gRespiratory.AddCompartment(pLeftInferiorLobeSuperiorBronchiole);
+ gRespiratory.AddCompartment(pLeftSuperiorLobeInferiorLingulaBronchiole);
+ gRespiratory.AddCompartment(pLeftSuperiorLobeSuperiorLingulaBronchiole);
+ gRespiratory.AddCompartment(pLeftSuperiorLobeAnteriorBronchiole);
+ gRespiratory.AddCompartment(pLeftSuperiorLobeApicoposteriorBronchiole);
+
+ gRespiratory.AddCompartment(pRightSuperiorLobeApicalAlveolarDeadSpace);
+ gRespiratory.AddCompartment(pRightSuperiorLobePosteriorAlveolarDeadSpace);
+ gRespiratory.AddCompartment(pRightSuperiorLobeAnteriorAlveolarDeadSpace);
+ gRespiratory.AddCompartment(pRightMiddleLobeLateralAlveolarDeadSpace);
+ gRespiratory.AddCompartment(pRightMiddleLobeMedialAlveolarDeadSpace);
+ gRespiratory.AddCompartment(pRightInferiorLobeSuperiorAlveolarDeadSpace);
+ gRespiratory.AddCompartment(pRightInferiorLobeMedialBasalAlveolarDeadSpace);
+ gRespiratory.AddCompartment(pRightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ gRespiratory.AddCompartment(pRightInferiorLobeLateralBasalAlveolarDeadSpace);
+ gRespiratory.AddCompartment(pRightInferiorLobePosteriorBasalAlveolarDeadSpace);
+
+ gRespiratory.AddCompartment(pLeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ gRespiratory.AddCompartment(pLeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ gRespiratory.AddCompartment(pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ gRespiratory.AddCompartment(pLeftInferiorLobeSuperiorAlveolarDeadSpace);
+ gRespiratory.AddCompartment(pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ gRespiratory.AddCompartment(pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ gRespiratory.AddCompartment(pLeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ gRespiratory.AddCompartment(pLeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ gRespiratory.AddCompartment(pRightSuperiorLobeApicalAlveoli);
+ gRespiratory.AddCompartment(pRightSuperiorLobePosteriorAlveoli);
+ gRespiratory.AddCompartment(pRightSuperiorLobeAnteriorAlveoli);
+ gRespiratory.AddCompartment(pRightMiddleLobeLateralAlveoli);
+ gRespiratory.AddCompartment(pRightMiddleLobeMedialAlveoli);
+ gRespiratory.AddCompartment(pRightInferiorLobeSuperiorAlveoli);
+ gRespiratory.AddCompartment(pRightInferiorLobeMedialBasalAlveoli);
+ gRespiratory.AddCompartment(pRightInferiorLobeAnteriorBasalAlveoli);
+ gRespiratory.AddCompartment(pRightInferiorLobeLateralBasalAlveoli);
+ gRespiratory.AddCompartment(pRightInferiorLobePosteriorBasalAlveoli);
+
+ gRespiratory.AddCompartment(pLeftInferiorLobePosteriorBasalAlveoli);
+ gRespiratory.AddCompartment(pLeftInferiorLobeLateralBasalAlveoli);
+ gRespiratory.AddCompartment(pLeftInferiorLobeAnteromedialBasalAlveoli);
+ gRespiratory.AddCompartment(pLeftInferiorLobeSuperiorAlveoli);
+ gRespiratory.AddCompartment(pLeftSuperiorLobeInferiorLingulaAlveoli);
+ gRespiratory.AddCompartment(pLeftSuperiorLobeSuperiorLingulaAlveoli);
+ gRespiratory.AddCompartment(pLeftSuperiorLobeAnteriorAlveoli);
+ gRespiratory.AddCompartment(pLeftSuperiorLobeApicoposteriorAlveoli);
+
+ gRespiratory.AddLink(pEnvironmentToAirway);
+ gRespiratory.AddLink(pAirwayToPharynx);
+ gRespiratory.AddLink(pAirwayToStomach);
+ gRespiratory.AddLink(pPharynxToCarina);
+
+ gRespiratory.AddLink(pCarinaToRightMainBronchus);
+ gRespiratory.AddLink(pRightMainBronchusToRightIntermediateBronchus);
+ gRespiratory.AddLink(pRightMainBronchusToRightSuperiorLobarBronchus);
+ gRespiratory.AddLink(pRightIntermediateBronchusToRightMiddleLobarBronchus);
+ gRespiratory.AddLink(pRightIntermediateBronchusToRightInferiorLobarBronchus1);
+ gRespiratory.AddLink(pRightInferiorLobarBronchus1ToRightInferiorLobarBronchus2);
+ gRespiratory.AddLink(pRightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus);
+ gRespiratory.AddLink(pRightInferiorLobarBronchus2ToRightInferiorLobarBronchus3);
+ gRespiratory.AddLink(pRightInferiorLobarBronchus2ToRightInferiorLobarBronchus4);
+
+ gRespiratory.AddLink(pCarinaToLeftMainBronchus);
+ gRespiratory.AddLink(pLeftMainBronchusToLeftInferiorLobarBronchus1);
+ gRespiratory.AddLink(pLeftMainBronchusToLeftSuperiorLobarBronchus);
+ gRespiratory.AddLink(pLeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2);
+ gRespiratory.AddLink(pLeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3);
+ gRespiratory.AddLink(pLeftSuperiorLobarBronchusToLeftLingularBonchus);
+ gRespiratory.AddLink(pLeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus);
+
+ gRespiratory.AddLink(pRightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole);
+ gRespiratory.AddLink(pRightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole);
+ gRespiratory.AddLink(pRightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole);
+ gRespiratory.AddLink(pRightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole);
+ gRespiratory.AddLink(pRightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole);
+ gRespiratory.AddLink(pRightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole);
+ gRespiratory.AddLink(pRightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole);
+ gRespiratory.AddLink(pRightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole);
+ gRespiratory.AddLink(pRightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole);
+ gRespiratory.AddLink(pRightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole);
+
+ gRespiratory.AddLink(pLeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole);
+ gRespiratory.AddLink(pLeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole);
+ gRespiratory.AddLink(pLeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole);
+ gRespiratory.AddLink(pLeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole);
+ gRespiratory.AddLink(pLeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole);
+ gRespiratory.AddLink(pLeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole);
+ gRespiratory.AddLink(pLeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole);
+ gRespiratory.AddLink(pLeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole);
+
+ gRespiratory.AddLink(pRightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace);
+ gRespiratory.AddLink(pRightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace);
+ gRespiratory.AddLink(pRightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace);
+ gRespiratory.AddLink(pRightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace);
+ gRespiratory.AddLink(pRightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace);
+ gRespiratory.AddLink(pRightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace);
+ gRespiratory.AddLink(pRightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace);
+ gRespiratory.AddLink(pRightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ gRespiratory.AddLink(pRightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace);
+ gRespiratory.AddLink(pRightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace);
+
+ gRespiratory.AddLink(pLeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ gRespiratory.AddLink(pLeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ gRespiratory.AddLink(pLeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ gRespiratory.AddLink(pLeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace);
+ gRespiratory.AddLink(pLeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ gRespiratory.AddLink(pLeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ gRespiratory.AddLink(pLeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ gRespiratory.AddLink(pLeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ gRespiratory.AddLink(pRightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli);
+ gRespiratory.AddLink(pRightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli);
+ gRespiratory.AddLink(pRightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli);
+ gRespiratory.AddLink(pRightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli);
+ gRespiratory.AddLink(pRightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli);
+ gRespiratory.AddLink(pRightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli);
+ gRespiratory.AddLink(pRightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli);
+ gRespiratory.AddLink(pRightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli);
+ gRespiratory.AddLink(pRightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli);
+ gRespiratory.AddLink(pRightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli);
+
+ gRespiratory.AddLink(pLeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli);
+ gRespiratory.AddLink(pLeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli);
+ gRespiratory.AddLink(pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli);
+ gRespiratory.AddLink(pLeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli);
+ gRespiratory.AddLink(pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli);
+ gRespiratory.AddLink(pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli);
+ gRespiratory.AddLink(pLeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli);
+ gRespiratory.AddLink(pLeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli);
+
+ gRespiratory.StateChange();
+
+ // Generically set up the Aerosol Graph, this is a mirror of the Respiratory Gas Graph, only it's a liquid graph
+ SELiquidCompartmentGraph& lAerosol = m_Compartments->GetAerosolGraph();
+ SELiquidCompartment* lEnvironment = m_Compartments->GetLiquidCompartment(pulse::EnvironmentCompartment::Ambient);
+ lAerosol.AddCompartment(*lEnvironment);
+ // First Create the compartments and map the same nodes
+ for (auto gasCmpt : gRespiratory.GetCompartments())
+ {
+ std::string name = gasCmpt->GetName();
+ SELiquidCompartment& liquidCmpt = m_Compartments->CreateLiquidCompartment(name);
+ if (gasCmpt->HasNodeMapping())
+ {
+ for (auto node : gasCmpt->GetNodeMapping().GetNodes())
+ liquidCmpt.MapNode(*node);
+ }
+ }
+ // Hook up any hierarchies
+ for (auto gasCmpt : gRespiratory.GetCompartments())
+ {
+ std::string name = gasCmpt->GetName();
+ SELiquidCompartment* liquidCmpt = m_Compartments->GetLiquidCompartment(name);
+ if (gasCmpt->HasChildren())
+ {
+ for (auto child : gasCmpt->GetChildren())
+ liquidCmpt->AddChild(*m_Compartments->GetLiquidCompartment(child->GetName()));
+ }
+ }
+ // Add leaf compartments to the graph
+ for (auto gasCmpt : gRespiratory.GetCompartments())
+ {
+ std::string name = gasCmpt->GetName();
+ SELiquidCompartment* liquidCmpt = m_Compartments->GetLiquidCompartment(name);
+ if (!liquidCmpt->HasChildren())
+ lAerosol.AddCompartment(*liquidCmpt);
+ }
+ // Create Links
+ for (auto gasLink : gRespiratory.GetLinks())
+ {
+ std::string name = gasLink->GetName();
+ SELiquidCompartment* src = m_Compartments->GetLiquidCompartment(gasLink->GetSourceCompartment().GetName());
+ SELiquidCompartment* tgt = m_Compartments->GetLiquidCompartment(gasLink->GetTargetCompartment().GetName());
+ SELiquidCompartmentLink& liquidLink = m_Compartments->CreateLiquidLink(*src, *tgt, name);
+ if (gasLink->HasPath())
+ liquidLink.MapPath(*gasLink->GetPath());
+ lAerosol.AddLink(liquidLink);
+ }
+
+ SEGasCompartment* gasCmpt = m_Compartments->GetGasCompartment(pulse::PulmonaryCompartment::Airway);
+ SELiquidCompartment& liquidCmpt = m_Compartments->CreateLiquidCompartment(pulse::PulmonaryCompartment::Airway);
+ if (gasCmpt->HasNodeMapping())
+ {
+ for (auto node : gasCmpt->GetNodeMapping().GetNodes())
+ liquidCmpt.MapNode(*node);
+ }
+ lAerosol.StateChange();
}
void Controller::SetupExpandedPulmonaryCardiovascular()
{
- Fatal("Expanded cardiovascular pulmonary subcircuit not yet implemented.");
+ Info("Setting Up Cardiovascular");
+ bool male = m_InitialPatient->GetSex() == ePatient_Sex::Male ? true : false;
+ double RightLungRatio = m_InitialPatient->GetRightLungRatio().GetValue();
+ double LeftLungRatio = 1 - RightLungRatio;
+ double bloodVolume_mL = m_InitialPatient->GetBloodVolumeBaseline(VolumeUnit::mL);
+
+ double systolicPressureTarget_mmHg = m_InitialPatient->GetSystolicArterialPressureBaseline(PressureUnit::mmHg);
+
+ const double cardiacOutputTarget_mL_Per_min = male ? 5600.0 : 4900.0;
+ const double cardiacOutputTarget_mL_Per_s = cardiacOutputTarget_mL_Per_min / 60;
+
+ const double pulmonaryShuntFractionFactor = 0.009; // Used to set the pulmonary shunt fraction. Actual shunt will be roughly double this value (two lungs).
+ // The way this works is we compute resistances and compliances based on the hemodynamic variables above that are either in the patient
+ // file or we use the defaults if nothing is there. Because the actual impedance depends on the frequency, the computations assume a resting heart rate.
+ // So if a user needs to put pressures in the patient file assuming that the pts baseline hr is in the normal range (around 72).
+ // If someone wants a patient with a high hr because s/he is exercising or something, then they need to use the action.
+ // If a user wants a patient with a ridiculously high resting hr, then they will need to estimate what the pressures and CO would be if the pt had a normal resting hr.
+
+ // Our configuration can apply a modifier to adjust any of these targets to get closer to the target systolic and diastolic pressures from the patient file
+ // The tuning method in cardiovascular will do the fine tuning, but modifiers can speed up the process.
+ /// \todo Make these a function of the systolic and diastolic pressure by fitting a curve to the data from the variations test
+ const double systemicResistanceModifier = 1.0; // 0.849;
+ const double largeArteriesComplianceModifier = 1.0;//0.4333;
+ const double expandedPulmonaryCapillariesComplianceModifier = 1.0;
+ const double expandedPulmonaryLeftCapillariesVolumeModifier = 0.83;
+ const double expandedPulmonaryRightCapillariesVolumeModifier = 0.66;
+ //const double expandedPulmonaryLeftCapillariesVolumeModifier = 1.0;
+ //const double expandedPulmonaryRightCapillariesVolumeModifier = 1.0;
+
+ //Flow rates from \cite valentin2002icrp
+ double VascularFlowTargetAorta = 1.0 * cardiacOutputTarget_mL_Per_s;
+ double VascularFlowTargetArm = 0.015 * cardiacOutputTarget_mL_Per_s;
+ double VascularFlowTargetBone = 0.05 * cardiacOutputTarget_mL_Per_s;
+ double VascularFlowTargetBrain = 0.12 * cardiacOutputTarget_mL_Per_s;
+ double VascularFlowTargetFat = male ? 0.05 * cardiacOutputTarget_mL_Per_s : 0.085 * cardiacOutputTarget_mL_Per_s;
+ double VascularFlowTargetKidney = male ? 0.085 * cardiacOutputTarget_mL_Per_s : 0.075 * cardiacOutputTarget_mL_Per_s;
+ double VascularFlowTargetLargeIntestine = male ? 0.04 * cardiacOutputTarget_mL_Per_s : 0.05 * cardiacOutputTarget_mL_Per_s;
+ double VascularFlowTargetLeg = 0.0525 * cardiacOutputTarget_mL_Per_s;
+ double VascularFlowTargetMuscle = male ? 0.17 * cardiacOutputTarget_mL_Per_s : 0.12 * cardiacOutputTarget_mL_Per_s;
+ double VascularFlowTargetMyocardium = male ? 0.04 * cardiacOutputTarget_mL_Per_s : 0.05 * cardiacOutputTarget_mL_Per_s;
+ double VascularFlowTargetPulmCapRight = RightLungRatio * cardiacOutputTarget_mL_Per_s * (1 - pulmonaryShuntFractionFactor);
+ double VascularFlowTargetPulmVeinsRight = RightLungRatio * cardiacOutputTarget_mL_Per_s * (1 - pulmonaryShuntFractionFactor);
+ double VascularFlowTargetPulmArtLeft = LeftLungRatio * cardiacOutputTarget_mL_Per_s * (1 - pulmonaryShuntFractionFactor);
+ double VascularFlowTargetPulmCapLeft = LeftLungRatio * cardiacOutputTarget_mL_Per_s * (1 - pulmonaryShuntFractionFactor);
+ double VascularFlowTargetPulmVeinsLeft = LeftLungRatio * cardiacOutputTarget_mL_Per_s * (1 - pulmonaryShuntFractionFactor);
+ double VascularFlowTargetSkin = 0.05 * cardiacOutputTarget_mL_Per_s;
+ double VascularFlowTargetSmallIntestine = male ? 0.1 * cardiacOutputTarget_mL_Per_s : 0.11 * cardiacOutputTarget_mL_Per_s;
+ double VascularFlowTargetSplanchnic = 0.01 * cardiacOutputTarget_mL_Per_s;
+ double VascularFlowTargetSpleen = 0.03 * cardiacOutputTarget_mL_Per_s;
+ double VascularFlowTargetPortalVein = VascularFlowTargetLargeIntestine + VascularFlowTargetSmallIntestine + VascularFlowTargetSplanchnic + VascularFlowTargetSpleen;
+ double VascularFlowTargetLiver = (male ? 0.255 * cardiacOutputTarget_mL_Per_s : 0.27 * cardiacOutputTarget_mL_Per_s) - VascularFlowTargetPortalVein;
+
+ double VascularFlowTargetPulmCapTotal = VascularFlowTargetPulmCapRight + VascularFlowTargetPulmCapLeft;
+
+ double VascularFlowTargetRightSuperiorLobeApicalPulmonaryCapillaries = 2.04 / 100.0 * VascularFlowTargetPulmCapTotal;
+ double VascularFlowTargetRightSuperiorLobePosteriorPulmonaryCapillaries = 2.95 / 100.0 * VascularFlowTargetPulmCapTotal;
+ double VascularFlowTargetRightSuperiorLobeAnteriorPulmonaryCapillaries = 4.23 / 100.0 * VascularFlowTargetPulmCapTotal;
+ double VascularFlowTargetRightMiddleLobeLateralPulmonaryCapillaries = 6.34 / 100.0 * VascularFlowTargetPulmCapTotal;
+ double VascularFlowTargetRightMiddleLobeMedialPulmonaryCapillaries = 6.19 / 100.0 * VascularFlowTargetPulmCapTotal;
+ double VascularFlowTargetRightInferiorLobeSuperiorPulmonaryCapillaries = 4.91 / 100.0 * VascularFlowTargetPulmCapTotal;
+ double VascularFlowTargetRightInferiorLobeMedialBasalPulmonaryCapillaries = 6.64 / 100.0 * VascularFlowTargetPulmCapTotal;
+ double VascularFlowTargetRightInferiorLobeAnteriorBasalPulmonaryCapillaries = 7.32 / 100.0 * VascularFlowTargetPulmCapTotal;
+ double VascularFlowTargetRightInferiorLobeLateralBasalPulmonaryCapillaries = 7.62 / 100.0 * VascularFlowTargetPulmCapTotal;
+ double VascularFlowTargetRightInferiorLobePosteriorBasalPulmonaryCapillaries = 6.94 / 100.0 * VascularFlowTargetPulmCapTotal;
+
+ double VascularFlowTargetLeftInferiorLobePosteriorBasalPulmonaryCapillaries = 7.02 / 100.0 * VascularFlowTargetPulmCapTotal;
+ double VascularFlowTargetLeftInferiorLobeLateralBasalPulmonaryCapillaries = 7.47 / 100.0 * VascularFlowTargetPulmCapTotal;
+ double VascularFlowTargetLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries = 6.79 / 100.0 * VascularFlowTargetPulmCapTotal;
+ double VascularFlowTargetLeftInferiorLobeSuperiorPulmonaryCapillaries = 4.91 / 100.0 * VascularFlowTargetPulmCapTotal;
+ double VascularFlowTargetLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries = 6.49 / 100.0 * VascularFlowTargetPulmCapTotal;
+ double VascularFlowTargetLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries = 5.58 / 100.0 * VascularFlowTargetPulmCapTotal;
+ double VascularFlowTargetLeftSuperiorLobeAnteriorPulmonaryCapillaries = 4.08 / 100.0 * VascularFlowTargetPulmCapTotal;
+ double VascularFlowTargetLeftSuperiorLobeApicoposteriorPulmonaryCapillaries = 2.50 / 100.0 * VascularFlowTargetPulmCapTotal;
+
+ // Pressure targets derived from information available in \cite guyton2006medical and \cite van2013davis
+ double VascularPressureTargetAorta = 1.0 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetArm = 0.33 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetBone = 0.33 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetBrain = 0.08 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetFat = 0.33 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetHeartLeft = 1.06667 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetHeartRight = 0.16667 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetKidney = 0.33 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetLargeIntestine = 0.33 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetLeg = 0.33 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetLiver = 0.25 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetMuscle = 0.33 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetMyocardium = 0.33 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetPulmArtRight = 0.13333 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetPulmCapRight = 0.0650 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetPulmVeinsRight = 0.03846 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetPulmArtLeft = 0.13333 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetPulmCapLeft = 0.0650 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetPulmVeinsLeft = 0.03846 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetSkin = 0.0833 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetSmallIntestine = 0.33 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetSplanchnic = 0.33 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetSpleen = 0.33 * systolicPressureTarget_mmHg;
+ double VascularPressureTargetVenaCava = 0.0333 * systolicPressureTarget_mmHg;
+
+ // Volume fractions from \cite valentin2002icrp
+ double VolumeFractionAorta = 0.05;
+ double VolumeFractionArm = 0.02;
+ double VolumeFractionBone = 0.07;
+ double VolumeFractionBrain = 0.012;
+ double VolumeFractionFat = male ? 0.05 : 0.085;
+ double VolumeFractionHeartLeft = 0.0025;
+ double VolumeFractionHeartRight = 0.0025;
+ double VolumeFractionKidney = 0.02;
+ double VolumeFractionLargeIntestine = 0.022;
+ double VolumeFractionLeg = 0.04;
+ double VolumeFractionLiver = 0.1;
+ double VolumeFractionMuscle = male ? 0.14 : 0.105;
+ double VolumeFractionMyocardium = 0.01;
+ double VolumeFractionPulmArtRight = 0.03 * RightLungRatio;
+ double VolumeFractionPulmCapRight = 0.02 * RightLungRatio;
+ double VolumeFractionPulmVeinsRight = 0.055 * RightLungRatio;
+ double VolumeFractionPulmArtLeft = 0.03 * LeftLungRatio;
+ double VolumeFractionPulmCapLeft = 0.02 * LeftLungRatio;
+ double VolumeFractionPulmVeinsLeft = 0.055 * LeftLungRatio;
+ double VolumeFractionSkin = 0.03;
+ double VolumeFractionSmallIntestine = 0.038;
+ double VolumeFractionSplanchnic = 0.01;
+ double VolumeFractionSpleen = 0.014;
+ double VolumeFractionVenaCava = 0.175;
+
+ double VolumeFractionPulmCapTotal = VolumeFractionPulmCapRight + VolumeFractionPulmCapLeft;
+
+ double VolumeFractionRightSuperiorLobeApicalPulmonaryCapillaries = 9.3 / 100.0 * VolumeFractionPulmCapTotal;
+ double VolumeFractionRightSuperiorLobePosteriorPulmonaryCapillaries = 3.5 / 100.0 * VolumeFractionPulmCapTotal;
+ double VolumeFractionRightSuperiorLobeAnteriorPulmonaryCapillaries = 7.5 / 100.0 * VolumeFractionPulmCapTotal;
+ double VolumeFractionRightMiddleLobeLateralPulmonaryCapillaries = 2.9 / 100.0 * VolumeFractionPulmCapTotal;
+ double VolumeFractionRightMiddleLobeMedialPulmonaryCapillaries = 6.3 / 100.0 * VolumeFractionPulmCapTotal;
+ double VolumeFractionRightInferiorLobeSuperiorPulmonaryCapillaries = 6.2 / 100.0 * VolumeFractionPulmCapTotal;
+ double VolumeFractionRightInferiorLobeMedialBasalPulmonaryCapillaries = 1.7 / 100.0 * VolumeFractionPulmCapTotal;
+ double VolumeFractionRightInferiorLobeAnteriorBasalPulmonaryCapillaries = 5.5 / 100.0 * VolumeFractionPulmCapTotal;
+ double VolumeFractionRightInferiorLobeLateralBasalPulmonaryCapillaries = 4.8 / 100.0 * VolumeFractionPulmCapTotal;
+ double VolumeFractionRightInferiorLobePosteriorBasalPulmonaryCapillaries = 6.9 / 100.0 * VolumeFractionPulmCapTotal;
+
+ double VolumeFractionLeftInferiorLobePosteriorBasalPulmonaryCapillaries = 5.6 / 100.0 * VolumeFractionPulmCapTotal;
+ double VolumeFractionLeftInferiorLobeLateralBasalPulmonaryCapillaries = 6.4 / 100.0 * VolumeFractionPulmCapTotal;
+ double VolumeFractionLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries = 4.2 / 100.0 * VolumeFractionPulmCapTotal;
+ double VolumeFractionLeftInferiorLobeSuperiorPulmonaryCapillaries = 5.1 / 100.0 * VolumeFractionPulmCapTotal;
+ double VolumeFractionLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries = 4.8 / 100.0 * VolumeFractionPulmCapTotal;
+ double VolumeFractionLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries = 4.0 / 100.0 * VolumeFractionPulmCapTotal;
+ double VolumeFractionLeftSuperiorLobeAnteriorPulmonaryCapillaries = 7.5 / 100.0 * VolumeFractionPulmCapTotal;
+ double VolumeFractionLeftSuperiorLobeApicoposteriorPulmonaryCapillaries = 8.1 / 100.0 * VolumeFractionPulmCapTotal;
+
+ // Compute resistances from mean flow rates and pressure targets
+ double ResistanceAorta = (VascularPressureTargetHeartLeft - systolicPressureTarget_mmHg) / VascularFlowTargetAorta;
+ double ResistanceArm = (systolicPressureTarget_mmHg - VascularPressureTargetArm) / VascularFlowTargetArm;
+ double ResistanceArmVenous = (VascularPressureTargetArm - VascularPressureTargetVenaCava) / VascularFlowTargetArm;
+ double ResistanceBone = (systolicPressureTarget_mmHg - VascularPressureTargetBone) / VascularFlowTargetBone;
+ double ResistanceBoneVenous = (VascularPressureTargetBone - VascularPressureTargetVenaCava) / VascularFlowTargetBone;
+ double ResistanceBrain = (systolicPressureTarget_mmHg - VascularPressureTargetBrain) / VascularFlowTargetBrain;
+ double ResistanceBrainVenous = (VascularPressureTargetBrain - VascularPressureTargetVenaCava) / VascularFlowTargetBrain;
+ double ResistanceFat = (systolicPressureTarget_mmHg - VascularPressureTargetFat) / VascularFlowTargetFat;
+ double ResistanceFatVenous = (VascularPressureTargetFat - VascularPressureTargetVenaCava) / VascularFlowTargetFat;
+ double ResistanceHeartLeft = 0.0008;
+ double ResistanceHeartRight = (systolicPressureTarget_mmHg - VascularPressureTargetVenaCava) / cardiacOutputTarget_mL_Per_s;
+ double ResistanceKidney = (systolicPressureTarget_mmHg - VascularPressureTargetKidney) / VascularFlowTargetKidney;
+ double ResistanceKidneyVenous = (VascularPressureTargetKidney - VascularPressureTargetVenaCava) / VascularFlowTargetKidney;
+ double ResistanceLargeIntestine = (systolicPressureTarget_mmHg - VascularPressureTargetLargeIntestine) / VascularFlowTargetLargeIntestine;
+ double ResistanceLargeIntestineVenous = (VascularPressureTargetLargeIntestine - VascularPressureTargetLiver) / VascularFlowTargetLargeIntestine;
+ double ResistanceLeg = (systolicPressureTarget_mmHg - VascularPressureTargetLeg) / VascularFlowTargetLeg;
+ double ResistanceLegVenous = (VascularPressureTargetLeg - VascularPressureTargetVenaCava) / VascularFlowTargetLeg;
+ double ResistanceLiver = (systolicPressureTarget_mmHg - VascularPressureTargetLiver) / VascularFlowTargetLiver;
+ double ResistanceLiverVenous = (VascularPressureTargetLiver - VascularPressureTargetVenaCava) / (VascularFlowTargetLiver + VascularFlowTargetPortalVein);
+ double ResistanceMuscle = (systolicPressureTarget_mmHg - VascularPressureTargetMuscle) / VascularFlowTargetMuscle;
+ double ResistanceMuscleVenous = (VascularPressureTargetMuscle - VascularPressureTargetVenaCava) / VascularFlowTargetMuscle;
+ double ResistanceMyocardium = (systolicPressureTarget_mmHg - VascularPressureTargetMyocardium) / VascularFlowTargetMyocardium;
+ double ResistanceMyocardiumVenous = (VascularPressureTargetMyocardium - VascularPressureTargetVenaCava) / VascularFlowTargetMyocardium;
+ //double ResistancePulmCapRight = (VascularPressureTargetPulmArtRight - VascularPressureTargetPulmCapRight) / VascularFlowTargetPulmCapRight;
+ double ResistancePulmVeinsRight = (VascularPressureTargetPulmCapRight - VascularPressureTargetPulmVeinsRight) / VascularFlowTargetPulmVeinsRight;
+ double ResistancePulmArt = (VascularPressureTargetHeartRight - VascularPressureTargetPulmArtLeft) / VascularFlowTargetPulmArtLeft;
+ //double ResistancePulmCapLeft = (VascularPressureTargetPulmArtLeft - VascularPressureTargetPulmCapLeft) / VascularFlowTargetPulmCapLeft;
+ double ResistancePulmVeinsLeft = (VascularPressureTargetPulmCapLeft - VascularPressureTargetPulmVeinsLeft) / VascularFlowTargetPulmVeinsLeft;
+ double ResistanceSkin = (systolicPressureTarget_mmHg - VascularPressureTargetSkin) / VascularFlowTargetSkin;
+ double ResistanceSkinVenous = (VascularPressureTargetSkin - VascularPressureTargetVenaCava) / VascularFlowTargetSkin;
+ double ResistanceSmallIntestine = (systolicPressureTarget_mmHg - VascularPressureTargetSmallIntestine) / VascularFlowTargetSmallIntestine;
+ double ResistanceSmallIntestineVenous = (VascularPressureTargetSmallIntestine - VascularPressureTargetLiver) / VascularFlowTargetSmallIntestine;
+ double ResistanceSplanchnic = (systolicPressureTarget_mmHg - VascularPressureTargetSplanchnic) / VascularFlowTargetSplanchnic;
+ double ResistanceSplanchnicVenous = (VascularPressureTargetSplanchnic - VascularPressureTargetLiver) / VascularFlowTargetSplanchnic;
+ double ResistanceSpleen = (systolicPressureTarget_mmHg - VascularPressureTargetSpleen) / VascularFlowTargetSpleen;
+ double ResistanceSpleenVenous = (VascularPressureTargetSpleen - VascularPressureTargetLiver) / VascularFlowTargetSpleen;
+
+ double ResistanceRightSuperiorLobeApicalPulmonaryCapillaries = (VascularPressureTargetPulmArtRight - VascularPressureTargetPulmCapRight) / VascularFlowTargetRightSuperiorLobeApicalPulmonaryCapillaries;
+ double ResistanceRightSuperiorLobePosteriorPulmonaryCapillaries = (VascularPressureTargetPulmArtRight - VascularPressureTargetPulmCapRight) / VascularFlowTargetRightSuperiorLobePosteriorPulmonaryCapillaries;
+ double ResistanceRightSuperiorLobeAnteriorPulmonaryCapillaries = (VascularPressureTargetPulmArtRight - VascularPressureTargetPulmCapRight) / VascularFlowTargetRightSuperiorLobeAnteriorPulmonaryCapillaries;
+ double ResistanceRightMiddleLobeLateralPulmonaryCapillaries = (VascularPressureTargetPulmArtRight - VascularPressureTargetPulmCapRight) / VascularFlowTargetRightMiddleLobeLateralPulmonaryCapillaries;
+ double ResistanceRightMiddleLobeMedialPulmonaryCapillaries = (VascularPressureTargetPulmArtRight - VascularPressureTargetPulmCapRight) / VascularFlowTargetRightMiddleLobeMedialPulmonaryCapillaries;
+ double ResistanceRightInferiorLobeSuperiorPulmonaryCapillaries = (VascularPressureTargetPulmArtRight - VascularPressureTargetPulmCapRight) / VascularFlowTargetRightInferiorLobeSuperiorPulmonaryCapillaries;
+ double ResistanceRightInferiorLobeMedialBasalPulmonaryCapillaries = (VascularPressureTargetPulmArtRight - VascularPressureTargetPulmCapRight) / VascularFlowTargetRightInferiorLobeMedialBasalPulmonaryCapillaries;
+ double ResistanceRightInferiorLobeAnteriorBasalPulmonaryCapillaries = (VascularPressureTargetPulmArtRight - VascularPressureTargetPulmCapRight) / VascularFlowTargetRightInferiorLobeAnteriorBasalPulmonaryCapillaries;
+ double ResistanceRightInferiorLobeLateralBasalPulmonaryCapillaries = (VascularPressureTargetPulmArtRight - VascularPressureTargetPulmCapRight) / VascularFlowTargetRightInferiorLobeLateralBasalPulmonaryCapillaries;
+ double ResistanceRightInferiorLobePosteriorBasalPulmonaryCapillaries = (VascularPressureTargetPulmArtRight - VascularPressureTargetPulmCapRight) / VascularFlowTargetRightInferiorLobePosteriorBasalPulmonaryCapillaries;
+
+ double ResistanceLeftInferiorLobePosteriorBasalPulmonaryCapillaries = (VascularPressureTargetPulmArtLeft - VascularPressureTargetPulmCapLeft) / VascularFlowTargetLeftInferiorLobePosteriorBasalPulmonaryCapillaries;
+ double ResistanceLeftInferiorLobeLateralBasalPulmonaryCapillaries = (VascularPressureTargetPulmArtLeft - VascularPressureTargetPulmCapLeft) / VascularFlowTargetLeftInferiorLobeLateralBasalPulmonaryCapillaries;
+ double ResistanceLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries = (VascularPressureTargetPulmArtLeft - VascularPressureTargetPulmCapLeft) / VascularFlowTargetLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries;
+ double ResistanceLeftInferiorLobeSuperiorPulmonaryCapillaries = (VascularPressureTargetPulmArtLeft - VascularPressureTargetPulmCapLeft) / VascularFlowTargetLeftInferiorLobeSuperiorPulmonaryCapillaries;
+ double ResistanceLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries = (VascularPressureTargetPulmArtLeft - VascularPressureTargetPulmCapLeft) / VascularFlowTargetLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries;
+ double ResistanceLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries = (VascularPressureTargetPulmArtLeft - VascularPressureTargetPulmCapLeft) / VascularFlowTargetLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries;
+ double ResistanceLeftSuperiorLobeAnteriorPulmonaryCapillaries = (VascularPressureTargetPulmArtLeft - VascularPressureTargetPulmCapLeft) / VascularFlowTargetLeftSuperiorLobeAnteriorPulmonaryCapillaries;
+ double ResistanceLeftSuperiorLobeApicoposteriorPulmonaryCapillaries = (VascularPressureTargetPulmArtLeft - VascularPressureTargetPulmCapLeft) / VascularFlowTargetLeftSuperiorLobeApicoposteriorPulmonaryCapillaries;
+
+ double ResistanceRightSuperiorLobeApicalPulmonaryVeins = (VascularPressureTargetPulmCapRight - VascularPressureTargetPulmVeinsRight) / VascularFlowTargetRightSuperiorLobeApicalPulmonaryCapillaries;
+ double ResistanceRightSuperiorLobePosteriorPulmonaryVeins = (VascularPressureTargetPulmCapRight - VascularPressureTargetPulmVeinsRight) / VascularFlowTargetRightSuperiorLobePosteriorPulmonaryCapillaries;
+ double ResistanceRightSuperiorLobeAnteriorPulmonaryVeins = (VascularPressureTargetPulmCapRight - VascularPressureTargetPulmVeinsRight) / VascularFlowTargetRightSuperiorLobeAnteriorPulmonaryCapillaries;
+ double ResistanceRightMiddleLobeLateralPulmonaryVeins = (VascularPressureTargetPulmCapRight - VascularPressureTargetPulmVeinsRight) / VascularFlowTargetRightMiddleLobeLateralPulmonaryCapillaries;
+ double ResistanceRightMiddleLobeMedialPulmonaryVeins = (VascularPressureTargetPulmCapRight - VascularPressureTargetPulmVeinsRight) / VascularFlowTargetRightMiddleLobeMedialPulmonaryCapillaries;
+ double ResistanceRightInferiorLobeSuperiorPulmonaryVeins = (VascularPressureTargetPulmCapRight - VascularPressureTargetPulmVeinsRight) / VascularFlowTargetRightInferiorLobeSuperiorPulmonaryCapillaries;
+ double ResistanceRightInferiorLobeMedialBasalPulmonaryVeins = (VascularPressureTargetPulmCapRight - VascularPressureTargetPulmVeinsRight) / VascularFlowTargetRightInferiorLobeMedialBasalPulmonaryCapillaries;
+ double ResistanceRightInferiorLobeAnteriorBasalPulmonaryVeins = (VascularPressureTargetPulmCapRight - VascularPressureTargetPulmVeinsRight) / VascularFlowTargetRightInferiorLobeAnteriorBasalPulmonaryCapillaries;
+ double ResistanceRightInferiorLobeLateralBasalPulmonaryVeins = (VascularPressureTargetPulmCapRight - VascularPressureTargetPulmVeinsRight) / VascularFlowTargetRightInferiorLobeLateralBasalPulmonaryCapillaries;
+ double ResistanceRightInferiorLobePosteriorBasalPulmonaryVeins = (VascularPressureTargetPulmCapRight - VascularPressureTargetPulmVeinsRight) / VascularFlowTargetRightInferiorLobePosteriorBasalPulmonaryCapillaries;
+
+ double ResistanceLeftInferiorLobePosteriorBasalPulmonaryVeins = (VascularPressureTargetPulmCapLeft - VascularPressureTargetPulmVeinsLeft) / VascularFlowTargetLeftInferiorLobePosteriorBasalPulmonaryCapillaries;
+ double ResistanceLeftInferiorLobeLateralBasalPulmonaryVeins = (VascularPressureTargetPulmCapLeft - VascularPressureTargetPulmVeinsLeft) / VascularFlowTargetLeftInferiorLobeLateralBasalPulmonaryCapillaries;
+ double ResistanceLeftInferiorLobeAnteromedialBasalPulmonaryVeins = (VascularPressureTargetPulmCapLeft - VascularPressureTargetPulmVeinsLeft) / VascularFlowTargetLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries;
+ double ResistanceLeftInferiorLobeSuperiorPulmonaryVeins = (VascularPressureTargetPulmCapLeft - VascularPressureTargetPulmVeinsLeft) / VascularFlowTargetLeftInferiorLobeSuperiorPulmonaryCapillaries;
+ double ResistanceLeftSuperiorLobeInferiorLingulaPulmonaryVeins = (VascularPressureTargetPulmCapLeft - VascularPressureTargetPulmVeinsLeft) / VascularFlowTargetLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries;
+ double ResistanceLeftSuperiorLobeSuperiorLingulaPulmonaryVeins = (VascularPressureTargetPulmCapLeft - VascularPressureTargetPulmVeinsLeft) / VascularFlowTargetLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries;
+ double ResistanceLeftSuperiorLobeAnteriorPulmonaryVeins = (VascularPressureTargetPulmCapLeft - VascularPressureTargetPulmVeinsLeft) / VascularFlowTargetLeftSuperiorLobeAnteriorPulmonaryCapillaries;
+ double ResistanceLeftSuperiorLobeApicoposteriorPulmonaryVeins = (VascularPressureTargetPulmCapLeft - VascularPressureTargetPulmVeinsLeft) / VascularFlowTargetLeftSuperiorLobeApicoposteriorPulmonaryCapillaries;
+
+ // Portal vein and shunt are just paths - only have resistance
+ double ResistancePortalVein = 0.001; // The portal vein is just a pathway in Pulse. The pressure across this path does not represent portal vein pressure (if it did our patient would always be portal hypertensive)
+ double ResistanceShuntRight = (VascularPressureTargetPulmArtRight - VascularPressureTargetPulmCapRight) / (cardiacOutputTarget_mL_Per_s * pulmonaryShuntFractionFactor);
+ double ResistanceShuntLeft = (VascularPressureTargetPulmArtLeft - VascularPressureTargetPulmCapLeft) / (cardiacOutputTarget_mL_Per_s * pulmonaryShuntFractionFactor);
+
+ // Make a circuit
+ SEFluidCircuit& cCardiovascular = m_Circuits->GetCardiovascularCircuit();
+
+ // Create Nodes, set volume baselines and pressures where appropriate
+ SEFluidCircuitNode& RightHeart1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightHeart1);
+ RightHeart1.GetPressure().SetValue(0.0, PressureUnit::mmHg);
+ SEFluidCircuitNode& RightHeart2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightHeart2);
+ SEFluidCircuitNode& RightHeart3 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightHeart3);
+ RightHeart3.GetPressure().SetValue(0.0, PressureUnit::mmHg);
+ RightHeart1.GetVolumeBaseline().SetValue(VolumeFractionHeartRight * bloodVolume_mL, VolumeUnit::mL);
+
+ SEFluidCircuitNode& MainPulmonaryArteries1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::MainPulmonaryArteries1);
+
+ SEFluidCircuitNode& RightIntermediatePulmonaryArteries1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightIntermediatePulmonaryArteries1);
+ SEFluidCircuitNode& RightPulmonaryArteries1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightPulmonaryArteries1);
+ RightPulmonaryArteries1.GetVolumeBaseline().SetValue(VolumeFractionPulmArtRight * bloodVolume_mL, VolumeUnit::mL);
+ RightPulmonaryArteries1.GetPressure().SetValue(VascularPressureTargetPulmArtRight, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& LeftIntermediatePulmonaryArteries1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftIntermediatePulmonaryArteries1);
+ SEFluidCircuitNode& LeftPulmonaryArteries1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftPulmonaryArteries1);
+ LeftPulmonaryArteries1.GetVolumeBaseline().SetValue(VolumeFractionPulmArtLeft * bloodVolume_mL, VolumeUnit::mL);
+ LeftPulmonaryArteries1.GetPressure().SetValue(VascularPressureTargetPulmArtLeft, PressureUnit::mmHg);
+
+ //SEFluidCircuitNode& RightPulmonaryCapillaries1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightPulmonaryCapillaries1);
+ //RightPulmonaryCapillaries1.GetVolumeBaseline().SetValue(VolumeFractionPulmCapRight * bloodVolume_mL, VolumeUnit::mL);
+ //RightPulmonaryCapillaries1.GetPressure().SetValue(VascularPressureTargetPulmCapRight, PressureUnit::mmHg);
+
+ //SEFluidCircuitNode& LeftPulmonaryCapillaries1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftPulmonaryCapillaries1);
+ //LeftPulmonaryCapillaries1.GetVolumeBaseline().SetValue(VolumeFractionPulmCapLeft * bloodVolume_mL, VolumeUnit::mL);
+ //LeftPulmonaryCapillaries1.GetPressure().SetValue(VascularPressureTargetPulmCapLeft, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& RightIntermediatePulmonaryVeins1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightIntermediatePulmonaryVeins1);
+ SEFluidCircuitNode& RightPulmonaryVeins1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightPulmonaryVeins1);
+ RightPulmonaryVeins1.GetVolumeBaseline().SetValue(VolumeFractionPulmVeinsRight * bloodVolume_mL, VolumeUnit::mL);
+ RightPulmonaryVeins1.GetPressure().SetValue(VascularPressureTargetPulmVeinsRight, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& LeftIntermediatePulmonaryVeins1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftIntermediatePulmonaryVeins1);
+ SEFluidCircuitNode& LeftPulmonaryVeins1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftPulmonaryVeins1);
+ LeftPulmonaryVeins1.GetVolumeBaseline().SetValue(VolumeFractionPulmVeinsLeft * bloodVolume_mL, VolumeUnit::mL);
+ LeftPulmonaryVeins1.GetPressure().SetValue(VascularPressureTargetPulmVeinsLeft, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& LeftHeart1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftHeart1);
+ LeftHeart1.GetPressure().SetValue(0.0, PressureUnit::mmHg);
+ SEFluidCircuitNode& LeftHeart2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftHeart2);
+ SEFluidCircuitNode& LeftHeart3 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftHeart3);
+ LeftHeart3.GetPressure().SetValue(0.0, PressureUnit::mmHg);
+ LeftHeart1.GetVolumeBaseline().SetValue(VolumeFractionHeartLeft * bloodVolume_mL, VolumeUnit::mL);
+
+ SEFluidCircuitNode& Aorta1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Aorta1);
+ SEFluidCircuitNode& Aorta2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Aorta2);
+ SEFluidCircuitNode& Aorta3 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Aorta3);
+ SEFluidCircuitNode& Aorta4 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Aorta4);
+ Aorta4.GetPressure().SetValue(0.0, PressureUnit::mmHg);
+ Aorta1.GetVolumeBaseline().SetValue(VolumeFractionAorta * bloodVolume_mL, VolumeUnit::mL);
+ Aorta1.GetPressure().SetValue(VascularPressureTargetAorta, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& Brain1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Brain1);
+ SEFluidCircuitNode& Brain2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Brain2);
+ Brain1.GetVolumeBaseline().SetValue(VolumeFractionBrain * bloodVolume_mL, VolumeUnit::mL);
+ Brain1.GetPressure().SetValue(0.0, PressureUnit::mmHg);
+ Brain1.GetPressure().SetValue(VascularPressureTargetBrain, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& Bone1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Bone1);
+ SEFluidCircuitNode& Bone2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Bone2);
+ Bone1.GetVolumeBaseline().SetValue(VolumeFractionBone * bloodVolume_mL, VolumeUnit::mL);
+ Bone1.GetPressure().SetValue(VascularPressureTargetBone, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& Fat1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Fat1);
+ SEFluidCircuitNode& Fat2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Fat2);
+ Fat1.GetVolumeBaseline().SetValue(VolumeFractionFat * bloodVolume_mL, VolumeUnit::mL);
+ Fat1.GetPressure().SetValue(VascularPressureTargetFat, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& LargeIntestine1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LargeIntestine1);
+ LargeIntestine1.GetVolumeBaseline().SetValue(VolumeFractionLargeIntestine * bloodVolume_mL, VolumeUnit::mL);
+ LargeIntestine1.GetPressure().SetValue(VascularPressureTargetLargeIntestine, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& Liver1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Liver1);
+ SEFluidCircuitNode& Liver2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Liver2);
+ Liver1.GetVolumeBaseline().SetValue(VolumeFractionLiver * bloodVolume_mL, VolumeUnit::mL);
+ Liver1.GetPressure().SetValue(VascularPressureTargetLiver, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& LeftArm1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftArm1);
+ SEFluidCircuitNode& LeftArm2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftArm2);
+ LeftArm1.GetVolumeBaseline().SetValue(VolumeFractionArm * bloodVolume_mL, VolumeUnit::mL);
+ LeftArm1.GetPressure().SetValue(VascularPressureTargetArm, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& LeftKidney1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftKidney1);
+ SEFluidCircuitNode& LeftKidney2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftKidney2);
+ LeftKidney1.GetVolumeBaseline().SetValue(0.5 * VolumeFractionKidney * bloodVolume_mL, VolumeUnit::mL);
+ LeftKidney1.GetPressure().SetValue(VascularPressureTargetKidney, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& LeftLeg1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftLeg1);
+ SEFluidCircuitNode& LeftLeg2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftLeg2);
+ LeftLeg1.GetVolumeBaseline().SetValue(VolumeFractionLeg * bloodVolume_mL, VolumeUnit::mL);
+ LeftLeg1.GetPressure().SetValue(VascularPressureTargetLeg, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& Muscle1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Muscle1);
+ SEFluidCircuitNode& Muscle2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Muscle2);
+ Muscle1.GetVolumeBaseline().SetValue(VolumeFractionMuscle * bloodVolume_mL, VolumeUnit::mL);
+ Muscle1.GetPressure().SetValue(VascularPressureTargetMuscle, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& Myocardium1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Myocardium1);
+ SEFluidCircuitNode& Myocardium2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Myocardium2);
+ Myocardium1.GetVolumeBaseline().SetValue(VolumeFractionMyocardium * bloodVolume_mL, VolumeUnit::mL);
+ Myocardium1.GetPressure().SetValue(VascularPressureTargetMyocardium, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& PortalVein1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::PortalVein1);
+
+ SEFluidCircuitNode& RightArm1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightArm1);
+ SEFluidCircuitNode& RightArm2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightArm2);
+ RightArm1.GetVolumeBaseline().SetValue(VolumeFractionArm * bloodVolume_mL, VolumeUnit::mL);
+ RightArm1.GetPressure().SetValue(VascularPressureTargetArm, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& RightKidney1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightKidney1);
+ SEFluidCircuitNode& RightKidney2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightKidney2);
+ RightKidney1.GetVolumeBaseline().SetValue(0.5 * VolumeFractionKidney * bloodVolume_mL, VolumeUnit::mL);
+ RightKidney1.GetPressure().SetValue(VascularPressureTargetKidney, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& RightLeg1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightLeg1);
+ SEFluidCircuitNode& RightLeg2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightLeg2);
+ RightLeg1.GetVolumeBaseline().SetValue(VolumeFractionLeg * bloodVolume_mL, VolumeUnit::mL);
+ RightLeg1.GetPressure().SetValue(VascularPressureTargetLeg, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& Skin1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Skin1);
+ SEFluidCircuitNode& Skin2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Skin2);
+ Skin1.GetVolumeBaseline().SetValue(VolumeFractionSkin * bloodVolume_mL, VolumeUnit::mL);
+ Skin1.GetPressure().SetValue(VascularPressureTargetSkin, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& SmallIntestine1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::SmallIntestine1);
+ SmallIntestine1.GetVolumeBaseline().SetValue(VolumeFractionSmallIntestine * bloodVolume_mL, VolumeUnit::mL);
+ SmallIntestine1.GetPressure().SetValue(VascularPressureTargetSmallIntestine, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& Splanchnic1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Splanchnic1);
+ Splanchnic1.GetVolumeBaseline().SetValue(VolumeFractionSplanchnic * bloodVolume_mL, VolumeUnit::mL);
+ Splanchnic1.GetPressure().SetValue(VascularPressureTargetSplanchnic, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& Spleen1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Spleen1);
+ Spleen1.GetVolumeBaseline().SetValue(VolumeFractionSpleen * bloodVolume_mL, VolumeUnit::mL);
+ Spleen1.GetPressure().SetValue(VascularPressureTargetSpleen, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& VenaCava1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::VenaCava1);
+ VenaCava1.GetVolumeBaseline().SetValue(VolumeFractionVenaCava * bloodVolume_mL, VolumeUnit::mL);
+ VenaCava1.GetPressure().SetValue(VascularPressureTargetVenaCava, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& Ground = cCardiovascular.CreateNode(pulse::CardiovascularNode::Ground);
+ Ground.SetAsReferenceNode();
+ Ground.GetPressure().SetValue(0.0, PressureUnit::mmHg);
+
+ double blood_mL = 0;
+ for (SEFluidCircuitNode* n : cCardiovascular.GetNodes())
+ {
+ if (n->HasVolumeBaseline())
+ blood_mL += n->GetVolumeBaseline(VolumeUnit::mL);
+ }
+ if (blood_mL > bloodVolume_mL)
+ Error("Blood volume greater than total blood volume");
+
+ SEFluidCircuitNode& Pericardium = cCardiovascular.CreateNode(pulse::CardiovascularNode::Pericardium1);
+ Pericardium.GetVolumeBaseline().SetValue(15.0, VolumeUnit::mL);
+ Pericardium.GetPressure().SetValue(1.0, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& AbdominalCavity = cCardiovascular.CreateNode(pulse::CardiovascularNode::AbdominalCavity1);
+ AbdominalCavity.GetVolumeBaseline().SetValue(10.0, VolumeUnit::mL);
+ AbdominalCavity.GetPressure().SetValue(0.0, PressureUnit::mmHg);
+
+ SEFluidCircuitNode& RightSuperiorLobeApicalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightSuperiorLobeApicalPulmonaryCapillaries);
+ SEFluidCircuitNode& RightSuperiorLobePosteriorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightSuperiorLobePosteriorPulmonaryCapillaries);
+ SEFluidCircuitNode& RightSuperiorLobeAnteriorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightSuperiorLobeAnteriorPulmonaryCapillaries);
+ SEFluidCircuitNode& RightMiddleLobeLateralPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightMiddleLobeLateralPulmonaryCapillaries);
+ SEFluidCircuitNode& RightMiddleLobeMedialPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightMiddleLobeMedialPulmonaryCapillaries);
+ SEFluidCircuitNode& RightInferiorLobeSuperiorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightInferiorLobeSuperiorPulmonaryCapillaries);
+ SEFluidCircuitNode& RightInferiorLobeMedialBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightInferiorLobeMedialBasalPulmonaryCapillaries);
+ SEFluidCircuitNode& RightInferiorLobeAnteriorBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ SEFluidCircuitNode& RightInferiorLobeLateralBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightInferiorLobeLateralBasalPulmonaryCapillaries);
+ SEFluidCircuitNode& RightInferiorLobePosteriorBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ SEFluidCircuitNode& LeftInferiorLobePosteriorBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ SEFluidCircuitNode& LeftInferiorLobeLateralBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ SEFluidCircuitNode& LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ SEFluidCircuitNode& LeftInferiorLobeSuperiorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftInferiorLobeSuperiorPulmonaryCapillaries);
+ SEFluidCircuitNode& LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ SEFluidCircuitNode& LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ SEFluidCircuitNode& LeftSuperiorLobeAnteriorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ SEFluidCircuitNode& LeftSuperiorLobeApicoposteriorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
+ RightSuperiorLobeApicalPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionRightSuperiorLobeApicalPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+ RightSuperiorLobePosteriorPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionRightSuperiorLobePosteriorPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+ RightSuperiorLobeAnteriorPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionRightSuperiorLobeAnteriorPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+ RightMiddleLobeLateralPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionRightMiddleLobeLateralPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+ RightMiddleLobeMedialPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionRightMiddleLobeMedialPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+ RightInferiorLobeSuperiorPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionRightInferiorLobeSuperiorPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+ RightInferiorLobeMedialBasalPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionRightInferiorLobeMedialBasalPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+ RightInferiorLobeAnteriorBasalPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionRightInferiorLobeAnteriorBasalPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+ RightInferiorLobeLateralBasalPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionRightInferiorLobeLateralBasalPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+ RightInferiorLobePosteriorBasalPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionRightInferiorLobePosteriorBasalPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+
+ LeftInferiorLobePosteriorBasalPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionLeftInferiorLobePosteriorBasalPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+ LeftInferiorLobeLateralBasalPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionLeftInferiorLobeLateralBasalPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+ LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+ LeftInferiorLobeSuperiorPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionLeftInferiorLobeSuperiorPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+ LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+ LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+ LeftSuperiorLobeAnteriorPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionLeftSuperiorLobeAnteriorPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+ LeftSuperiorLobeApicoposteriorPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionLeftSuperiorLobeApicoposteriorPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
+
+ double totalRightVolume_mL =
+ RightSuperiorLobeApicalPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) +
+ RightSuperiorLobePosteriorPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) +
+ RightSuperiorLobeAnteriorPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) +
+ RightMiddleLobeLateralPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) +
+ RightMiddleLobeMedialPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) +
+ RightInferiorLobeSuperiorPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) +
+ RightInferiorLobeMedialBasalPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) +
+ RightInferiorLobeAnteriorBasalPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) +
+ RightInferiorLobeLateralBasalPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) +
+ RightInferiorLobePosteriorBasalPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL);
+
+ double totalLeftVolume_mL =
+ LeftInferiorLobePosteriorBasalPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) +
+ LeftInferiorLobeLateralBasalPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) +
+ LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) +
+ LeftInferiorLobeSuperiorPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) +
+ LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) +
+ LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) +
+ LeftSuperiorLobeAnteriorPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) +
+ LeftSuperiorLobeApicoposteriorPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL);
+
+ double totalVolume_mL = totalRightVolume_mL + totalLeftVolume_mL;
+
+ RightSuperiorLobeApicalPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapRight, PressureUnit::mmHg);
+ RightSuperiorLobePosteriorPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapRight, PressureUnit::mmHg);
+ RightSuperiorLobeAnteriorPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapRight, PressureUnit::mmHg);
+ RightMiddleLobeLateralPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapRight, PressureUnit::mmHg);
+ RightMiddleLobeMedialPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapRight, PressureUnit::mmHg);
+ RightInferiorLobeSuperiorPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapRight, PressureUnit::mmHg);
+ RightInferiorLobeMedialBasalPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapRight, PressureUnit::mmHg);
+ RightInferiorLobeAnteriorBasalPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapRight, PressureUnit::mmHg);
+ RightInferiorLobeLateralBasalPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapRight, PressureUnit::mmHg);
+ RightInferiorLobePosteriorBasalPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapRight, PressureUnit::mmHg);
+
+ LeftInferiorLobePosteriorBasalPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapLeft, PressureUnit::mmHg);
+ LeftInferiorLobeLateralBasalPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapLeft, PressureUnit::mmHg);
+ LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapLeft, PressureUnit::mmHg);
+ LeftInferiorLobeSuperiorPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapLeft, PressureUnit::mmHg);
+ LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapLeft, PressureUnit::mmHg);
+ LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapLeft, PressureUnit::mmHg);
+ LeftSuperiorLobeAnteriorPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapLeft, PressureUnit::mmHg);
+ LeftSuperiorLobeApicoposteriorPulmonaryCapillaries.GetPressure().SetValue(VascularPressureTargetPulmCapLeft, PressureUnit::mmHg);
+
+ // Create Paths, set switch (diodes), compliances, and resistances where appropriate
+ SEFluidCircuitPath& VenaCava1ToRightHeart2 = cCardiovascular.CreatePath(VenaCava1, RightHeart2, pulse::CardiovascularPath::VenaCava1ToRightHeart2);
+ VenaCava1ToRightHeart2.GetResistanceBaseline().SetValue(ResistanceHeartRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& RightHeart2ToRightHeart1 = cCardiovascular.CreatePath(RightHeart2, RightHeart1, pulse::CardiovascularPath::RightHeart2ToRightHeart1);
+ RightHeart2ToRightHeart1.SetNextValve(eGate::Closed);
+ SEFluidCircuitPath& RightHeart1ToRightHeart3 = cCardiovascular.CreatePath(RightHeart1, RightHeart3, pulse::CardiovascularPath::RightHeart1ToRightHeart3);
+ SEFluidCircuitPath& RightHeart3ToGround = cCardiovascular.CreatePath(Ground, RightHeart3, pulse::CardiovascularPath::RightHeart3ToGround);
+ RightHeart3ToGround.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
+
+ SEFluidCircuitPath& RightHeart1ToMainPulmonaryArteries1 = cCardiovascular.CreatePath(RightHeart1, MainPulmonaryArteries1, pulse::CardiovascularPath::RightHeart1ToMainPulmonaryArteries1);
+ RightHeart1ToMainPulmonaryArteries1.SetNextValve(eGate::Closed);
+
+ SEFluidCircuitPath& MainPulmonaryArteries1ToRightIntermediatePulmonaryArteries1 = cCardiovascular.CreatePath(MainPulmonaryArteries1, RightIntermediatePulmonaryArteries1, pulse::CardiovascularPath::MainPulmonaryArteries1ToRightIntermediatePulmonaryArteries1);
+ //MainPulmonaryArteries1ToRightIntermediatePulmonaryArteries1.SetNextValve(eGate::Closed);
+ SEFluidCircuitPath& RightIntermediatePulmonaryArteries1ToRightPulmonaryArteries1 = cCardiovascular.CreatePath(RightIntermediatePulmonaryArteries1, RightPulmonaryArteries1, pulse::CardiovascularPath::RightIntermediatePulmonaryArteries1ToRightPulmonaryArteries1);
+ RightIntermediatePulmonaryArteries1ToRightPulmonaryArteries1.GetResistanceBaseline().SetValue(ResistancePulmArt, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+
+ //SEFluidCircuitPath& RightPulmonaryArteries1ToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightPulmonaryVeins1);
+ //RightPulmonaryArteries1ToRightPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceShuntRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ //SEFluidCircuitPath& RightPulmonaryArteries1ToRightPulmonaryCapillaries1 = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryCapillaries1, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightPulmonaryCapillaries1);
+ //RightPulmonaryArteries1ToRightPulmonaryCapillaries1.GetResistanceBaseline().SetValue(ResistancePulmCapRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToGround = cCardiovascular.CreatePath(RightPulmonaryArteries1, Ground, pulse::CardiovascularPath::RightPulmonaryArteries1ToGround);
+ RightPulmonaryArteries1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ //SEFluidCircuitPath& RightPulmonaryCapillaries1ToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightPulmonaryCapillaries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightPulmonaryCapillaries1ToRightPulmonaryVeins1);
+ //RightPulmonaryCapillaries1ToRightPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistancePulmVeinsRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ //SEFluidCircuitPath& RightPulmonaryCapillaries1ToGround = cCardiovascular.CreatePath(RightPulmonaryCapillaries1, Ground, pulse::CardiovascularPath::RightPulmonaryCapillaries1ToGround);
+ //RightPulmonaryCapillaries1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+
+ SEFluidCircuitPath& RightPulmonaryVeins1ToRightIntermediatePulmonaryVeins1 = cCardiovascular.CreatePath(RightPulmonaryVeins1, RightIntermediatePulmonaryVeins1, pulse::CardiovascularPath::RightPulmonaryVeins1ToRightIntermediatePulmonaryVeins1);
+ RightPulmonaryVeins1ToRightIntermediatePulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceHeartLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& RightPulmonaryVeins1ToGround = cCardiovascular.CreatePath(RightPulmonaryVeins1, Ground, pulse::CardiovascularPath::RightPulmonaryVeins1ToGround);
+ RightPulmonaryVeins1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& RightIntermediatePulmonaryVeins1ToLeftHeart2 = cCardiovascular.CreatePath(RightIntermediatePulmonaryVeins1, LeftHeart2, pulse::CardiovascularPath::RightIntermediatePulmonaryVeins1ToLeftHeart2);
+ //RightIntermediatePulmonaryVeins1ToLeftHeart2.SetNextValve(eGate::Closed);
+
+ SEFluidCircuitPath& MainPulmonaryArteries1ToLeftIntermediatePulmonaryArteries1 = cCardiovascular.CreatePath(MainPulmonaryArteries1, LeftIntermediatePulmonaryArteries1, pulse::CardiovascularPath::MainPulmonaryArteries1ToLeftIntermediatePulmonaryArteries1);
+ //MainPulmonaryArteries1ToLeftIntermediatePulmonaryArteries1.SetNextValve(eGate::Closed);
+ SEFluidCircuitPath& LeftIntermediatePulmonaryArteries1ToLeftPulmonaryArteries1 = cCardiovascular.CreatePath(LeftIntermediatePulmonaryArteries1, LeftPulmonaryArteries1, pulse::CardiovascularPath::LeftIntermediatePulmonaryArteries1ToLeftPulmonaryArteries1);
+ LeftIntermediatePulmonaryArteries1ToLeftPulmonaryArteries1.GetResistanceBaseline().SetValue(ResistancePulmArt, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+
+ //SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftPulmonaryVeins1);
+ //LeftPulmonaryArteries1ToLeftPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceShuntLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ //SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1 = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryCapillaries1, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1);
+ //LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1.GetResistanceBaseline().SetValue(ResistancePulmCapLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToGround = cCardiovascular.CreatePath(LeftPulmonaryArteries1, Ground, pulse::CardiovascularPath::LeftPulmonaryArteries1ToGround);
+ LeftPulmonaryArteries1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ //SEFluidCircuitPath& LeftPulmonaryCapillaries1ToGround = cCardiovascular.CreatePath(LeftPulmonaryCapillaries1, Ground, pulse::CardiovascularPath::LeftPulmonaryCapillaries1ToGround);
+ //LeftPulmonaryCapillaries1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ //SEFluidCircuitPath& LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftPulmonaryCapillaries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1);
+ //LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistancePulmVeinsLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+
+ SEFluidCircuitPath& LeftPulmonaryVeins1ToLeftIntermediatePulmonaryVeins1 = cCardiovascular.CreatePath(LeftPulmonaryVeins1, LeftIntermediatePulmonaryVeins1, pulse::CardiovascularPath::LeftPulmonaryVeins1ToLeftIntermediatePulmonaryVeins1);
+ LeftPulmonaryVeins1ToLeftIntermediatePulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceHeartLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& LeftPulmonaryVeins1ToGround = cCardiovascular.CreatePath(LeftPulmonaryVeins1, Ground, pulse::CardiovascularPath::LeftPulmonaryVeins1ToGround);
+ LeftPulmonaryVeins1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& LeftIntermediatePulmonaryVeins1ToLeftHeart2 = cCardiovascular.CreatePath(LeftIntermediatePulmonaryVeins1, LeftHeart2, pulse::CardiovascularPath::LeftIntermediatePulmonaryVeins1ToLeftHeart2);
+ //LeftIntermediatePulmonaryVeins1ToLeftHeart2.SetNextValve(eGate::Closed);
+ SEFluidCircuitPath& LeftHeart2ToLeftHeart1 = cCardiovascular.CreatePath(LeftHeart2, LeftHeart1, pulse::CardiovascularPath::LeftHeart2ToLeftHeart1);
+ LeftHeart2ToLeftHeart1.SetNextValve(eGate::Closed);
+ SEFluidCircuitPath& LeftHeart1ToLeftHeart3 = cCardiovascular.CreatePath(LeftHeart1, LeftHeart3, pulse::CardiovascularPath::LeftHeart1ToLeftHeart3);
+
+ SEFluidCircuitPath& LeftHeart3ToGround = cCardiovascular.CreatePath(Ground, LeftHeart3, pulse::CardiovascularPath::LeftHeart3ToGround);
+ LeftHeart3ToGround.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
+ SEFluidCircuitPath& LeftHeart1ToAorta2 = cCardiovascular.CreatePath(LeftHeart1, Aorta2, pulse::CardiovascularPath::LeftHeart1ToAorta2);
+ LeftHeart1ToAorta2.SetNextValve(eGate::Closed);
+ cCardiovascular.CreatePath(Aorta2, Aorta3, pulse::CardiovascularPath::Aorta2ToAorta3);
+ SEFluidCircuitPath& Aorta3ToAorta1 = cCardiovascular.CreatePath(Aorta3, Aorta1, pulse::CardiovascularPath::Aorta3ToAorta1);
+ Aorta3ToAorta1.GetResistanceBaseline().SetValue(ResistanceAorta, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Aorta1ToAorta4 = cCardiovascular.CreatePath(Aorta1, Aorta4, pulse::CardiovascularPath::Aorta1ToAorta4);
+ Aorta1ToAorta4.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+
+ SEFluidCircuitPath& Aorta1ToBrain1 = cCardiovascular.CreatePath(Aorta1, Brain1, pulse::CardiovascularPath::Aorta1ToBrain1);
+ Aorta1ToBrain1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceBrain, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Brain1ToGround = cCardiovascular.CreatePath(Brain1, Ground, pulse::CardiovascularPath::Brain1ToGround);
+ Brain1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ /*SEFluidCircuitPath& GroundToBrain1 = cCardiovascular.CreatePath(Ground, Brain1, pulse::CardiovascularPath::GroundToBrain1);
+ GroundToBrain1.GetPressureSourceBaseline().SetValue(1.0, PressureUnit::mmHg);*/
+ SEFluidCircuitPath& Brain1ToBrain2 = cCardiovascular.CreatePath(Brain1, Brain2, pulse::CardiovascularPath::Brain1ToBrain2);
+ Brain1ToBrain2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceBrainVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Brain2ToVenaCava1 = cCardiovascular.CreatePath(Brain2, VenaCava1, pulse::CardiovascularPath::Brain2ToVenaCava1);
+
+ SEFluidCircuitPath& Aorta1ToBone1 = cCardiovascular.CreatePath(Aorta1, Bone1, pulse::CardiovascularPath::Aorta1ToBone1);
+ Aorta1ToBone1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceBone, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Bone1ToGround = cCardiovascular.CreatePath(Bone1, Ground, pulse::CardiovascularPath::Bone1ToGround);
+ Bone1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& Bone1ToBone2 = cCardiovascular.CreatePath(Bone1, Bone2, pulse::CardiovascularPath::Bone1ToBone2);
+ Bone1ToBone2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceBoneVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Bone2ToVenaCava1 = cCardiovascular.CreatePath(Bone2, VenaCava1, pulse::CardiovascularPath::Bone2ToVenaCava1);
+
+ SEFluidCircuitPath& Aorta1ToFat1 = cCardiovascular.CreatePath(Aorta1, Fat1, pulse::CardiovascularPath::Aorta1ToFat1);
+ Aorta1ToFat1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceFat, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Fat1ToGround = cCardiovascular.CreatePath(Fat1, Ground, pulse::CardiovascularPath::Fat1ToGround);
+ Fat1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& Fat1ToFat2 = cCardiovascular.CreatePath(Fat1, Fat2, pulse::CardiovascularPath::Fat1ToFat2);
+ Fat1ToFat2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceFatVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Fat2ToVenaCava1 = cCardiovascular.CreatePath(Fat2, VenaCava1, pulse::CardiovascularPath::Fat2ToVenaCava1);
+
+ SEFluidCircuitPath& Aorta1ToLargeIntestine1 = cCardiovascular.CreatePath(Aorta1, LargeIntestine1, pulse::CardiovascularPath::Aorta1ToLargeIntestine1);
+ Aorta1ToLargeIntestine1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLargeIntestine, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& LargeIntestine1ToGround = cCardiovascular.CreatePath(LargeIntestine1, Ground, pulse::CardiovascularPath::LargeIntestine1ToGround);
+ LargeIntestine1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& LargeIntestine1ToPortalVein1 = cCardiovascular.CreatePath(LargeIntestine1, PortalVein1, pulse::CardiovascularPath::LargeIntestine1ToPortalVein1);
+ LargeIntestine1ToPortalVein1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLargeIntestineVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+
+ SEFluidCircuitPath& Aorta1ToLeftArm1 = cCardiovascular.CreatePath(Aorta1, LeftArm1, pulse::CardiovascularPath::Aorta1ToLeftArm1);
+ Aorta1ToLeftArm1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArm, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& LeftArm1ToGround = cCardiovascular.CreatePath(LeftArm1, Ground, pulse::CardiovascularPath::LeftArm1ToGround);
+ LeftArm1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& LeftArm1ToLeftArm2 = cCardiovascular.CreatePath(LeftArm1, LeftArm2, pulse::CardiovascularPath::LeftArm1ToLeftArm2);
+ LeftArm1ToLeftArm2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& LeftArm2ToVenaCava1 = cCardiovascular.CreatePath(LeftArm2, VenaCava1, pulse::CardiovascularPath::LeftArm2ToVenaCava1);
+
+ SEFluidCircuitPath& Aorta1ToLeftKidney1 = cCardiovascular.CreatePath(Aorta1, LeftKidney1, pulse::CardiovascularPath::Aorta1ToLeftKidney1);
+ Aorta1ToLeftKidney1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceKidney, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& LeftKidney1ToGround = cCardiovascular.CreatePath(LeftKidney1, Ground, pulse::CardiovascularPath::LeftKidney1ToGround);
+ LeftKidney1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& LeftKidney1ToLeftKidney2 = cCardiovascular.CreatePath(LeftKidney1, LeftKidney2, pulse::CardiovascularPath::LeftKidney1ToLeftKidney2);
+ LeftKidney1ToLeftKidney2.GetResistanceBaseline().SetValue(ResistanceKidneyVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& LeftKidney2ToVenaCava1 = cCardiovascular.CreatePath(LeftKidney2, VenaCava1, pulse::CardiovascularPath::LeftKidney2ToVenaCava1);
+
+ SEFluidCircuitPath& Aorta1ToLeftLeg1 = cCardiovascular.CreatePath(Aorta1, LeftLeg1, pulse::CardiovascularPath::Aorta1ToLeftLeg1);
+ Aorta1ToLeftLeg1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLeg, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& LeftLeg1ToGround = cCardiovascular.CreatePath(LeftLeg1, Ground, pulse::CardiovascularPath::LeftLeg1ToGround);
+ LeftLeg1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& LeftLeg1ToLeftLeg2 = cCardiovascular.CreatePath(LeftLeg1, LeftLeg2, pulse::CardiovascularPath::LeftLeg1ToLeftLeg2);
+ LeftLeg1ToLeftLeg2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& LeftLeg2ToVenaCava1 = cCardiovascular.CreatePath(LeftLeg2, VenaCava1, pulse::CardiovascularPath::LeftLeg2ToVenaCava1);
+
+ SEFluidCircuitPath& Aorta1ToLiver1 = cCardiovascular.CreatePath(Aorta1, Liver1, pulse::CardiovascularPath::Aorta1ToLiver1);
+ Aorta1ToLiver1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLiver, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Liver1ToGround = cCardiovascular.CreatePath(Liver1, Ground, pulse::CardiovascularPath::Liver1ToGround);
+ Liver1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& PortalVein1ToLiver1 = cCardiovascular.CreatePath(PortalVein1, Liver1, pulse::CardiovascularPath::PortalVein1ToLiver1);
+ PortalVein1ToLiver1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistancePortalVein, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Liver1ToLiver2 = cCardiovascular.CreatePath(Liver1, Liver2, pulse::CardiovascularPath::Liver1ToLiver2);
+ Liver1ToLiver2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLiverVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Liver2ToVenaCava1 = cCardiovascular.CreatePath(Liver2, VenaCava1, pulse::CardiovascularPath::Liver2ToVenaCava1);
+
+ SEFluidCircuitPath& Aorta1ToMuscle1 = cCardiovascular.CreatePath(Aorta1, Muscle1, pulse::CardiovascularPath::Aorta1ToMuscle1);
+ Aorta1ToMuscle1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceMuscle, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Muscle1ToGround = cCardiovascular.CreatePath(Muscle1, Ground, pulse::CardiovascularPath::Muscle1ToGround);
+ Muscle1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& Muscle1ToMuscle2 = cCardiovascular.CreatePath(Muscle1, Muscle2, pulse::CardiovascularPath::Muscle1ToMuscle2);
+ Muscle1ToMuscle2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceMuscleVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Muscle2ToVenaCava1 = cCardiovascular.CreatePath(Muscle2, VenaCava1, pulse::CardiovascularPath::Muscle2ToVenaCava1);
+
+ SEFluidCircuitPath& Aorta1ToMyocardium1 = cCardiovascular.CreatePath(Aorta1, Myocardium1, pulse::CardiovascularPath::Aorta1ToMyocardium1);
+ Aorta1ToMyocardium1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceMyocardium, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Myocardium1ToGround = cCardiovascular.CreatePath(Myocardium1, Ground, pulse::CardiovascularPath::Myocardium1ToGround);
+ Myocardium1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& Myocardium1ToMyocardium2 = cCardiovascular.CreatePath(Myocardium1, Myocardium2, pulse::CardiovascularPath::Myocardium1ToMyocardium2);
+ Myocardium1ToMyocardium2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceMyocardiumVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Myocardium2ToVenaCava1 = cCardiovascular.CreatePath(Myocardium2, VenaCava1, pulse::CardiovascularPath::Myocardium2ToVenaCava1);
+
+ SEFluidCircuitPath& PericardiumToGround = cCardiovascular.CreatePath(Pericardium, Ground, pulse::CardiovascularPath::Pericardium1ToGround);
+ SEFluidCircuitPath& GroundToPericardium = cCardiovascular.CreatePath(Ground, Pericardium, pulse::CardiovascularPath::GroundToPericardium1);
+ GroundToPericardium.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
+
+ SEFluidCircuitPath& Aorta1ToRightArm1 = cCardiovascular.CreatePath(Aorta1, RightArm1, pulse::CardiovascularPath::Aorta1ToRightArm1);
+ Aorta1ToRightArm1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArm, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& RightArm1ToGround = cCardiovascular.CreatePath(RightArm1, Ground, pulse::CardiovascularPath::RightArm1ToGround);
+ RightArm1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& RightArm1ToRightArm2 = cCardiovascular.CreatePath(RightArm1, RightArm2, pulse::CardiovascularPath::RightArm1ToRightArm2);
+ RightArm1ToRightArm2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& RightArm2ToVenaCava1 = cCardiovascular.CreatePath(RightArm2, VenaCava1, pulse::CardiovascularPath::RightArm2ToVenaCava1);
+
+ SEFluidCircuitPath& Aorta1ToRightKidney1 = cCardiovascular.CreatePath(Aorta1, RightKidney1, pulse::CardiovascularPath::Aorta1ToRightKidney1);
+ Aorta1ToRightKidney1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceKidney, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& RightKidney1ToGround = cCardiovascular.CreatePath(RightKidney1, Ground, pulse::CardiovascularPath::RightKidney1ToGround);
+ RightKidney1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& RightKidney1ToRightKidney2 = cCardiovascular.CreatePath(RightKidney1, RightKidney2, pulse::CardiovascularPath::RightKidney1ToRightKidney2);
+ RightKidney1ToRightKidney2.GetResistanceBaseline().SetValue(ResistanceKidneyVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& RightKidney2ToVenaCava1 = cCardiovascular.CreatePath(RightKidney2, VenaCava1, pulse::CardiovascularPath::RightKidney2ToVenaCava1);
+
+ SEFluidCircuitPath& Aorta1ToRightLeg1 = cCardiovascular.CreatePath(Aorta1, RightLeg1, pulse::CardiovascularPath::Aorta1ToRightLeg1);
+ Aorta1ToRightLeg1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLeg, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& RightLeg1ToGround = cCardiovascular.CreatePath(RightLeg1, Ground, pulse::CardiovascularPath::RightLeg1ToGround);
+ RightLeg1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& RightLeg1ToRightLeg2 = cCardiovascular.CreatePath(RightLeg1, RightLeg2, pulse::CardiovascularPath::RightLeg1ToRightLeg2);
+ RightLeg1ToRightLeg2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& RightLeg2ToVenaCava1 = cCardiovascular.CreatePath(RightLeg2, VenaCava1, pulse::CardiovascularPath::RightLeg2ToVenaCava1);
+
+ SEFluidCircuitPath& Aorta1ToSkin1 = cCardiovascular.CreatePath(Aorta1, Skin1, pulse::CardiovascularPath::Aorta1ToSkin1);
+ Aorta1ToSkin1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceSkin, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Skin1ToGround = cCardiovascular.CreatePath(Skin1, Ground, pulse::CardiovascularPath::Skin1ToGround);
+ Skin1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& Skin1ToSkin2 = cCardiovascular.CreatePath(Skin1, Skin2, pulse::CardiovascularPath::Skin1ToSkin2);
+ Skin1ToSkin2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceSkinVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Skin2ToVenaCava1 = cCardiovascular.CreatePath(Skin2, VenaCava1, pulse::CardiovascularPath::Skin2ToVenaCava1);
+
+ SEFluidCircuitPath& Aorta1ToSmallIntestine1 = cCardiovascular.CreatePath(Aorta1, SmallIntestine1, pulse::CardiovascularPath::Aorta1ToSmallIntestine1);
+ Aorta1ToSmallIntestine1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceSmallIntestine, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& SmallIntestine1ToGround = cCardiovascular.CreatePath(SmallIntestine1, Ground, pulse::CardiovascularPath::SmallIntestine1ToGround);
+ SmallIntestine1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& SmallIntestine1ToPortalVein1 = cCardiovascular.CreatePath(SmallIntestine1, PortalVein1, pulse::CardiovascularPath::SmallIntestine1ToPortalVein1);
+ SmallIntestine1ToPortalVein1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceSmallIntestineVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+
+ SEFluidCircuitPath& Aorta1ToSplanchnic1 = cCardiovascular.CreatePath(Aorta1, Splanchnic1, pulse::CardiovascularPath::Aorta1ToSplanchnic1);
+ Aorta1ToSplanchnic1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceSplanchnic, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Splanchnic1ToGround = cCardiovascular.CreatePath(Splanchnic1, Ground, pulse::CardiovascularPath::Splanchnic1ToGround);
+ Splanchnic1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& SplanchnicToPortalVein = cCardiovascular.CreatePath(Splanchnic1, PortalVein1, pulse::CardiovascularPath::Splanchnic1ToPortalVein1);
+ SplanchnicToPortalVein.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceSplanchnicVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+
+ SEFluidCircuitPath& Aorta1ToSpleen1 = cCardiovascular.CreatePath(Aorta1, Spleen1, pulse::CardiovascularPath::Aorta1ToSpleen1);
+ Aorta1ToSpleen1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceSpleen, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ SEFluidCircuitPath& Spleen1ToGround = cCardiovascular.CreatePath(Spleen1, Ground, pulse::CardiovascularPath::Spleen1ToGround);
+ Spleen1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& Spleen1ToPortalVein1 = cCardiovascular.CreatePath(Spleen1, PortalVein1, pulse::CardiovascularPath::Spleen1ToPortalVein1);
+ Spleen1ToPortalVein1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceSpleenVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+
+ SEFluidCircuitPath& AbdominalCavityToGround = cCardiovascular.CreatePath(AbdominalCavity, Ground, pulse::CardiovascularPath::AbdominalCavity1ToGround);
+ SEFluidCircuitPath& GroundToAbdominalCavity = cCardiovascular.CreatePath(Ground, AbdominalCavity, pulse::CardiovascularPath::GroundToAbdominalCavity1);
+ GroundToAbdominalCavity.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
+
+ SEFluidCircuitPath& GroundToAorta4 = cCardiovascular.CreatePath(Ground, Aorta4, pulse::CardiovascularPath::GroundToAorta4);
+ GroundToAorta4.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
+
+ SEFluidCircuitPath& VenaCava1ToGround = cCardiovascular.CreatePath(VenaCava1, Ground, pulse::CardiovascularPath::VenaCava1ToGround);
+ VenaCava1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ SEFluidCircuitPath& IVToVenaCava1 = cCardiovascular.CreatePath(Ground, VenaCava1, pulse::CardiovascularPath::IVToVenaCava1);
+ IVToVenaCava1.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
+
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightSuperiorLobeApicalPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightSuperiorLobePosteriorPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightSuperiorLobeAnteriorPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightSuperiorLobeAnteriorPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeAnteriorPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightMiddleLobeLateralPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightMiddleLobeLateralPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeLateralPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightMiddleLobeMedialPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightMiddleLobeMedialPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeMedialPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightInferiorLobeSuperiorPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightInferiorLobeSuperiorPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeSuperiorPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightInferiorLobeMedialBasalPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightInferiorLobeMedialBasalPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeMedialBasalPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightInferiorLobeAnteriorBasalPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightInferiorLobeAnteriorBasalPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightInferiorLobeLateralBasalPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightInferiorLobeLateralBasalPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeLateralBasalPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightInferiorLobePosteriorBasalPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightInferiorLobePosteriorBasalPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftInferiorLobePosteriorBasalPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftInferiorLobePosteriorBasalPulmonaryCapillaries, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftInferiorLobeLateralBasalPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftInferiorLobeLateralBasalPulmonaryCapillaries, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftInferiorLobeSuperiorPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftInferiorLobeSuperiorPulmonaryCapillaries, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeSuperiorPulmonaryCapillaries);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftSuperiorLobeAnteriorPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftSuperiorLobeAnteriorPulmonaryCapillaries, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftSuperiorLobeApicoposteriorPulmonaryCapillaries, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
+ SEFluidCircuitPath& RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightSuperiorLobeApicalPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightSuperiorLobePosteriorPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightSuperiorLobeAnteriorPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightMiddleLobeLateralPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightMiddleLobeMedialPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightInferiorLobeSuperiorPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightInferiorLobeMedialBasalPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightInferiorLobeAnteriorBasalPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightInferiorLobeLateralBasalPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightInferiorLobePosteriorBasalPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1);
+
+ SEFluidCircuitPath& LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftInferiorLobePosteriorBasalPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1);
+ SEFluidCircuitPath& LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftInferiorLobeLateralBasalPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1);
+ SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1);
+ SEFluidCircuitPath& LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftInferiorLobeSuperiorPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1);
+ SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1);
+ SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1);
+ SEFluidCircuitPath& LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftSuperiorLobeAnteriorPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1);
+ SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1);
+
+ SEFluidCircuitPath& RightSuperiorLobeApicalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightSuperiorLobeApicalPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightSuperiorLobePosteriorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightSuperiorLobePosteriorPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightSuperiorLobeAnteriorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightSuperiorLobeAnteriorPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightMiddleLobeLateralPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightMiddleLobeLateralPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightMiddleLobeMedialPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightMiddleLobeMedialPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightInferiorLobeSuperiorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightInferiorLobeSuperiorPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightInferiorLobeMedialBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightInferiorLobeMedialBasalPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightInferiorLobeAnteriorBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightInferiorLobeAnteriorBasalPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightInferiorLobeLateralBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightInferiorLobeLateralBasalPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightInferiorLobePosteriorBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightInferiorLobePosteriorBasalPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToGround);
+
+ SEFluidCircuitPath& LeftInferiorLobePosteriorBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftInferiorLobePosteriorBasalPulmonaryCapillaries, Ground, pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& LeftInferiorLobeLateralBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftInferiorLobeLateralBasalPulmonaryCapillaries, Ground, pulse::CardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries, Ground, pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& LeftInferiorLobeSuperiorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftInferiorLobeSuperiorPulmonaryCapillaries, Ground, pulse::CardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries, Ground, pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries, Ground, pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& LeftSuperiorLobeAnteriorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftSuperiorLobeAnteriorPulmonaryCapillaries, Ground, pulse::CardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries, Ground, pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToGround);
+
+ RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceRightSuperiorLobeApicalPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceRightSuperiorLobePosteriorPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightPulmonaryArteries1ToRightSuperiorLobeAnteriorPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceRightSuperiorLobeAnteriorPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightPulmonaryArteries1ToRightMiddleLobeLateralPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceRightMiddleLobeLateralPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightPulmonaryArteries1ToRightMiddleLobeMedialPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceRightMiddleLobeMedialPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightPulmonaryArteries1ToRightInferiorLobeSuperiorPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceRightInferiorLobeSuperiorPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightPulmonaryArteries1ToRightInferiorLobeMedialBasalPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceRightInferiorLobeMedialBasalPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightPulmonaryArteries1ToRightInferiorLobeAnteriorBasalPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceRightInferiorLobeAnteriorBasalPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightPulmonaryArteries1ToRightInferiorLobeLateralBasalPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceRightInferiorLobeLateralBasalPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightPulmonaryArteries1ToRightInferiorLobePosteriorBasalPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceRightInferiorLobePosteriorBasalPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+
+ LeftPulmonaryArteries1ToLeftInferiorLobePosteriorBasalPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceLeftInferiorLobePosteriorBasalPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftPulmonaryArteries1ToLeftInferiorLobeLateralBasalPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceLeftInferiorLobeLateralBasalPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftPulmonaryArteries1ToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftPulmonaryArteries1ToLeftInferiorLobeSuperiorPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceLeftInferiorLobeSuperiorPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftPulmonaryArteries1ToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftPulmonaryArteries1ToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftPulmonaryArteries1ToLeftSuperiorLobeAnteriorPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceLeftSuperiorLobeAnteriorPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftPulmonaryArteries1ToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceLeftSuperiorLobeApicoposteriorPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+
+ RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceRightSuperiorLobeApicalPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceRightSuperiorLobePosteriorPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceRightSuperiorLobeAnteriorPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceRightMiddleLobeLateralPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceRightMiddleLobeMedialPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceRightInferiorLobeSuperiorPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceRightInferiorLobeMedialBasalPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceRightInferiorLobeAnteriorBasalPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceRightInferiorLobeLateralBasalPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceRightInferiorLobePosteriorBasalPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+
+ LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceLeftInferiorLobePosteriorBasalPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceLeftInferiorLobeLateralBasalPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceLeftInferiorLobeAnteromedialBasalPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceLeftInferiorLobeSuperiorPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceLeftSuperiorLobeInferiorLingulaPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceLeftSuperiorLobeSuperiorLingulaPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceLeftSuperiorLobeAnteriorPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceLeftSuperiorLobeApicoposteriorPulmonaryVeins, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+
+ RightSuperiorLobeApicalPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ RightSuperiorLobePosteriorPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ RightSuperiorLobeAnteriorPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ RightMiddleLobeLateralPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ RightMiddleLobeMedialPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ RightInferiorLobeSuperiorPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ RightInferiorLobeMedialBasalPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ RightInferiorLobeAnteriorBasalPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ RightInferiorLobeLateralBasalPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ RightInferiorLobePosteriorBasalPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+
+ LeftInferiorLobePosteriorBasalPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ LeftInferiorLobeLateralBasalPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ LeftInferiorLobeSuperiorPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ LeftSuperiorLobeAnteriorPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+ LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
+
+ //Shunts
+ SEFluidCircuitPath& RightSuperiorLobeApicalShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightSuperiorLobeApicalShunt);
+ SEFluidCircuitPath& RightSuperiorLobePosteriorShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightSuperiorLobePosteriorShunt);
+ SEFluidCircuitPath& RightSuperiorLobeAnteriorShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightSuperiorLobeAnteriorShunt);
+ SEFluidCircuitPath& RightMiddleLobeLateralShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightMiddleLobeLateralShunt);
+ SEFluidCircuitPath& RightMiddleLobeMedialShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightMiddleLobeMedialShunt);
+ SEFluidCircuitPath& RightInferiorLobeSuperiorShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobeSuperiorShunt);
+ SEFluidCircuitPath& RightInferiorLobeMedialBasalShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobeMedialBasalShunt);
+ SEFluidCircuitPath& RightInferiorLobeAnteriorBasalShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalShunt);
+ SEFluidCircuitPath& RightInferiorLobeLateralBasalShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobeLateralBasalShunt);
+ SEFluidCircuitPath& RightInferiorLobePosteriorBasalShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobePosteriorBasalShunt);
+
+ SEFluidCircuitPath& LeftInferiorLobePosteriorBasalShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalShunt);
+ SEFluidCircuitPath& LeftInferiorLobeLateralBasalShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftInferiorLobeLateralBasalShunt);
+ SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalShunt);
+ SEFluidCircuitPath& LeftInferiorLobeSuperiorShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftInferiorLobeSuperiorShunt);
+ SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaShunt);
+ SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaShunt);
+ SEFluidCircuitPath& LeftSuperiorLobeAnteriorShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftSuperiorLobeAnteriorShunt);
+ SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorShunt);
+
+ RightSuperiorLobeApicalShunt.GetResistanceBaseline().SetValue(10.0 * ResistanceShuntRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightSuperiorLobePosteriorShunt.GetResistanceBaseline().SetValue(10.0 * ResistanceShuntRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightSuperiorLobeAnteriorShunt.GetResistanceBaseline().SetValue(10.0 * ResistanceShuntRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightMiddleLobeLateralShunt.GetResistanceBaseline().SetValue(10.0 * ResistanceShuntRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightMiddleLobeMedialShunt.GetResistanceBaseline().SetValue(10.0 * ResistanceShuntRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightInferiorLobeSuperiorShunt.GetResistanceBaseline().SetValue(10.0 * ResistanceShuntRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightInferiorLobeMedialBasalShunt.GetResistanceBaseline().SetValue(10.0 * ResistanceShuntRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightInferiorLobeAnteriorBasalShunt.GetResistanceBaseline().SetValue(10.0 * ResistanceShuntRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightInferiorLobeLateralBasalShunt.GetResistanceBaseline().SetValue(10.0 * ResistanceShuntRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ RightInferiorLobePosteriorBasalShunt.GetResistanceBaseline().SetValue(10.0 * ResistanceShuntRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+
+ LeftInferiorLobePosteriorBasalShunt.GetResistanceBaseline().SetValue(8.0 * ResistanceShuntLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftInferiorLobeLateralBasalShunt.GetResistanceBaseline().SetValue(8.0 * ResistanceShuntLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftInferiorLobeAnteromedialBasalShunt.GetResistanceBaseline().SetValue(8.0 * ResistanceShuntLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftInferiorLobeSuperiorShunt.GetResistanceBaseline().SetValue(8.0 * ResistanceShuntLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftSuperiorLobeInferiorLingulaShunt.GetResistanceBaseline().SetValue(8.0 * ResistanceShuntLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftSuperiorLobeSuperiorLingulaShunt.GetResistanceBaseline().SetValue(8.0 * ResistanceShuntLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftSuperiorLobeAnteriorShunt.GetResistanceBaseline().SetValue(8.0 * ResistanceShuntLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+ LeftSuperiorLobeApicoposteriorShunt.GetResistanceBaseline().SetValue(8.0 * ResistanceShuntLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
+
+ // Compute compliances from target pressures and baseline volumes
+ for (SEFluidCircuitPath* p : cCardiovascular.GetPaths())
+ {
+ if (p->HasComplianceBaseline())
+ {
+ SEFluidCircuitNode& src = p->GetSourceNode();
+ if (!src.HasVolumeBaseline())
+ Fatal("Compliance paths must have a volume baseline.");
+ double pressure = src.GetPressure(PressureUnit::mmHg);
+ double volume = src.GetVolumeBaseline(VolumeUnit::mL);
+ p->GetComplianceBaseline().SetValue(volume / pressure, VolumePerPressureUnit::mL_Per_mmHg);
+ }
+ }
+
+ // Calibrate compliance for expanded components
+ RightSuperiorLobeApicalPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(RightSuperiorLobeApicalPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+ RightSuperiorLobePosteriorPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(RightSuperiorLobePosteriorPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+ RightSuperiorLobeAnteriorPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(RightSuperiorLobeAnteriorPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+ RightMiddleLobeLateralPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(RightMiddleLobeLateralPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+ RightMiddleLobeMedialPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(RightMiddleLobeMedialPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+ RightInferiorLobeSuperiorPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(RightInferiorLobeSuperiorPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+ RightInferiorLobeMedialBasalPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(RightInferiorLobeMedialBasalPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+ RightInferiorLobeAnteriorBasalPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(RightInferiorLobeAnteriorBasalPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+ RightInferiorLobeLateralBasalPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(RightInferiorLobeLateralBasalPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+ RightInferiorLobePosteriorBasalPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(RightInferiorLobePosteriorBasalPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+
+ LeftInferiorLobePosteriorBasalPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(LeftInferiorLobePosteriorBasalPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+ LeftInferiorLobeLateralBasalPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(LeftInferiorLobeLateralBasalPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+ LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+ LeftInferiorLobeSuperiorPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(LeftInferiorLobeSuperiorPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+ LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+ LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+ LeftSuperiorLobeAnteriorPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(LeftSuperiorLobeAnteriorPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+ LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToGround.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg) * expandedPulmonaryCapillariesComplianceModifier, VolumePerPressureUnit::mL_Per_mmHg);
+
+ // Calibrate volume for expanded components
+ RightSuperiorLobeApicalPulmonaryCapillaries.GetVolumeBaseline().SetValue(RightSuperiorLobeApicalPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryRightCapillariesVolumeModifier, VolumeUnit::mL);
+ RightSuperiorLobePosteriorPulmonaryCapillaries.GetVolumeBaseline().SetValue(RightSuperiorLobePosteriorPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryRightCapillariesVolumeModifier, VolumeUnit::mL);
+ RightSuperiorLobeAnteriorPulmonaryCapillaries.GetVolumeBaseline().SetValue(RightSuperiorLobeAnteriorPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryRightCapillariesVolumeModifier, VolumeUnit::mL);
+ RightMiddleLobeLateralPulmonaryCapillaries.GetVolumeBaseline().SetValue(RightMiddleLobeLateralPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryRightCapillariesVolumeModifier, VolumeUnit::mL);
+ RightMiddleLobeMedialPulmonaryCapillaries.GetVolumeBaseline().SetValue(RightMiddleLobeMedialPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryRightCapillariesVolumeModifier, VolumeUnit::mL);
+ RightInferiorLobeSuperiorPulmonaryCapillaries.GetVolumeBaseline().SetValue(RightInferiorLobeSuperiorPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryRightCapillariesVolumeModifier, VolumeUnit::mL);
+ RightInferiorLobeMedialBasalPulmonaryCapillaries.GetVolumeBaseline().SetValue(RightInferiorLobeMedialBasalPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryRightCapillariesVolumeModifier, VolumeUnit::mL);
+ RightInferiorLobeAnteriorBasalPulmonaryCapillaries.GetVolumeBaseline().SetValue(RightInferiorLobeAnteriorBasalPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryRightCapillariesVolumeModifier, VolumeUnit::mL);
+ RightInferiorLobeLateralBasalPulmonaryCapillaries.GetVolumeBaseline().SetValue(RightInferiorLobeLateralBasalPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryRightCapillariesVolumeModifier, VolumeUnit::mL);
+ RightInferiorLobePosteriorBasalPulmonaryCapillaries.GetVolumeBaseline().SetValue(RightInferiorLobePosteriorBasalPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryRightCapillariesVolumeModifier, VolumeUnit::mL);
+
+ LeftInferiorLobePosteriorBasalPulmonaryCapillaries.GetVolumeBaseline().SetValue(LeftInferiorLobePosteriorBasalPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryLeftCapillariesVolumeModifier, VolumeUnit::mL);
+ LeftInferiorLobeLateralBasalPulmonaryCapillaries.GetVolumeBaseline().SetValue(LeftInferiorLobeLateralBasalPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryLeftCapillariesVolumeModifier, VolumeUnit::mL);
+ LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries.GetVolumeBaseline().SetValue(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryLeftCapillariesVolumeModifier, VolumeUnit::mL);
+ LeftInferiorLobeSuperiorPulmonaryCapillaries.GetVolumeBaseline().SetValue(LeftInferiorLobeSuperiorPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryLeftCapillariesVolumeModifier, VolumeUnit::mL);
+ LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries.GetVolumeBaseline().SetValue(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryLeftCapillariesVolumeModifier, VolumeUnit::mL);
+ LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries.GetVolumeBaseline().SetValue(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryLeftCapillariesVolumeModifier, VolumeUnit::mL);
+ LeftSuperiorLobeAnteriorPulmonaryCapillaries.GetVolumeBaseline().SetValue(LeftSuperiorLobeAnteriorPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryLeftCapillariesVolumeModifier, VolumeUnit::mL);
+ LeftSuperiorLobeApicoposteriorPulmonaryCapillaries.GetVolumeBaseline().SetValue(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries.GetVolumeBaseline(VolumeUnit::mL) * expandedPulmonaryLeftCapillariesVolumeModifier, VolumeUnit::mL);
+
+ // Hearts and pericardium have special compliance computations
+ double InitialComplianceHeartRight = 1.0 / 0.0243;
+ double InitialComplianceHeartLeft = 1.0 / 0.049;
+ // Volumes are initialized from the volume baselines. The heart volume initialization is a little tricky. To much prime and the
+ // initial pressure wave will be devastating to the rest of the CV system during the first contraction phase. Too little prime
+ // and there will be issues with available flow as the elastance decreases during the first relaxation phase.
+ // The 1/4 full initialization gives decent results.
+ RightHeart1ToRightHeart3.GetComplianceBaseline().SetValue(InitialComplianceHeartRight, VolumePerPressureUnit::mL_Per_mmHg);
+ LeftHeart1ToLeftHeart3.GetComplianceBaseline().SetValue(InitialComplianceHeartLeft, VolumePerPressureUnit::mL_Per_mmHg);
+ PericardiumToGround.GetComplianceBaseline().SetValue(100.0, VolumePerPressureUnit::mL_Per_mmHg);
+
+ //Make these polarized, so chest compression can't give a negative volume
+ RightHeart1ToRightHeart3.SetNextPolarizedState(eGate::Closed);
+ LeftHeart1ToLeftHeart3.SetNextPolarizedState(eGate::Closed);
+
+ double VolumeModifierAorta = 1.16722 * 1.018749, VolumeModifierBrain = 0.998011 * 1.038409, VolumeModifierBone = 1.175574 * 0.985629, VolumeModifierFat = 1.175573 * 0.986527;
+ double VolumeModifierLargeIntestine = 1.17528 * 0.985609, VolumeModifierArmL = 1.175573 * 0.986529, VolumeModifierKidneyL = 0.737649 * 0.954339, VolumeModifierLegL = 1.175573 * 0.986529;
+ double VolumeModifierPulmArtL = 0.855566 * 1.095697, VolumeModifierPulmCapL = 0.724704 * 1.079139, VolumeModifierPulmVeinL = 0.548452 * 1.056844 * 1.062, VolumeModifierLiver = 1.157475 * 0.991848;
+ double VolumeModifierMuscle = 1.175573 * 0.986529, VolumeModifierMyocard = 1.175564 * 0.986531, VolumeModifierArmR = 1.175573 * 0.986529, VolumeModifierKidneyR = 0.737649 * 0.954339;
+ double VolumeModifierLegR = 1.175573 * 0.986529, VolumeModifierPulmArtR = 0.756158 * 1.121167, VolumeModifierPulmCapR = 0.602545 * 1.118213, VolumeModifierPulmVeinR = 0.395656 * 1.11424 * 1.11;
+ double VolumeModifierSkin = 1.007306 * 1.035695, VolumeModifierSmallIntestine = 1.17528 * 0.986509, VolumeModifierSplanchnic = 1.17528 * 0.986509, VolumeModifierSpleen = 1.17528 * 0.986509;
+ double VolumeModifierVenaCava = 0.66932 * 1.134447;
+
+ //And also modify the compliances
+ Aorta1ToAorta4.GetComplianceBaseline().SetValue(largeArteriesComplianceModifier * Aorta1ToAorta4.GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg), VolumePerPressureUnit::mL_Per_mmHg);
+
+ //For Internal Hemorrhage
+ AbdominalCavityToGround.GetComplianceBaseline().SetValue(100.0, VolumePerPressureUnit::mL_Per_mmHg);
+
+ RightPulmonaryArteries1.GetVolumeBaseline().SetValue(VolumeModifierPulmArtR * RightPulmonaryArteries1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ LeftPulmonaryArteries1.GetVolumeBaseline().SetValue(VolumeModifierPulmArtL * LeftPulmonaryArteries1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ //RightPulmonaryCapillaries1.GetVolumeBaseline().SetValue(VolumeModifierPulmCapR * RightPulmonaryCapillaries1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ //LeftPulmonaryCapillaries1.GetVolumeBaseline().SetValue(VolumeModifierPulmCapL * LeftPulmonaryCapillaries1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ RightPulmonaryVeins1.GetVolumeBaseline().SetValue(VolumeModifierPulmVeinR * RightPulmonaryVeins1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ LeftPulmonaryVeins1.GetVolumeBaseline().SetValue(VolumeModifierPulmVeinL * LeftPulmonaryVeins1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ Aorta1.GetVolumeBaseline().SetValue(VolumeModifierAorta * Aorta1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ Brain1.GetVolumeBaseline().SetValue(VolumeModifierBrain * Brain1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ Bone1.GetVolumeBaseline().SetValue(VolumeModifierBone * Bone1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ Fat1.GetVolumeBaseline().SetValue(VolumeModifierFat * Fat1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ LargeIntestine1.GetVolumeBaseline().SetValue(VolumeModifierLargeIntestine * LargeIntestine1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ Liver1.GetVolumeBaseline().SetValue(VolumeModifierLiver * Liver1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ LeftArm1.GetVolumeBaseline().SetValue(VolumeModifierArmL * LeftArm1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ LeftKidney1.GetVolumeBaseline().SetValue(VolumeModifierKidneyL * LeftKidney1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ LeftLeg1.GetVolumeBaseline().SetValue(VolumeModifierLegL * LeftLeg1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ Muscle1.GetVolumeBaseline().SetValue(VolumeModifierMuscle * Muscle1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ Myocardium1.GetVolumeBaseline().SetValue(VolumeModifierMyocard * Myocardium1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ RightArm1.GetVolumeBaseline().SetValue(VolumeModifierArmR * RightArm1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ RightKidney1.GetVolumeBaseline().SetValue(VolumeModifierKidneyR * RightKidney1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ RightLeg1.GetVolumeBaseline().SetValue(VolumeModifierLegR * RightLeg1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ Skin1.GetVolumeBaseline().SetValue(VolumeModifierSkin * Skin1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ SmallIntestine1.GetVolumeBaseline().SetValue(VolumeModifierSmallIntestine * SmallIntestine1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ Splanchnic1.GetVolumeBaseline().SetValue(VolumeModifierSplanchnic * Splanchnic1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ Spleen1.GetVolumeBaseline().SetValue(VolumeModifierSpleen * Spleen1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+ VenaCava1.GetVolumeBaseline().SetValue(VolumeModifierVenaCava * VenaCava1.GetVolumeBaseline(VolumeUnit::mL), VolumeUnit::mL);
+
+ // Prepare circuit for compartment creation
+ cCardiovascular.SetNextAndCurrentFromBaselines();
+ cCardiovascular.StateChange();
+
+ SEFluidCircuit& cCombinedCardiovascular = m_Circuits->GetActiveCardiovascularCircuit();
+ cCombinedCardiovascular.AddCircuit(cCardiovascular);
+ cCombinedCardiovascular.SetNextAndCurrentFromBaselines();
+ cCombinedCardiovascular.StateChange();
+
+ /////////////////////////
+ // Create Compartments //
+ /////////////////////////
+
+ /////////////////
+ // Right Heart //
+ SELiquidCompartment& vRightHeart = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightHeart);
+ vRightHeart.MapNode(RightHeart1);
+ vRightHeart.MapNode(RightHeart2);
+ vRightHeart.MapNode(RightHeart3);
+ vRightHeart.MapNode(MainPulmonaryArteries1);
+ //////////////////////////////
+ // Right Pulmonary Arteries //
+ SELiquidCompartment& vRightPulmonaryArteries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightPulmonaryArteries);
+ vRightPulmonaryArteries.MapNode(RightPulmonaryArteries1);
+ vRightPulmonaryArteries.MapNode(RightIntermediatePulmonaryArteries1);
+ /////////////////////////////
+ // Left Pulmonary Arteries //
+ SELiquidCompartment& vLeftPulmonaryArteries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftPulmonaryArteries);
+ vLeftPulmonaryArteries.MapNode(LeftPulmonaryArteries1);
+ vLeftPulmonaryArteries.MapNode(LeftIntermediatePulmonaryArteries1);
+ ////////////////////////
+ // Pulmonary Arteries //
+ SELiquidCompartment& vPulmonaryArteries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::PulmonaryArteries);
+ vPulmonaryArteries.AddChild(vRightPulmonaryArteries);
+ vPulmonaryArteries.AddChild(vLeftPulmonaryArteries);
+ /////////////////////////////////
+ // Right Pulmonary Capillaries //
+ //SELiquidCompartment& vRightPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightPulmonaryCapillaries);
+ //vRightPulmonaryCapillaries.MapNode(RightPulmonaryCapillaries1);
+ ////////////////////////////////
+ // Left Pulmonary Capillaries //
+ //SELiquidCompartment& vLeftPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftPulmonaryCapillaries);
+ //vLeftPulmonaryCapillaries.MapNode(LeftPulmonaryCapillaries1);
+ ///////////////////////////
+ // Pulmonary Capillaries //
+ //SELiquidCompartment& vPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::PulmonaryCapillaries);
+ //vPulmonaryCapillaries.AddChild(vRightPulmonaryCapillaries);
+ //vPulmonaryCapillaries.AddChild(vLeftPulmonaryCapillaries);
+ ///////////////////////////
+ // Right Pulmonary Veins //
+ SELiquidCompartment& vRightPulmonaryVeins = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightPulmonaryVeins);
+ vRightPulmonaryVeins.MapNode(RightPulmonaryVeins1);
+ //////////////////////////
+ // Left Pulmonary Veins //
+ SELiquidCompartment& vLeftPulmonaryVeins = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftPulmonaryVeins);
+ vLeftPulmonaryVeins.MapNode(LeftPulmonaryVeins1);
+ /////////////////////
+ // Pulmonary Veins //
+ SELiquidCompartment& vPulmonaryVeins = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::PulmonaryVeins);
+ vPulmonaryVeins.AddChild(vRightPulmonaryVeins);
+ vPulmonaryVeins.AddChild(vLeftPulmonaryVeins);
+ ////////////////
+ // Left Heart //
+ SELiquidCompartment& vLeftHeart = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftHeart);
+ vLeftHeart.MapNode(LeftHeart1);
+ vLeftHeart.MapNode(LeftHeart2);
+ vLeftHeart.MapNode(LeftHeart3);
+ ///////////
+ // Aorta //
+ SELiquidCompartment& vAorta = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Aorta);
+ vAorta.MapNode(Aorta1);
+ vAorta.MapNode(Aorta2);
+ vAorta.MapNode(Aorta3);
+ vAorta.MapNode(Aorta4);
+ ///////////
+ // Abdominal Cavity //
+ SELiquidCompartment& vAbdominalCavity = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::AbdominalCavity);
+ vAbdominalCavity.MapNode(AbdominalCavity);
+ // Brain //
+ SELiquidCompartment& vBrain = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Brain);
+ vBrain.MapNode(Brain1);
+ vBrain.MapNode(Brain2);
+ //////////
+ // Bone //
+ SELiquidCompartment& vBone = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Bone);
+ vBone.MapNode(Bone1);
+ vBone.MapNode(Bone2);
+ /////////
+ // Fat //
+ SELiquidCompartment& vFat = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Fat);
+ vFat.MapNode(Fat1);
+ vFat.MapNode(Fat2);
+ /////////////////////
+ // Large Intestine //
+ SELiquidCompartment& vLargeIntestine = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LargeIntestine);
+ vLargeIntestine.MapNode(LargeIntestine1);
+ ///////////
+ // Liver //
+ SELiquidCompartment& vLiver = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Liver);
+ vLiver.MapNode(Liver1);
+ vLiver.MapNode(Liver2);
+ vLiver.MapNode(PortalVein1);
+ //////////////
+ // Left Arm //
+ SELiquidCompartment& vLeftArm = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftArm);
+ vLeftArm.MapNode(LeftArm1);
+ vLeftArm.MapNode(LeftArm2);
+ /////////////////
+ // Left Kidney //
+ SELiquidCompartment& vLeftKidney = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftKidney);
+ vLeftKidney.MapNode(LeftKidney1);
+ vLeftKidney.MapNode(LeftKidney2);
+ //////////////
+ // Left Leg //
+ SELiquidCompartment& vLeftLeg = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftLeg);
+ vLeftLeg.MapNode(LeftLeg1);
+ vLeftLeg.MapNode(LeftLeg2);
+ ////////////
+ // Muscle //
+ SELiquidCompartment& vMuscle = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Muscle);
+ vMuscle.MapNode(Muscle1);
+ vMuscle.MapNode(Muscle2);
+ ////////////////
+ // Myocardium //
+ SELiquidCompartment& vMyocardium = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Myocardium);
+ vMyocardium.MapNode(Myocardium1);
+ vMyocardium.MapNode(Myocardium2);
+ /////////////////
+ // Pericardium //
+ SELiquidCompartment& vPericardium = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Pericardium);
+ vPericardium.MapNode(Pericardium);
+ ///////////////
+ // Right Arm //
+ SELiquidCompartment& vRightArm = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightArm);
+ vRightArm.MapNode(RightArm1);
+ vRightArm.MapNode(RightArm2);
+ //////////////////
+ // Right Kidney //
+ SELiquidCompartment& vRightKidney = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightKidney);
+ vRightKidney.MapNode(RightKidney1);
+ vRightKidney.MapNode(RightKidney2);
+ ///////////////
+ // Right Leg //
+ SELiquidCompartment& vRightLeg = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightLeg);
+ vRightLeg.MapNode(RightLeg1);
+ vRightLeg.MapNode(RightLeg2);
+ //////////
+ // Skin //
+ SELiquidCompartment& vSkin = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Skin);
+ vSkin.MapNode(Skin1);
+ vSkin.MapNode(Skin2);
+ /////////////////////
+ // Small Intestine //
+ SELiquidCompartment& vSmallIntestine = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::SmallIntestine);
+ vSmallIntestine.MapNode(SmallIntestine1);
+ ////////////////
+ // Splanchnic //
+ SELiquidCompartment& vSplanchnic = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Splanchnic);
+ vSplanchnic.MapNode(Splanchnic1);
+ ////////////
+ // Spleen //
+ SELiquidCompartment& vSpleen = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Spleen);
+ vSpleen.MapNode(Spleen1);
+ //////////////
+ // VenaCava //
+ SELiquidCompartment& vVenaCava = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::VenaCava);
+ vVenaCava.MapNode(VenaCava1);
+ ////////////
+ // Ground //
+ SELiquidCompartment& vGround = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Ground);
+ vGround.MapNode(Ground);
+
+ SELiquidCompartment& vRightSuperiorLobeApicalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightSuperiorLobeApicalPulmonaryCapillaries);
+ SELiquidCompartment& vRightSuperiorLobePosteriorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightSuperiorLobePosteriorPulmonaryCapillaries);
+ SELiquidCompartment& vRightSuperiorLobeAnteriorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightSuperiorLobeAnteriorPulmonaryCapillaries);
+ SELiquidCompartment& vRightMiddleLobeLateralPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightMiddleLobeLateralPulmonaryCapillaries);
+ SELiquidCompartment& vRightMiddleLobeMedialPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightMiddleLobeMedialPulmonaryCapillaries);
+ SELiquidCompartment& vRightInferiorLobeSuperiorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightInferiorLobeSuperiorPulmonaryCapillaries);
+ SELiquidCompartment& vRightInferiorLobeMedialBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightInferiorLobeMedialBasalPulmonaryCapillaries);
+ SELiquidCompartment& vRightInferiorLobeAnteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ SELiquidCompartment& vRightInferiorLobeLateralBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightInferiorLobeLateralBasalPulmonaryCapillaries);
+ SELiquidCompartment& vRightInferiorLobePosteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ SELiquidCompartment& vLeftInferiorLobePosteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ SELiquidCompartment& vLeftInferiorLobeLateralBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ SELiquidCompartment& vLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ SELiquidCompartment& vLeftInferiorLobeSuperiorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftInferiorLobeSuperiorPulmonaryCapillaries);
+ SELiquidCompartment& vLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ SELiquidCompartment& vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ SELiquidCompartment& vLeftSuperiorLobeAnteriorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ SELiquidCompartment& vLeftSuperiorLobeApicoposteriorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
+ vRightSuperiorLobeApicalPulmonaryCapillaries.MapNode(RightSuperiorLobeApicalPulmonaryCapillaries);
+ vRightSuperiorLobePosteriorPulmonaryCapillaries.MapNode(RightSuperiorLobePosteriorPulmonaryCapillaries);
+ vRightSuperiorLobeAnteriorPulmonaryCapillaries.MapNode(RightSuperiorLobeAnteriorPulmonaryCapillaries);
+ vRightMiddleLobeLateralPulmonaryCapillaries.MapNode(RightMiddleLobeLateralPulmonaryCapillaries);
+ vRightMiddleLobeMedialPulmonaryCapillaries.MapNode(RightMiddleLobeMedialPulmonaryCapillaries);
+ vRightInferiorLobeSuperiorPulmonaryCapillaries.MapNode(RightInferiorLobeSuperiorPulmonaryCapillaries);
+ vRightInferiorLobeMedialBasalPulmonaryCapillaries.MapNode(RightInferiorLobeMedialBasalPulmonaryCapillaries);
+ vRightInferiorLobeAnteriorBasalPulmonaryCapillaries.MapNode(RightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ vRightInferiorLobeLateralBasalPulmonaryCapillaries.MapNode(RightInferiorLobeLateralBasalPulmonaryCapillaries);
+ vRightInferiorLobePosteriorBasalPulmonaryCapillaries.MapNode(RightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ vLeftInferiorLobePosteriorBasalPulmonaryCapillaries.MapNode(LeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ vLeftInferiorLobeLateralBasalPulmonaryCapillaries.MapNode(LeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ vLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries.MapNode(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ vLeftInferiorLobeSuperiorPulmonaryCapillaries.MapNode(LeftInferiorLobeSuperiorPulmonaryCapillaries);
+ vLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries.MapNode(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries.MapNode(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ vLeftSuperiorLobeAnteriorPulmonaryCapillaries.MapNode(LeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ vLeftSuperiorLobeApicoposteriorPulmonaryCapillaries.MapNode(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
+ //////////////////////////
+ // Set up our hierarchy //
+ //////////////////////////
+ SELiquidCompartment& vRightPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightPulmonaryCapillaries);
+ SELiquidCompartment& vLeftPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftPulmonaryCapillaries);
+
+ vRightPulmonaryCapillaries.AddChild(vRightSuperiorLobeApicalPulmonaryCapillaries);
+ vRightPulmonaryCapillaries.AddChild(vRightSuperiorLobePosteriorPulmonaryCapillaries);
+ vRightPulmonaryCapillaries.AddChild(vRightSuperiorLobeAnteriorPulmonaryCapillaries);
+ vRightPulmonaryCapillaries.AddChild(vRightMiddleLobeLateralPulmonaryCapillaries);
+ vRightPulmonaryCapillaries.AddChild(vRightMiddleLobeMedialPulmonaryCapillaries);
+ vRightPulmonaryCapillaries.AddChild(vRightInferiorLobeSuperiorPulmonaryCapillaries);
+ vRightPulmonaryCapillaries.AddChild(vRightInferiorLobeMedialBasalPulmonaryCapillaries);
+ vRightPulmonaryCapillaries.AddChild(vRightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ vRightPulmonaryCapillaries.AddChild(vRightInferiorLobeLateralBasalPulmonaryCapillaries);
+ vRightPulmonaryCapillaries.AddChild(vRightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ vLeftPulmonaryCapillaries.AddChild(vLeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ vLeftPulmonaryCapillaries.AddChild(vLeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ vLeftPulmonaryCapillaries.AddChild(vLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ vLeftPulmonaryCapillaries.AddChild(vLeftInferiorLobeSuperiorPulmonaryCapillaries);
+ vLeftPulmonaryCapillaries.AddChild(vLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ vLeftPulmonaryCapillaries.AddChild(vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ vLeftPulmonaryCapillaries.AddChild(vLeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ vLeftPulmonaryCapillaries.AddChild(vLeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
+ SELiquidCompartment& vPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::PulmonaryCapillaries);
+ vPulmonaryCapillaries.AddChild(vRightPulmonaryCapillaries);
+ vPulmonaryCapillaries.AddChild(vLeftPulmonaryCapillaries);
+
+ SELiquidCompartment& vKidneys = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Kidneys);
+ vKidneys.AddChild(vLeftKidney);
+ vKidneys.AddChild(vRightKidney);
+ SELiquidCompartment& vHeart = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Heart);
+ vHeart.AddChild(vMyocardium);
+ vHeart.AddChild(vLeftHeart);
+ vHeart.AddChild(vRightHeart);
+ vHeart.AddChild(vPericardium);
+ SELiquidCompartment& vLeftLung = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftLung);
+ vLeftLung.AddChild(vLeftPulmonaryArteries);
+ vLeftLung.AddChild(vLeftPulmonaryCapillaries);
+ vLeftLung.AddChild(vLeftPulmonaryVeins);
+ SELiquidCompartment& vRightLung = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightLung);
+ vRightLung.AddChild(vRightPulmonaryArteries);
+ vRightLung.AddChild(vRightPulmonaryCapillaries);
+ vRightLung.AddChild(vRightPulmonaryVeins);
+ SELiquidCompartment& vLungs = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Lungs);
+ vLungs.AddChild(vLeftLung);
+ vLungs.AddChild(vRightLung);
+ SELiquidCompartment& vGut = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Gut);
+ vGut.AddChild(vSplanchnic);
+ vGut.AddChild(vSmallIntestine);
+ vGut.AddChild(vLargeIntestine);
+ SELiquidCompartment& vAbdomen = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Abdomen);
+ vAbdomen.AddChild(vSplanchnic);
+ vAbdomen.AddChild(vSmallIntestine);
+ vAbdomen.AddChild(vLargeIntestine);
+ vAbdomen.AddChild(vLeftKidney);
+ vAbdomen.AddChild(vRightKidney);
+ vAbdomen.AddChild(vSpleen);
+ vAbdomen.AddChild(vLiver);
+ vAbdomen.AddChild(vVenaCava);
+ vAbdomen.AddChild(vAorta);
+ vAbdomen.AddChild(vAbdominalCavity);
+
+
+ //////////////////
+ // Create Links //
+ //////////////////
+
+ /////////////////////
+ // Heart and Lungs //
+ SELiquidCompartmentLink& vVenaCavaToRightHeart = m_Compartments->CreateLiquidLink(vVenaCava, vRightHeart, pulse::VascularLink::VenaCavaToRightHeart);
+ vVenaCavaToRightHeart.MapPath(VenaCava1ToRightHeart2);
+ SELiquidCompartmentLink& vRightHeartToLeftPulmonaryArteries = m_Compartments->CreateLiquidLink(vRightHeart, vLeftPulmonaryArteries, pulse::VascularLink::RightHeartToLeftPulmonaryArteries);
+ vRightHeartToLeftPulmonaryArteries.MapPath(MainPulmonaryArteries1ToLeftIntermediatePulmonaryArteries1);
+ //SELiquidCompartmentLink& vLeftPulmonaryArteriesToCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToCapillaries);
+ //vLeftPulmonaryArteriesToCapillaries.MapPath(LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1);
+ //SELiquidCompartmentLink& vLeftPulmonaryArteriesToVeins = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftPulmonaryArteriesToVeins);
+ //vLeftPulmonaryArteriesToVeins.MapPath(LeftPulmonaryArteries1ToLeftPulmonaryVeins1);
+ //SELiquidCompartmentLink& vLeftPulmonaryCapillariesToVeins = m_Compartments->CreateLiquidLink(vLeftPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftPulmonaryCapillariesToVeins);
+ //vLeftPulmonaryCapillariesToVeins.MapPath(LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1);
+ SELiquidCompartmentLink& vLeftPulmonaryVeinsToLeftHeart = m_Compartments->CreateLiquidLink(vLeftPulmonaryVeins, vLeftHeart, pulse::VascularLink::LeftPulmonaryVeinsToLeftHeart);
+ vLeftPulmonaryVeinsToLeftHeart.MapPath(LeftIntermediatePulmonaryVeins1ToLeftHeart2);
+ SELiquidCompartmentLink& vRightHeartToRightPulmonaryArteries = m_Compartments->CreateLiquidLink(vRightHeart, vRightPulmonaryArteries, pulse::VascularLink::RightHeartToRightPulmonaryArteries);
+ vRightHeartToRightPulmonaryArteries.MapPath(MainPulmonaryArteries1ToRightIntermediatePulmonaryArteries1);
+ //SELiquidCompartmentLink& vRightPulmonaryArteriesToCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToCapillaries);
+ //vRightPulmonaryArteriesToCapillaries.MapPath(RightPulmonaryArteries1ToRightPulmonaryCapillaries1);
+ //SELiquidCompartmentLink& vRightPulmonaryArteriesToVeins = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightPulmonaryVeins, pulse::VascularLink::RightPulmonaryArteriesToVeins);
+ //vRightPulmonaryArteriesToVeins.MapPath(RightPulmonaryArteries1ToRightPulmonaryVeins1);
+ //SELiquidCompartmentLink& vRightPulmonaryCapillariesToVeins = m_Compartments->CreateLiquidLink(vRightPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightPulmonaryCapillariesToVeins);
+ //vRightPulmonaryCapillariesToVeins.MapPath(RightPulmonaryCapillaries1ToRightPulmonaryVeins1);
+ SELiquidCompartmentLink& vRightPulmonaryVeinsToLeftHeart = m_Compartments->CreateLiquidLink(vRightPulmonaryVeins, vLeftHeart, pulse::VascularLink::RightPulmonaryVeinsToLeftHeart);
+ vRightPulmonaryVeinsToLeftHeart.MapPath(RightIntermediatePulmonaryVeins1ToLeftHeart2);
+ SELiquidCompartmentLink& vLeftHeartToAorta = m_Compartments->CreateLiquidLink(vLeftHeart, vAorta, pulse::VascularLink::LeftHeartToAorta);
+ vLeftHeartToAorta.MapPath(LeftHeart1ToAorta2);
+ //////////
+ // Bone //
+ SELiquidCompartmentLink& vAortaToBone = m_Compartments->CreateLiquidLink(vAorta, vBone, pulse::VascularLink::AortaToBone);
+ vAortaToBone.MapPath(Aorta1ToBone1);
+ SELiquidCompartmentLink& vBoneToVenaCava = m_Compartments->CreateLiquidLink(vBone, vVenaCava, pulse::VascularLink::BoneToVenaCava);
+ vBoneToVenaCava.MapPath(Bone2ToVenaCava1);
+ ///////////
+ // Brain //
+ SELiquidCompartmentLink& vAortaToBrain = m_Compartments->CreateLiquidLink(vAorta, vBrain, pulse::VascularLink::AortaToBrain);
+ vAortaToBrain.MapPath(Aorta1ToBrain1);
+ SELiquidCompartmentLink& vBrainToVenaCava = m_Compartments->CreateLiquidLink(vBrain, vVenaCava, pulse::VascularLink::BrainToVenaCava);
+ vBrainToVenaCava.MapPath(Brain2ToVenaCava1);
+ /////////
+ // Fat //
+ SELiquidCompartmentLink& vAortaToFat = m_Compartments->CreateLiquidLink(vAorta, vFat, pulse::VascularLink::AortaToFat);
+ vAortaToFat.MapPath(Aorta1ToFat1);
+ SELiquidCompartmentLink& vFatToVenaCava = m_Compartments->CreateLiquidLink(vFat, vVenaCava, pulse::VascularLink::FatToVenaCava);
+ vFatToVenaCava.MapPath(Fat2ToVenaCava1);
+ /////////////////////
+ // Large Intestine //
+ SELiquidCompartmentLink& vAortaToLargeIntestine = m_Compartments->CreateLiquidLink(vAorta, vLargeIntestine, pulse::VascularLink::AortaToLargeIntestine);
+ vAortaToLargeIntestine.MapPath(Aorta1ToLargeIntestine1);
+ SELiquidCompartmentLink& vLargeIntestineToLiver = m_Compartments->CreateLiquidLink(vLargeIntestine, vLiver, pulse::VascularLink::LargeIntestineToLiver);
+ vLargeIntestineToLiver.MapPath(LargeIntestine1ToPortalVein1);
+ ///////////
+ // Liver //
+ SELiquidCompartmentLink& vAortaToLiver = m_Compartments->CreateLiquidLink(vAorta, vLiver, pulse::VascularLink::AortaToLiver);
+ vAortaToLiver.MapPath(Aorta1ToLiver1);
+ SELiquidCompartmentLink& vLiverToVenaCava = m_Compartments->CreateLiquidLink(vLiver, vVenaCava, pulse::VascularLink::LiverToVenaCava);
+ vLiverToVenaCava.MapPath(Liver2ToVenaCava1);
+ //////////////
+ // Left Arm //
+ SELiquidCompartmentLink& vAortaToLeftArm = m_Compartments->CreateLiquidLink(vAorta, vLeftArm, pulse::VascularLink::AortaToLeftArm);
+ vAortaToLeftArm.MapPath(Aorta1ToLeftArm1);
+ SELiquidCompartmentLink& vLeftArmToVenaCava = m_Compartments->CreateLiquidLink(vLeftArm, vVenaCava, pulse::VascularLink::LeftArmToVenaCava);
+ vLeftArmToVenaCava.MapPath(LeftArm2ToVenaCava1);
+ /////////////////
+ // Left Kidney //
+ SELiquidCompartmentLink& vAortaToLeftKidney = m_Compartments->CreateLiquidLink(vAorta, vLeftKidney, pulse::VascularLink::AortaToLeftKidney);
+ vAortaToLeftKidney.MapPath(Aorta1ToLeftKidney1);
+ SELiquidCompartmentLink& vLeftKidneyToVenaCava = m_Compartments->CreateLiquidLink(vLeftKidney, vVenaCava, pulse::VascularLink::LeftKidneyToVenaCava);
+ vLeftKidneyToVenaCava.MapPath(LeftKidney2ToVenaCava1);
+ //////////////
+ // Left Leg //
+ SELiquidCompartmentLink& vAortaToLeftLeg = m_Compartments->CreateLiquidLink(vAorta, vLeftLeg, pulse::VascularLink::AortaToLeftLeg);
+ vAortaToLeftLeg.MapPath(Aorta1ToLeftLeg1);
+ SELiquidCompartmentLink& vLeftLegToVenaCava = m_Compartments->CreateLiquidLink(vLeftLeg, vVenaCava, pulse::VascularLink::LeftLegToVenaCava);
+ vLeftLegToVenaCava.MapPath(LeftLeg2ToVenaCava1);
+ ////////////
+ // Muscle //
+ SELiquidCompartmentLink& vAortaToMuscle = m_Compartments->CreateLiquidLink(vAorta, vMuscle, pulse::VascularLink::AortaToMuscle);
+ vAortaToMuscle.MapPath(Aorta1ToMuscle1);
+ SELiquidCompartmentLink& vMuscleToVenaCava = m_Compartments->CreateLiquidLink(vMuscle, vVenaCava, pulse::VascularLink::MuscleToVenaCava);
+ vMuscleToVenaCava.MapPath(Muscle2ToVenaCava1);
+ ////////////////
+ // Myocardium //
+ SELiquidCompartmentLink& vAortaToMyocardium = m_Compartments->CreateLiquidLink(vAorta, vMyocardium, pulse::VascularLink::AortaToMyocardium);
+ vAortaToMyocardium.MapPath(Aorta1ToMyocardium1);
+ SELiquidCompartmentLink& vMyocardiumToVenaCava = m_Compartments->CreateLiquidLink(vMyocardium, vVenaCava, pulse::VascularLink::MyocardiumToVenaCava);
+ vMyocardiumToVenaCava.MapPath(Myocardium2ToVenaCava1);
+ ///////////////
+ // Right Arm //
+ SELiquidCompartmentLink& vAortaToRightArm = m_Compartments->CreateLiquidLink(vAorta, vRightArm, pulse::VascularLink::AortaToRightArm);
+ vAortaToRightArm.MapPath(Aorta1ToRightArm1);
+ SELiquidCompartmentLink& vRightArmToVenaCava = m_Compartments->CreateLiquidLink(vRightArm, vVenaCava, pulse::VascularLink::RightArmToVenaCava);
+ vRightArmToVenaCava.MapPath(RightArm2ToVenaCava1);
+ //////////////////
+ // Right Kidney //
+ SELiquidCompartmentLink& vAortaToRightKidney = m_Compartments->CreateLiquidLink(vAorta, vRightKidney, pulse::VascularLink::AortaToRightKidney);
+ vAortaToRightKidney.MapPath(Aorta1ToRightKidney1);
+ SELiquidCompartmentLink& vRightKidneyToVenaCava = m_Compartments->CreateLiquidLink(vRightKidney, vVenaCava, pulse::VascularLink::RightKidneyToVenaCava);
+ vRightKidneyToVenaCava.MapPath(RightKidney2ToVenaCava1);
+ ///////////////
+ // Right Leg //
+ SELiquidCompartmentLink& vAortaToRightLeg = m_Compartments->CreateLiquidLink(vAorta, vRightLeg, pulse::VascularLink::AortaToRightLeg);
+ vAortaToRightLeg.MapPath(Aorta1ToRightLeg1);
+ SELiquidCompartmentLink& vRightLegToVenaCava = m_Compartments->CreateLiquidLink(vRightLeg, vVenaCava, pulse::VascularLink::RightLegToVenaCava);
+ vRightLegToVenaCava.MapPath(RightLeg2ToVenaCava1);
+ //////////
+ // Skin //
+ SELiquidCompartmentLink& vAortaToSkin = m_Compartments->CreateLiquidLink(vAorta, vSkin, pulse::VascularLink::AortaToSkin);
+ vAortaToSkin.MapPath(Aorta1ToSkin1);
+ SELiquidCompartmentLink& vSkinToVenaCava = m_Compartments->CreateLiquidLink(vSkin, vVenaCava, pulse::VascularLink::SkinToVenaCava);
+ vSkinToVenaCava.MapPath(Skin2ToVenaCava1);
+ /////////////////////
+ // Small Intestine //
+ SELiquidCompartmentLink& vAortaToSmallIntestine = m_Compartments->CreateLiquidLink(vAorta, vSmallIntestine, pulse::VascularLink::AortaToSmallIntestine);
+ vAortaToSmallIntestine.MapPath(Aorta1ToSmallIntestine1);
+ SELiquidCompartmentLink& vSmallIntestineToLiver = m_Compartments->CreateLiquidLink(vSmallIntestine, vLiver, pulse::VascularLink::SmallIntestineToLiver);
+ vSmallIntestineToLiver.MapPath(SmallIntestine1ToPortalVein1);
+ ////////////////
+ // Splanchnic //
+ SELiquidCompartmentLink& vAortaToSplanchnic = m_Compartments->CreateLiquidLink(vAorta, vSplanchnic, pulse::VascularLink::AortaToSplanchnic);
+ vAortaToSplanchnic.MapPath(Aorta1ToSplanchnic1);
+ SELiquidCompartmentLink& vSplanchnicToLiver = m_Compartments->CreateLiquidLink(vSplanchnic, vLiver, pulse::VascularLink::SplanchnicToLiver);
+ vSplanchnicToLiver.MapPath(SplanchnicToPortalVein);
+ ////////////
+ // Spleen //
+ SELiquidCompartmentLink& vAortaToSpleen = m_Compartments->CreateLiquidLink(vAorta, vSpleen, pulse::VascularLink::AortaToSpleen);
+ vAortaToSpleen.MapPath(Aorta1ToSpleen1);
+ SELiquidCompartmentLink& vSpleenToLiver = m_Compartments->CreateLiquidLink(vSpleen, vLiver, pulse::VascularLink::SpleenToLiver);
+ vSpleenToLiver.MapPath(Spleen1ToPortalVein1);
+
+ /////////////////////
+ // Bleeds and IV's //
+ SELiquidCompartmentLink& vVenaCavaIV = m_Compartments->CreateLiquidLink(vGround, vVenaCava, pulse::VascularLink::VenaCavaIV);
+ vVenaCavaIV.MapPath(IVToVenaCava1);
+
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightSuperiorLobeApicalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightSuperiorLobeApicalPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightSuperiorLobeApicalPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightSuperiorLobePosteriorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightSuperiorLobePosteriorPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightSuperiorLobePosteriorPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightSuperiorLobeAnteriorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightSuperiorLobeAnteriorPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightSuperiorLobeAnteriorPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightMiddleLobeLateralPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightMiddleLobeLateralPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightMiddleLobeLateralPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightMiddleLobeMedialPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightMiddleLobeMedialPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightMiddleLobeMedialPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightInferiorLobeSuperiorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightInferiorLobeSuperiorPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightInferiorLobeSuperiorPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightInferiorLobeMedialBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightInferiorLobeMedialBasalPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightInferiorLobeMedialBasalPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightInferiorLobeAnteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightInferiorLobeAnteriorBasalPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightInferiorLobeLateralBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightInferiorLobeLateralBasalPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightInferiorLobeLateralBasalPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightInferiorLobePosteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightInferiorLobePosteriorBasalPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftInferiorLobePosteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftInferiorLobePosteriorBasalPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToLeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftInferiorLobeLateralBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftInferiorLobeLateralBasalPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToLeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftInferiorLobeSuperiorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftInferiorLobeSuperiorPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToLeftInferiorLobeSuperiorPulmonaryCapillaries);
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftSuperiorLobeAnteriorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftSuperiorLobeAnteriorPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToLeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftSuperiorLobeApicoposteriorPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
+ SELiquidCompartmentLink& vRightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightSuperiorLobeApicalPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightSuperiorLobePosteriorPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightSuperiorLobeAnteriorPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightMiddleLobeLateralPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightMiddleLobeMedialPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightInferiorLobeSuperiorPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightInferiorLobeMedialBasalPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightInferiorLobeAnteriorBasalPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightInferiorLobeLateralBasalPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightInferiorLobePosteriorBasalPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins);
+
+ SELiquidCompartmentLink& vLeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftInferiorLobePosteriorBasalPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ SELiquidCompartmentLink& vLeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftInferiorLobeLateralBasalPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ SELiquidCompartmentLink& vLeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ SELiquidCompartmentLink& vLeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftInferiorLobeSuperiorPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins);
+ SELiquidCompartmentLink& vLeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins);
+ SELiquidCompartmentLink& vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins);
+ SELiquidCompartmentLink& vLeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftSuperiorLobeAnteriorPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins);
+ SELiquidCompartmentLink& vLeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftSuperiorLobeApicoposteriorPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins);
+
+ SELiquidCompartmentLink& vRightSuperiorLobeApicalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightSuperiorLobeApicalShunt);
+ SELiquidCompartmentLink& vRightSuperiorLobePosteriorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightSuperiorLobePosteriorShunt);
+ SELiquidCompartmentLink& vRightSuperiorLobeAnteriorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightSuperiorLobeAnteriorShunt);
+ SELiquidCompartmentLink& vRightMiddleLobeLateralShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightMiddleLobeLateralShunt);
+ SELiquidCompartmentLink& vRightMiddleLobeMedialShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightMiddleLobeMedialShunt);
+ SELiquidCompartmentLink& vRightInferiorLobeSuperiorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightInferiorLobeSuperiorShunt);
+ SELiquidCompartmentLink& vRightInferiorLobeMedialBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightInferiorLobeMedialBasalShunt);
+ SELiquidCompartmentLink& vRightInferiorLobeAnteriorBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightInferiorLobeAnteriorBasalShunt);
+ SELiquidCompartmentLink& vRightInferiorLobeLateralBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightInferiorLobeLateralBasalShunt);
+ SELiquidCompartmentLink& vRightInferiorLobePosteriorBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightInferiorLobePosteriorBasalShunt);
+
+ SELiquidCompartmentLink& vLeftInferiorLobePosteriorBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftInferiorLobePosteriorBasalShunt);
+ SELiquidCompartmentLink& vLeftInferiorLobeLateralBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftInferiorLobeLateralBasalShunt);
+ SELiquidCompartmentLink& vLeftInferiorLobeAnteromedialBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftInferiorLobeAnteromedialBasalShunt);
+ SELiquidCompartmentLink& vLeftInferiorLobeSuperiorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftInferiorLobeSuperiorShunt);
+ SELiquidCompartmentLink& vLeftSuperiorLobeInferiorLingulaShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftSuperiorLobeInferiorLingulaShunt);
+ SELiquidCompartmentLink& vLeftSuperiorLobeSuperiorLingulaShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftSuperiorLobeSuperiorLingulaShunt);
+ SELiquidCompartmentLink& vLeftSuperiorLobeAnteriorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftSuperiorLobeAnteriorShunt);
+ SELiquidCompartmentLink& vLeftSuperiorLobeApicoposteriorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftSuperiorLobeApicoposteriorShunt);
+
+ vRightPulmonaryArteriesToRightSuperiorLobeApicalPulmonaryCapillaries.MapPath( RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries);
+ vRightPulmonaryArteriesToRightSuperiorLobePosteriorPulmonaryCapillaries.MapPath( RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries);
+ vRightPulmonaryArteriesToRightSuperiorLobeAnteriorPulmonaryCapillaries.MapPath( RightPulmonaryArteries1ToRightSuperiorLobeAnteriorPulmonaryCapillaries);
+ vRightPulmonaryArteriesToRightMiddleLobeLateralPulmonaryCapillaries.MapPath( RightPulmonaryArteries1ToRightMiddleLobeLateralPulmonaryCapillaries);
+ vRightPulmonaryArteriesToRightMiddleLobeMedialPulmonaryCapillaries.MapPath( RightPulmonaryArteries1ToRightMiddleLobeMedialPulmonaryCapillaries);
+ vRightPulmonaryArteriesToRightInferiorLobeSuperiorPulmonaryCapillaries.MapPath( RightPulmonaryArteries1ToRightInferiorLobeSuperiorPulmonaryCapillaries);
+ vRightPulmonaryArteriesToRightInferiorLobeMedialBasalPulmonaryCapillaries.MapPath( RightPulmonaryArteries1ToRightInferiorLobeMedialBasalPulmonaryCapillaries);
+ vRightPulmonaryArteriesToRightInferiorLobeAnteriorBasalPulmonaryCapillaries.MapPath( RightPulmonaryArteries1ToRightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ vRightPulmonaryArteriesToRightInferiorLobeLateralBasalPulmonaryCapillaries.MapPath( RightPulmonaryArteries1ToRightInferiorLobeLateralBasalPulmonaryCapillaries);
+ vRightPulmonaryArteriesToRightInferiorLobePosteriorBasalPulmonaryCapillaries.MapPath( RightPulmonaryArteries1ToRightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ vLeftPulmonaryArteriesToLeftInferiorLobePosteriorBasalPulmonaryCapillaries.MapPath( LeftPulmonaryArteries1ToLeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ vLeftPulmonaryArteriesToLeftInferiorLobeLateralBasalPulmonaryCapillaries.MapPath( LeftPulmonaryArteries1ToLeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ vLeftPulmonaryArteriesToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries.MapPath(LeftPulmonaryArteries1ToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ vLeftPulmonaryArteriesToLeftInferiorLobeSuperiorPulmonaryCapillaries.MapPath( LeftPulmonaryArteries1ToLeftInferiorLobeSuperiorPulmonaryCapillaries);
+ vLeftPulmonaryArteriesToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries.MapPath( LeftPulmonaryArteries1ToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ vLeftPulmonaryArteriesToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries.MapPath( LeftPulmonaryArteries1ToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ vLeftPulmonaryArteriesToLeftSuperiorLobeAnteriorPulmonaryCapillaries.MapPath( LeftPulmonaryArteries1ToLeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ vLeftPulmonaryArteriesToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries.MapPath( LeftPulmonaryArteries1ToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
+ vRightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins.MapPath( RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1);
+ vRightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins.MapPath( RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1);
+ vRightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins.MapPath( RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1);
+ vRightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins.MapPath( RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1);
+ vRightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins.MapPath( RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1);
+ vRightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins.MapPath( RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1);
+ vRightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins.MapPath( RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1);
+ vRightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins.MapPath( RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1);
+ vRightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins.MapPath( RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1);
+ vRightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins.MapPath( RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1);
+
+ vLeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins.MapPath( LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1);
+ vLeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins.MapPath( LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1);
+ vLeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins.MapPath( LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1);
+ vLeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins.MapPath( LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1);
+ vLeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins.MapPath( LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1);
+ vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins.MapPath( LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1);
+ vLeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins.MapPath( LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1);
+ vLeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins.MapPath( LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1);
+
+ vRightSuperiorLobeApicalShunt.MapPath(RightSuperiorLobeApicalShunt);
+ vRightSuperiorLobePosteriorShunt.MapPath(RightSuperiorLobePosteriorShunt);
+ vRightSuperiorLobeAnteriorShunt.MapPath(RightSuperiorLobeAnteriorShunt);
+ vRightMiddleLobeLateralShunt.MapPath(RightMiddleLobeLateralShunt);
+ vRightMiddleLobeMedialShunt.MapPath(RightMiddleLobeMedialShunt);
+ vRightInferiorLobeSuperiorShunt.MapPath(RightInferiorLobeSuperiorShunt);
+ vRightInferiorLobeMedialBasalShunt.MapPath(RightInferiorLobeMedialBasalShunt);
+ vRightInferiorLobeAnteriorBasalShunt.MapPath(RightInferiorLobeAnteriorBasalShunt);
+ vRightInferiorLobeLateralBasalShunt.MapPath(RightInferiorLobeLateralBasalShunt);
+ vRightInferiorLobePosteriorBasalShunt.MapPath(RightInferiorLobePosteriorBasalShunt);
+
+ vLeftInferiorLobePosteriorBasalShunt.MapPath(LeftInferiorLobePosteriorBasalShunt);
+ vLeftInferiorLobeLateralBasalShunt.MapPath(LeftInferiorLobeLateralBasalShunt);
+ vLeftInferiorLobeAnteromedialBasalShunt.MapPath(LeftInferiorLobeAnteromedialBasalShunt);
+ vLeftInferiorLobeSuperiorShunt.MapPath(LeftInferiorLobeSuperiorShunt);
+ vLeftSuperiorLobeInferiorLingulaShunt.MapPath(LeftSuperiorLobeInferiorLingulaShunt);
+ vLeftSuperiorLobeSuperiorLingulaShunt.MapPath(LeftSuperiorLobeSuperiorLingulaShunt);
+ vLeftSuperiorLobeAnteriorShunt.MapPath(LeftSuperiorLobeAnteriorShunt);
+ vLeftSuperiorLobeApicoposteriorShunt.MapPath(LeftSuperiorLobeApicoposteriorShunt);
+
+ SELiquidCompartmentGraph& gCardiovascular = m_Compartments->GetCardiovascularGraph();
+ gCardiovascular.AddCompartment(vRightHeart);
+ gCardiovascular.AddCompartment(vRightPulmonaryArteries);
+ gCardiovascular.AddCompartment(vLeftPulmonaryArteries);
+ //gCardiovascular.AddCompartment(vRightPulmonaryCapillaries);
+ //gCardiovascular.AddCompartment(vLeftPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vRightPulmonaryVeins);
+ gCardiovascular.AddCompartment(vLeftPulmonaryVeins);
+ gCardiovascular.AddCompartment(vLeftHeart);
+ gCardiovascular.AddCompartment(vAorta);
+ gCardiovascular.AddCompartment(vBrain);
+ gCardiovascular.AddCompartment(vBone);
+ gCardiovascular.AddCompartment(vFat);
+ gCardiovascular.AddCompartment(vLargeIntestine);
+ gCardiovascular.AddCompartment(vLiver);
+ gCardiovascular.AddCompartment(vLeftArm);
+ gCardiovascular.AddCompartment(vLeftKidney);
+ gCardiovascular.AddCompartment(vLeftLeg);
+ gCardiovascular.AddCompartment(vMuscle);
+ gCardiovascular.AddCompartment(vMyocardium);
+ gCardiovascular.AddCompartment(vRightArm);
+ gCardiovascular.AddCompartment(vRightKidney);
+ gCardiovascular.AddCompartment(vRightLeg);
+ gCardiovascular.AddCompartment(vSkin);
+ gCardiovascular.AddCompartment(vSmallIntestine);
+ gCardiovascular.AddCompartment(vSplanchnic);
+ gCardiovascular.AddCompartment(vSpleen);
+ gCardiovascular.AddCompartment(vVenaCava);
+
+ gCardiovascular.AddCompartment(vRightSuperiorLobeApicalPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vRightSuperiorLobePosteriorPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vRightSuperiorLobeAnteriorPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vRightMiddleLobeLateralPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vRightMiddleLobeMedialPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vRightInferiorLobeSuperiorPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vRightInferiorLobeMedialBasalPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vRightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vRightInferiorLobeLateralBasalPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vRightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ gCardiovascular.AddCompartment(vLeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vLeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vLeftInferiorLobeSuperiorPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vLeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ gCardiovascular.AddCompartment(vLeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
+ gCardiovascular.AddLink(vVenaCavaToRightHeart);
+ gCardiovascular.AddLink(vRightHeartToLeftPulmonaryArteries);
+ //gCardiovascular.AddLink(vLeftPulmonaryArteriesToCapillaries);
+ //gCardiovascular.AddLink(vLeftPulmonaryArteriesToVeins);
+ //gCardiovascular.AddLink(vLeftPulmonaryCapillariesToVeins);
+ gCardiovascular.AddLink(vLeftPulmonaryVeinsToLeftHeart);
+ gCardiovascular.AddLink(vRightHeartToRightPulmonaryArteries);
+ //gCardiovascular.AddLink(vRightPulmonaryArteriesToCapillaries);
+ //gCardiovascular.AddLink(vRightPulmonaryArteriesToVeins);
+ //gCardiovascular.AddLink(vRightPulmonaryCapillariesToVeins);
+ gCardiovascular.AddLink(vRightPulmonaryVeinsToLeftHeart);
+ gCardiovascular.AddLink(vLeftHeartToAorta);
+ gCardiovascular.AddLink(vAortaToBone);
+ gCardiovascular.AddLink(vBoneToVenaCava);
+ gCardiovascular.AddLink(vAortaToBrain);
+ gCardiovascular.AddLink(vBrainToVenaCava);
+ gCardiovascular.AddLink(vAortaToFat);
+ gCardiovascular.AddLink(vFatToVenaCava);
+ gCardiovascular.AddLink(vAortaToLargeIntestine);
+ gCardiovascular.AddLink(vLargeIntestineToLiver);
+ gCardiovascular.AddLink(vAortaToLeftArm);
+ gCardiovascular.AddLink(vLeftArmToVenaCava);
+ gCardiovascular.AddLink(vAortaToLeftKidney);
+ gCardiovascular.AddLink(vLeftKidneyToVenaCava);
+ gCardiovascular.AddLink(vAortaToLeftLeg);
+ gCardiovascular.AddLink(vLeftLegToVenaCava);
+ gCardiovascular.AddLink(vAortaToLiver);
+ gCardiovascular.AddLink(vLiverToVenaCava);
+ gCardiovascular.AddLink(vAortaToMuscle);
+ gCardiovascular.AddLink(vMuscleToVenaCava);
+ gCardiovascular.AddLink(vAortaToMyocardium);
+ gCardiovascular.AddLink(vMyocardiumToVenaCava);
+ gCardiovascular.AddLink(vAortaToRightArm);
+ gCardiovascular.AddLink(vRightArmToVenaCava);
+ gCardiovascular.AddLink(vAortaToRightKidney);
+ gCardiovascular.AddLink(vRightKidneyToVenaCava);
+ gCardiovascular.AddLink(vAortaToRightLeg);
+ gCardiovascular.AddLink(vRightLegToVenaCava);
+ gCardiovascular.AddLink(vAortaToSkin);
+ gCardiovascular.AddLink(vSkinToVenaCava);
+ gCardiovascular.AddLink(vAortaToSmallIntestine);
+ gCardiovascular.AddLink(vSmallIntestineToLiver);
+ gCardiovascular.AddLink(vAortaToSplanchnic);
+ gCardiovascular.AddLink(vSplanchnicToLiver);
+ gCardiovascular.AddLink(vAortaToSpleen);
+ gCardiovascular.AddLink(vSpleenToLiver);
+ gCardiovascular.AddLink(vVenaCavaIV);
+
+ gCardiovascular.AddLink(vRightPulmonaryArteriesToRightSuperiorLobeApicalPulmonaryCapillaries);
+ gCardiovascular.AddLink(vRightPulmonaryArteriesToRightSuperiorLobePosteriorPulmonaryCapillaries);
+ gCardiovascular.AddLink(vRightPulmonaryArteriesToRightSuperiorLobeAnteriorPulmonaryCapillaries);
+ gCardiovascular.AddLink(vRightPulmonaryArteriesToRightMiddleLobeLateralPulmonaryCapillaries);
+ gCardiovascular.AddLink(vRightPulmonaryArteriesToRightMiddleLobeMedialPulmonaryCapillaries);
+ gCardiovascular.AddLink(vRightPulmonaryArteriesToRightInferiorLobeSuperiorPulmonaryCapillaries);
+ gCardiovascular.AddLink(vRightPulmonaryArteriesToRightInferiorLobeMedialBasalPulmonaryCapillaries);
+ gCardiovascular.AddLink(vRightPulmonaryArteriesToRightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ gCardiovascular.AddLink(vRightPulmonaryArteriesToRightInferiorLobeLateralBasalPulmonaryCapillaries);
+ gCardiovascular.AddLink(vRightPulmonaryArteriesToRightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ gCardiovascular.AddLink(vLeftPulmonaryArteriesToLeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ gCardiovascular.AddLink(vLeftPulmonaryArteriesToLeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ gCardiovascular.AddLink(vLeftPulmonaryArteriesToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ gCardiovascular.AddLink(vLeftPulmonaryArteriesToLeftInferiorLobeSuperiorPulmonaryCapillaries);
+ gCardiovascular.AddLink(vLeftPulmonaryArteriesToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ gCardiovascular.AddLink(vLeftPulmonaryArteriesToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ gCardiovascular.AddLink(vLeftPulmonaryArteriesToLeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ gCardiovascular.AddLink(vLeftPulmonaryArteriesToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
+ gCardiovascular.AddLink(vRightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins);
+ gCardiovascular.AddLink(vRightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins);
+ gCardiovascular.AddLink(vRightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins);
+ gCardiovascular.AddLink(vRightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins);
+ gCardiovascular.AddLink(vRightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins);
+ gCardiovascular.AddLink(vRightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins);
+ gCardiovascular.AddLink(vRightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ gCardiovascular.AddLink(vRightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ gCardiovascular.AddLink(vRightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ gCardiovascular.AddLink(vRightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins);
+
+ gCardiovascular.AddLink(vLeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ gCardiovascular.AddLink(vLeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ gCardiovascular.AddLink(vLeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ gCardiovascular.AddLink(vLeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins);
+ gCardiovascular.AddLink(vLeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins);
+ gCardiovascular.AddLink(vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins);
+ gCardiovascular.AddLink(vLeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins);
+ gCardiovascular.AddLink(vLeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins);
+
+ gCardiovascular.AddLink(vRightSuperiorLobeApicalShunt);
+ gCardiovascular.AddLink(vRightSuperiorLobePosteriorShunt);
+ gCardiovascular.AddLink(vRightSuperiorLobeAnteriorShunt);
+ gCardiovascular.AddLink(vRightMiddleLobeLateralShunt);
+ gCardiovascular.AddLink(vRightMiddleLobeMedialShunt);
+ gCardiovascular.AddLink(vRightInferiorLobeSuperiorShunt);
+ gCardiovascular.AddLink(vRightInferiorLobeMedialBasalShunt);
+ gCardiovascular.AddLink(vRightInferiorLobeAnteriorBasalShunt);
+ gCardiovascular.AddLink(vRightInferiorLobeLateralBasalShunt);
+ gCardiovascular.AddLink(vRightInferiorLobePosteriorBasalShunt);
+
+ gCardiovascular.AddLink(vLeftInferiorLobePosteriorBasalShunt);
+ gCardiovascular.AddLink(vLeftInferiorLobeLateralBasalShunt);
+ gCardiovascular.AddLink(vLeftInferiorLobeAnteromedialBasalShunt);
+ gCardiovascular.AddLink(vLeftInferiorLobeSuperiorShunt);
+ gCardiovascular.AddLink(vLeftSuperiorLobeInferiorLingulaShunt);
+ gCardiovascular.AddLink(vLeftSuperiorLobeSuperiorLingulaShunt);
+ gCardiovascular.AddLink(vLeftSuperiorLobeAnteriorShunt);
+ gCardiovascular.AddLink(vLeftSuperiorLobeApicoposteriorShunt);
+
+ // jbw - What do we do here?
+ // Remove modifiers of paths we removed
+ m_Config->GetModifiers().erase(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightPulmonaryCapillaries1);
+ m_Config->GetModifiers().erase(pulse::CardiovascularPath::RightPulmonaryCapillaries1ToRightPulmonaryVeins1);
+ m_Config->GetModifiers().erase(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightPulmonaryVeins1);
+ m_Config->GetModifiers().erase(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1);
+ m_Config->GetModifiers().erase(pulse::CardiovascularPath::LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1);
+ m_Config->GetModifiers().erase(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftPulmonaryVeins1);
+
+ gCardiovascular.StateChange();
+
+ SELiquidCompartmentGraph& gCombinedCardiovascular = m_Compartments->GetActiveCardiovascularGraph();
+ gCombinedCardiovascular.AddGraph(gCardiovascular);
+ gCombinedCardiovascular.StateChange();
+
+ totalLeftVolume_mL = m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::LeftPulmonaryCapillaries)->GetVolume(VolumeUnit::mL);
+ totalRightVolume_mL = m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::RightPulmonaryCapillaries)->GetVolume(VolumeUnit::mL);
}
}
\ No newline at end of file
diff --git a/src/cpp/engine/common/controller/SubstanceManager.cpp b/src/cpp/engine/common/controller/SubstanceManager.cpp
index 6d6ac4bde..d8abad959 100644
--- a/src/cpp/engine/common/controller/SubstanceManager.cpp
+++ b/src/cpp/engine/common/controller/SubstanceManager.cpp
@@ -499,12 +499,16 @@ namespace pulse
InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Fat), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Fat));
InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Gut), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Gut));
InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::LeftKidney), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftKidney));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::LeftLung), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftLung));
+ //jbw - Fix and make work for all CV setups
+ if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
+ {
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::LeftLung), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftLung));
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::RightLung), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightLung));
+ }
InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Liver), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Liver));
InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Muscle), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Muscle));
InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Myocardium), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Myocardium));
InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::RightKidney), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightKidney));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::RightLung), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightLung));
InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Skin), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Skin));
InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Spleen), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Spleen));
}
diff --git a/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp b/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp
index f0ecebce5..a8e77d60d 100644
--- a/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp
+++ b/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp
@@ -386,7 +386,45 @@ namespace pulse
//Paths
if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::On)
{
- //Not yet implemented
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeApicalShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobePosteriorShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeAnteriorShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeLateralShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeMedialShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeSuperiorShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeMedialBasalShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeLateralBasalShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobePosteriorBasalShunt));
+
+ m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalShunt));
+ m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeLateralBasalShunt));
+ m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalShunt));
+ m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeSuperiorShunt));
+ m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaShunt));
+ m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaShunt));
+ m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeAnteriorShunt));
+ m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorShunt));
+
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeAnteriorPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeLateralPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeMedialPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeSuperiorPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeMedialBasalPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeAnteriorBasalPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeLateralBasalPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobePosteriorBasalPulmonaryCapillaries));
+
+ m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobePosteriorBasalPulmonaryCapillaries));
+ m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeLateralBasalPulmonaryCapillaries));
+ m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries));
+ m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeSuperiorPulmonaryCapillaries));
+ m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries));
+ m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries));
+ m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeAnteriorPulmonaryCapillaries));
+ m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries));
}
else
{
@@ -687,7 +725,25 @@ namespace pulse
if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::On)
{
- //Not yet implemented
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToGround));
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToGround));
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToGround));
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToGround));
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToGround));
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToGround));
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToGround));
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToGround));
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToGround));
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToGround));
+
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToGround));
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToGround));
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToGround));
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToGround));
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToGround));
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToGround));
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToGround));
+ m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToGround));
}
else
{
@@ -3517,8 +3573,15 @@ namespace pulse
tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::RightKidneyT2ToRightKidneyT1));
}
- tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::LeftPulmonaryCapillaries1));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::LeftLungT2ToLeftLungT1));
+ //jbw - Fix and make work for all CV setups
+ if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
+ {
+ tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::LeftPulmonaryCapillaries1));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::LeftLungT2ToLeftLungT1));
+
+ tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::RightPulmonaryCapillaries1));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::RightLungT2ToRightLungT1));
+ }
tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::Muscle1));
tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::MuscleT2ToMuscleT1));
@@ -3526,9 +3589,6 @@ namespace pulse
tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::Myocardium1));
tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::MyocardiumT2ToMyocardiumT1));
- tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::RightPulmonaryCapillaries1));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::RightLungT2ToRightLungT1));
-
tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::Skin1));
tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::SkinT2ToSkinT1));
diff --git a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
index c196a8d7a..c00804aab 100644
--- a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
+++ b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
@@ -491,6 +491,14 @@ namespace pulse
m_AmbientNode = m_RespiratoryCircuit->GetNode(pulse::EnvironmentNode::Ambient);
m_StomachNode = m_RespiratoryCircuit->GetNode(pulse::RespiratoryNode::Stomach);
+ // Side
+ // Alveoli Node
+ // Dead Space Node
+ // Compliance Path
+ // Shunt Path
+ // Capillary Path
+ // Alveoli Compartment
+ // Capillary Compartment
if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
{
// Side
@@ -539,7 +547,204 @@ namespace pulse
}
else
{
- // TODO Expansion Support
+ m_LungComponents[eLungCompartment::RightSuperiorLobeApical] =
+ {
+ eSide::Right,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeApicalAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeApicalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightSuperiorLobeApicalAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobeApicalShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobeApicalAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightSuperiorLobeApicalPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::RightSuperiorLobePosterior] =
+ {
+ eSide::Right,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobePosteriorAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobePosteriorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightSuperiorLobePosteriorAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobePosteriorShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobePosteriorAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightSuperiorLobePosteriorPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::RightSuperiorLobeAnterior] =
+ {
+ eSide::Right,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeAnteriorAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeAnteriorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightSuperiorLobeAnteriorAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobeAnteriorShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobeAnteriorAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightSuperiorLobeAnteriorPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::RightMiddleLobeLateral] =
+ {
+ eSide::Right,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeLateralAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeLateralAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightMiddleLobeLateralAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightMiddleLobeLateralShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobeLateralAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightMiddleLobeLateralPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::RightMiddleLobeMedial] =
+ {
+ eSide::Right,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeMedialAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeMedialAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightMiddleLobeMedialAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightMiddleLobeMedialShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobeMedialAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightMiddleLobeMedialPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::RightInferiorLobeSuperior] =
+ {
+ eSide::Right,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeSuperiorAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeSuperiorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobeSuperiorAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeSuperiorShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeSuperiorAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightInferiorLobeSuperiorPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::RightInferiorLobeMedialBasal] =
+ {
+ eSide::Right,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeMedialBasalAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeMedialBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobeMedialBasalAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeMedialBasalShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeMedialBasalAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightInferiorLobeMedialBasalPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::RightInferiorLobeAnteriorBasal] =
+ {
+ eSide::Right,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeAnteriorBasalAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeAnteriorBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobeAnteriorBasalAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeAnteriorBasalAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightInferiorLobeAnteriorBasalPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::RightInferiorLobeLateralBasal] =
+ {
+ eSide::Right,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeLateralBasalAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeLateralBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobeLateralBasalAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeLateralBasalShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeLateralBasalAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightInferiorLobeLateralBasalPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::RightInferiorLobePosteriorBasal] =
+ {
+ eSide::Right,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobePosteriorBasalAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobePosteriorBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobePosteriorBasalAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobePosteriorBasalShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobePosteriorBasalAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightInferiorLobePosteriorBasalPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::LeftInferiorLobePosteriorBasal] =
+ {
+ eSide::Left,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobePosteriorBasalAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobePosteriorBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobePosteriorBasalAlveoliToLeftPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobePosteriorBasalAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftInferiorLobePosteriorBasalPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::LeftInferiorLobeLateralBasal] =
+ {
+ eSide::Left,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeLateralBasalAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeLateralBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobeLateralBasalAlveoliToLeftPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeLateralBasalShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeLateralBasalAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftInferiorLobeLateralBasalPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::LeftInferiorLobeAnteromedialBasal] =
+ {
+ eSide::Left,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeAnteromedialBasalAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobeAnteromedialBasalAlveoliToLeftPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeAnteromedialBasalAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::LeftInferiorLobeSuperior] =
+ {
+ eSide::Left,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeSuperiorAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeSuperiorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobeSuperiorAlveoliToLeftPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeSuperiorShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeSuperiorAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftInferiorLobeSuperiorPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::LeftSuperiorLobeInferiorLingula] =
+ {
+ eSide::Left,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeInferiorLingulaAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftSuperiorLobeInferiorLingulaAlveoliToLeftPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeInferiorLingulaAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::LeftSuperiorLobeSuperiorLingula] =
+ {
+ eSide::Left,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeSuperiorLingulaAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftSuperiorLobeSuperiorLingulaAlveoliToLeftPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeSuperiorLingulaAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::LeftSuperiorLobeAnterior] =
+ {
+ eSide::Left,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeAnteriorAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeAnteriorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftSuperiorLobeAnteriorAlveoliToLeftPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeAnteriorShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeAnteriorAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftSuperiorLobeAnteriorPulmonaryCapillaries)
+ };
+ m_LungComponents[eLungCompartment::LeftSuperiorLobeApicoposterior] =
+ {
+ eSide::Left,
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeApicoposteriorAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeApicoposteriorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftSuperiorLobeApicoposteriorAlveoliToLeftPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeApicoposteriorAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftSuperiorLobeApicoposteriorPulmonaryCapillaries)
+ };
}
//Paths
@@ -688,7 +893,11 @@ namespace pulse
UpdateChestWallCompliances();
UpdateAlveolarCompliances();
UpdateVolumes();
- UpdateResistances();
+ if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
+ {
+ //jbw - Fix
+ UpdateResistances();
+ }
UpdateInspiratoryExpiratoryRatio();
UpdateDiffusion();
if (m_data.HasCardiovascular())
@@ -751,7 +960,11 @@ namespace pulse
//Update system data
CalculateVitalSigns();
- ComputeExposedModelParameters();
+ if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
+ {
+ //jbw - Fix
+ ComputeExposedModelParameters();
+ }
}
void RespiratoryModel::ComputeExposedModelParameters()
{
@@ -2828,8 +3041,14 @@ namespace pulse
double RespiratoryModel::VolumeToDriverPressure(double TargetVolume_L)
{
//Calculate as if constant compliances
- double leftHealthyLungCompliance_L_Per_cmH2O = m_LeftAlveoliToLeftPleuralConnection->GetComplianceBaseline(VolumePerPressureUnit::L_Per_cmH2O);
- double rightHealthyLungCompliance_L_Per_cmH2O = m_RightAlveoliToRightPleuralConnection->GetComplianceBaseline(VolumePerPressureUnit::L_Per_cmH2O);
+ //jbw - Either sum all paths or add a configuration value
+ double leftHealthyLungCompliance_L_Per_cmH2O = 0.1;
+ double rightHealthyLungCompliance_L_Per_cmH2O = 0.1;
+ if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
+ {
+ leftHealthyLungCompliance_L_Per_cmH2O = m_LeftAlveoliToLeftPleuralConnection->GetComplianceBaseline(VolumePerPressureUnit::L_Per_cmH2O);
+ rightHealthyLungCompliance_L_Per_cmH2O = m_RightAlveoliToRightPleuralConnection->GetComplianceBaseline(VolumePerPressureUnit::L_Per_cmH2O);
+ }
double leftHealthyChestWallCompliance_L_Per_cmH2O = m_LeftPleuralToRespiratoryMuscle->GetComplianceBaseline(VolumePerPressureUnit::L_Per_cmH2O);
double rightHealthyChestWallCompliance_L_Per_cmH2O = m_RightPleuralToRespiratoryMuscle->GetComplianceBaseline(VolumePerPressureUnit::L_Per_cmH2O);
@@ -2936,7 +3155,16 @@ namespace pulse
double functionalResidualCapacity_L = m_data.GetInitialPatient().GetFunctionalResidualCapacity(VolumeUnit::L) * lungRatio;
- healthyLungCompliance_L_Per_cmH2O = lungPath->GetComplianceBaseline(VolumePerPressureUnit::L_Per_cmH2O);
+ if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::On)
+ {
+ //jbw - Either sum all paths or add a configuration value
+ healthyLungCompliance_L_Per_cmH2O = 0.1;
+ }
+ else
+ {
+ healthyLungCompliance_L_Per_cmH2O = lungPath->GetComplianceBaseline(VolumePerPressureUnit::L_Per_cmH2O);
+ }
+
double baselineCompliance_L_Per_cmH2O = 0.0;
double lowerCorner_cmH2O = 0.0;
double upperCorner_cmH2O = 0.0;
diff --git a/src/cpp/engine/common/system/physiology/TissueModel.cpp b/src/cpp/engine/common/system/physiology/TissueModel.cpp
index b8b615984..82889b71d 100644
--- a/src/cpp/engine/common/system/physiology/TissueModel.cpp
+++ b/src/cpp/engine/common/system/physiology/TissueModel.cpp
@@ -226,8 +226,12 @@ namespace pulse
m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::LeftKidney)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftKidney);
m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::RightKidney)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightKidney);
m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::Liver)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::Liver);
- m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::LeftLung)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftLung);
- m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::RightLung)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightLung);
+ //jbw - Fix and make work for all CV setups
+ if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
+ {
+ m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::LeftLung)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftLung);
+ m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::RightLung)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightLung);
+ }
m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::Muscle)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::Muscle);
m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::Myocardium)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::Myocardium);
m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::Skin)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::Skin);
diff --git a/src/cpp/engine/human_adult/whole_body/test/CardiovascularCircuit.cpp b/src/cpp/engine/human_adult/whole_body/test/CardiovascularCircuit.cpp
index a3eb91c73..ec81c84c5 100644
--- a/src/cpp/engine/human_adult/whole_body/test/CardiovascularCircuit.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/CardiovascularCircuit.cpp
@@ -226,6 +226,8 @@ namespace pulse { namespace human_adult_whole_body
pc.m_Config->EnableCerebrospinalFluid(connectCSF ? eSwitch::On : eSwitch::Off);
pc.m_Config->TuneCardiovascularCircuit(eSwitch::On);// Run the circuit as constructed
//pc.m_Config->CardiovascularTuningFile("./test_results/unit_tests/Pulse/"+ sTestName+"Tuning.csv");
+ //jbw - Make a seperate test that turns this on
+ pc.m_Config->UseExpandedRespiratory(eSwitch::On);
pc.CreateCircuitsAndCompartments();
std::vector subs2Track;
diff --git a/src/cpp/engine/human_adult/whole_body/test/RespiratoryCircuit.cpp b/src/cpp/engine/human_adult/whole_body/test/RespiratoryCircuit.cpp
index 826459c8d..e76e8aa7e 100644
--- a/src/cpp/engine/human_adult/whole_body/test/RespiratoryCircuit.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/RespiratoryCircuit.cpp
@@ -55,6 +55,8 @@ namespace pulse { namespace human_adult_whole_body
pc.m_Config->Initialize("./", &pc.GetSubstances());
pc.m_Config->EnableRenal(eSwitch::Off);
pc.m_Config->EnableTissue(eSwitch::Off);
+ //jbw - Make a seperate test that turns this on
+ pc.m_Config->UseExpandedRespiratory(eSwitch::On);
pc.CreateCircuitsAndCompartments();
pc.GetSubstances().InitializeGasCompartments();
SEEnvironmentalConditions& env = pc.GetEnvironment().GetEnvironmentalConditions();
diff --git a/src/csharp/pulse/cdm/system/physiology/SERespiratorySystem.cs b/src/csharp/pulse/cdm/system/physiology/SERespiratorySystem.cs
index 0dcec48ec..cbf489b76 100644
--- a/src/csharp/pulse/cdm/system/physiology/SERespiratorySystem.cs
+++ b/src/csharp/pulse/cdm/system/physiology/SERespiratorySystem.cs
@@ -12,6 +12,25 @@ namespace Pulse.CDM
LeftInferiorLobe,
RightSuperiorLobe,
RightMiddleLobe,
- RightInferiorLobe
+ RightInferiorLobe,
+
+ RightSuperiorLobeApical,
+ RightSuperiorLobePosterior,
+ RightSuperiorLobeAnterior,
+ RightMiddleLobeLateral,
+ RightMiddleLobeMedial,
+ RightInferiorLobeSuperior,
+ RightInferiorLobeMedialBasal,
+ RightInferiorLobeAnteriorBasal,
+ RightInferiorLobeLateralBasal,
+ RightInferiorLobePosteriorBasal,
+ LeftInferiorLobePosteriorBasal,
+ LeftInferiorLobeLateralBasal,
+ LeftInferiorLobeAnteromedialBasal,
+ LeftInferiorLobeSuperior,
+ LeftSuperiorLobeInferiorLingula,
+ LeftSuperiorLobeSuperiorLingula,
+ LeftSuperiorLobeAnterior,
+ LeftSuperiorLobeApicoposterior
};
}
\ No newline at end of file
diff --git a/src/schema/pulse/cdm/bind/Physiology.proto b/src/schema/pulse/cdm/bind/Physiology.proto
index ade3cc2b7..8e776d116 100644
--- a/src/schema/pulse/cdm/bind/Physiology.proto
+++ b/src/schema/pulse/cdm/bind/Physiology.proto
@@ -335,14 +335,33 @@ message RespiratoryMechanicsModifiersData
enum eLungCompartment
{
- LeftLung = 0;
- RightLung = 1;
-
- LeftSuperiorLobe = 2;
- LeftInferiorLobe = 3;
- RightSuperiorLobe = 4;
- RightMiddleLobe = 5;
- RightInferiorLobe = 6;
+ LeftLung = 0;
+ RightLung = 1;
+
+ LeftSuperiorLobe = 2;
+ LeftInferiorLobe = 3;
+ RightSuperiorLobe = 4;
+ RightMiddleLobe = 5;
+ RightInferiorLobe = 6;
+
+ RightSuperiorLobeApical = 7;
+ RightSuperiorLobePosterior = 8;
+ RightSuperiorLobeAnterior = 9;
+ RightMiddleLobeLateral = 10;
+ RightMiddleLobeMedial = 11;
+ RightInferiorLobeSuperior = 12;
+ RightInferiorLobeMedialBasal = 13;
+ RightInferiorLobeAnteriorBasal = 14;
+ RightInferiorLobeLateralBasal = 15;
+ RightInferiorLobePosteriorBasal = 16;
+ LeftInferiorLobePosteriorBasal = 17;
+ LeftInferiorLobeLateralBasal = 18;
+ LeftInferiorLobeAnteromedialBasal = 19;
+ LeftInferiorLobeSuperior = 20;
+ LeftSuperiorLobeInferiorLingula = 21;
+ LeftSuperiorLobeSuperiorLingula = 22;
+ LeftSuperiorLobeAnterior = 23;
+ LeftSuperiorLobeApicoposterior = 24;
}
// Protobuf does not support enum's as map keys
--
GitLab
From f45bfd3a661821521d38b15c2d82f2c5729c62b7 Mon Sep 17 00:00:00 2001
From: Jeff Webb
Date: Wed, 16 Aug 2023 09:55:04 -0400
Subject: [PATCH 02/35] Switch "jbw" comments to "Aaron"
---
.../human_adult/whole_body/test/CardiovascularCircuit.cpp | 2 +-
.../engine/human_adult/whole_body/test/RespiratoryCircuit.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/cpp/engine/human_adult/whole_body/test/CardiovascularCircuit.cpp b/src/cpp/engine/human_adult/whole_body/test/CardiovascularCircuit.cpp
index ec81c84c5..bc5bbca12 100644
--- a/src/cpp/engine/human_adult/whole_body/test/CardiovascularCircuit.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/CardiovascularCircuit.cpp
@@ -226,7 +226,7 @@ namespace pulse { namespace human_adult_whole_body
pc.m_Config->EnableCerebrospinalFluid(connectCSF ? eSwitch::On : eSwitch::Off);
pc.m_Config->TuneCardiovascularCircuit(eSwitch::On);// Run the circuit as constructed
//pc.m_Config->CardiovascularTuningFile("./test_results/unit_tests/Pulse/"+ sTestName+"Tuning.csv");
- //jbw - Make a seperate test that turns this on
+ //Aaron - Make a seperate test that turns this on
pc.m_Config->UseExpandedRespiratory(eSwitch::On);
pc.CreateCircuitsAndCompartments();
diff --git a/src/cpp/engine/human_adult/whole_body/test/RespiratoryCircuit.cpp b/src/cpp/engine/human_adult/whole_body/test/RespiratoryCircuit.cpp
index e76e8aa7e..aaa4390df 100644
--- a/src/cpp/engine/human_adult/whole_body/test/RespiratoryCircuit.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/RespiratoryCircuit.cpp
@@ -55,7 +55,7 @@ namespace pulse { namespace human_adult_whole_body
pc.m_Config->Initialize("./", &pc.GetSubstances());
pc.m_Config->EnableRenal(eSwitch::Off);
pc.m_Config->EnableTissue(eSwitch::Off);
- //jbw - Make a seperate test that turns this on
+ //Aaron - Make a seperate test that turns this on
pc.m_Config->UseExpandedRespiratory(eSwitch::On);
pc.CreateCircuitsAndCompartments();
pc.GetSubstances().InitializeGasCompartments();
--
GitLab
From b55bf5827fcf57e75bab920e5ac76c3c1800daf5 Mon Sep 17 00:00:00 2001
From: Aaron Bray
Date: Sun, 26 Nov 2023 13:36:19 -0500
Subject: [PATCH 03/35] =?UTF-8?q?=EF=BB=BFAdd=20support=20for=20setting=20?=
=?UTF-8?q?configuration=20to=20our=20thunk=20layer=20class=20(python,=20j?=
=?UTF-8?q?ava,=20c#)=20Also=20removed=20config=20params=20for=20serializi?=
=?UTF-8?q?ng=20out=20the=20initial=20patient,=20as=20that=20is=20all=20in?=
=?UTF-8?q?=20the=20log=20now?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/python/pulse/engine/PulseConfiguration.py | 14 +++++++++++++-
src/python/pulse/engine/io/PulseConfiguration.py | 3 +++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/src/python/pulse/engine/PulseConfiguration.py b/src/python/pulse/engine/PulseConfiguration.py
index 507163c3a..5450bdf83 100644
--- a/src/python/pulse/engine/PulseConfiguration.py
+++ b/src/python/pulse/engine/PulseConfiguration.py
@@ -6,16 +6,21 @@ from pulse.cdm.scalars import SEScalarTime
class PulseConfiguration:
- __slots__ = ["_time_step", "_allow_dynamic_timestep"]
+ __slots__ = ["_time_step", "_allow_dynamic_timestep",
+ "_use_expanded_respiratory"]
def __init__(self):
self._allow_dynamic_timestep = eSwitch.NullSwitch
self._time_step = None
+ self._use_expanded_respiratory = eSwitch.NullSwitch
+
def clear(self):
self._allow_dynamic_timestep = eSwitch.NullSwitch
if self._time_step is not None: self._time_step.invalidate()
+ self._use_expanded_respiratory = eSwitch.NullSwitch
+
def set_allow_dynamic_timestep(self, s: eSwitch):
self._allow_dynamic_timestep = s
def allow_dynamic_timestep(self):
@@ -28,3 +33,10 @@ class PulseConfiguration:
self._time_step = SEScalarTime()
return self._time_step
+ def set_expanded_respiratory(self, s: eSwitch):
+ self._use_expanded_respiratory = s
+ def use_expanded_respiratory(self):
+ return self._use_expanded_respiratory
+
+
+
diff --git a/src/python/pulse/engine/io/PulseConfiguration.py b/src/python/pulse/engine/io/PulseConfiguration.py
index b98dd200d..2df22dbd7 100644
--- a/src/python/pulse/engine/io/PulseConfiguration.py
+++ b/src/python/pulse/engine/io/PulseConfiguration.py
@@ -39,6 +39,9 @@ def serialize_pulse_configuration_to_bind(src: PulseConfiguration, dst: Configur
if src.has_time_step():
serialize_scalar_time_to_bind(src.get_time_step(), dst.TimeStep)
+ if src.use_expanded_respiratory() is not eSwitch.NullSwitch:
+ dst.RespiratoryConfiguration.UseExpandedRespiratory = src.use_expanded_respiratory().value
+
def serialize_pulse_configuration_from_bind(src: ConfigurationData, dst: PulseConfiguration):
raise Exception("serialize_pulse_configuration_from_bind not implemented")
\ No newline at end of file
--
GitLab
From f37aad2fe48f413aec8af6417eeea6d765a696b1 Mon Sep 17 00:00:00 2001
From: Aaron Bray
Date: Sun, 26 Nov 2023 13:38:12 -0500
Subject: [PATCH 04/35] Add python howto for using expanded respiratory system
---
.../controller/SetupExpandedRespiratory.cpp | 2 +-
src/python/pulse/cdm/physiology.py | 20 ++++
.../pulse/howto/HowTo_ExpandedRespiratory.py | 104 ++++++++++++++++++
3 files changed, 125 insertions(+), 1 deletion(-)
create mode 100644 src/python/pulse/howto/HowTo_ExpandedRespiratory.py
diff --git a/src/cpp/engine/common/controller/SetupExpandedRespiratory.cpp b/src/cpp/engine/common/controller/SetupExpandedRespiratory.cpp
index eb077b6d8..9aceaa577 100644
--- a/src/cpp/engine/common/controller/SetupExpandedRespiratory.cpp
+++ b/src/cpp/engine/common/controller/SetupExpandedRespiratory.cpp
@@ -1309,7 +1309,7 @@ namespace pulse
void Controller::SetupExpandedPulmonaryCardiovascular()
{
- Info("Setting Up Cardiovascular");
+ Info("Setting Up Expanded Pulmonary Cardiovascular");
bool male = m_InitialPatient->GetSex() == ePatient_Sex::Male ? true : false;
double RightLungRatio = m_InitialPatient->GetRightLungRatio().GetValue();
double LeftLungRatio = 1 - RightLungRatio;
diff --git a/src/python/pulse/cdm/physiology.py b/src/python/pulse/cdm/physiology.py
index 75755fa12..c46653507 100644
--- a/src/python/pulse/cdm/physiology.py
+++ b/src/python/pulse/cdm/physiology.py
@@ -34,6 +34,26 @@ class eLungCompartment(int, Enum):
RightSuperiorLobe = 4
RightMiddleLobe = 5
RightInferiorLobe = 6
+ # Expanded Respiratory
+ RightSuperiorLobeApical = 7
+ RightSuperiorLobePosterior = 8
+ RightSuperiorLobeAnterior = 9
+ RightMiddleLobeLateral = 10
+ RightMiddleLobeMedial = 11
+ RightInferiorLobeSuperior = 12
+ RightInferiorLobeMedialBasal = 13
+ RightInferiorLobeAnteriorBasal = 14
+ RightInferiorLobeLateralBasal = 15
+ RightInferiorLobePosteriorBasal = 16
+ LeftInferiorLobePosteriorBasal = 17
+ LeftInferiorLobeLateralBasal = 18
+ LeftInferiorLobeAnteromedialBasal = 19
+ LeftInferiorLobeSuperior = 20
+ LeftSuperiorLobeInferiorLingula = 21
+ LeftSuperiorLobeSuperiorLingula = 22
+ LeftSuperiorLobeAnterior = 23
+ LeftSuperiorLobeApicoposterior = 24
+
class SECardiovascularMechanicsModifiers:
diff --git a/src/python/pulse/howto/HowTo_ExpandedRespiratory.py b/src/python/pulse/howto/HowTo_ExpandedRespiratory.py
new file mode 100644
index 000000000..ee10b1364
--- /dev/null
+++ b/src/python/pulse/howto/HowTo_ExpandedRespiratory.py
@@ -0,0 +1,104 @@
+# Distributed under the Apache License, Version 2.0.
+# See accompanying NOTICE file for details.
+
+from pathlib import Path
+
+from pulse.cdm.engine import eSwitch, eSerializationFormat
+from pulse.cdm.engine import SEDataRequestManager, SEDataRequest
+from pulse.cdm.patient import SEPatientConfiguration
+from pulse.cdm.patient_actions import SEAcuteRespiratoryDistressSyndromeExacerbation
+from pulse.cdm.physiology import eLungCompartment
+from pulse.cdm.scalars import FrequencyUnit, LengthUnit, MassUnit, PressureUnit, \
+ TimeUnit, VolumeUnit
+
+from pulse.engine.PulseEngine import PulseEngine
+from pulse.engine.PulseConfiguration import PulseConfiguration
+
+
+def HowTo_ExpandedRespiratory():
+ pulse = PulseEngine()
+ pulse.set_log_filename("./test_results/howto/HowTo_ExpandedRespiratory.py.log")
+ pulse.log_to_console(True)
+
+ cfg = PulseConfiguration()
+ cfg.set_expanded_respiratory(eSwitch.On)
+ pulse.set_configuration_override(cfg)
+
+ data_requests = [
+ SEDataRequest.create_physiology_request("HeartRate", unit=FrequencyUnit.Per_min),
+ SEDataRequest.create_physiology_request("ArterialPressure", unit=PressureUnit.mmHg),
+ SEDataRequest.create_physiology_request("MeanArterialPressure", unit=PressureUnit.mmHg),
+ SEDataRequest.create_physiology_request("SystolicArterialPressure", unit=PressureUnit.mmHg),
+ SEDataRequest.create_physiology_request("DiastolicArterialPressure", unit=PressureUnit.mmHg),
+
+ SEDataRequest.create_physiology_request("EndTidalCarbonDioxidePressure", unit=PressureUnit.mmHg),
+ SEDataRequest.create_physiology_request("HorowitzIndex", unit=PressureUnit.mmHg),
+ SEDataRequest.create_physiology_request("OxygenSaturation"),
+ SEDataRequest.create_physiology_request("RespirationRate", unit=FrequencyUnit.Per_min),
+ SEDataRequest.create_physiology_request("TidalVolume", unit=VolumeUnit.mL),
+ SEDataRequest.create_physiology_request("TotalLungVolume", unit=VolumeUnit.mL),
+ SEDataRequest.create_gas_compartment_request("LeftLungPulmonary", "Volume", unit=VolumeUnit.mL),
+ SEDataRequest.create_gas_compartment_request("RightLungPulmonary", "Volume", unit=VolumeUnit.L),
+ ]
+ data_req_mgr = SEDataRequestManager(data_requests)
+ # NOTE: If No data requests are being provided, Pulse will return the default vitals data
+ # In addition to getting this data back via this API
+ # You can have Pulse write the data you have requested to a CSV file
+ data_req_mgr.set_results_filename("./test_results/howto/HowTo_ExpandedRespiratory.py.csv")
+
+ state_filename = Path("./test_results/howto/Satish.json")
+ if state_filename.exists():
+ # If you have run the patient configuration code below and have a state file, you can load it like this
+ # If you want to stabilize again, just delete that file
+ pulse.serialize_from_file(str(state_filename), data_req_mgr)
+ else:
+ pc = SEPatientConfiguration()
+ p = pc.get_patient()
+ p.set_name("Satish")
+ p.get_age().set_value(22, TimeUnit.yr)
+ p.get_height().set_value(72, LengthUnit.inch)
+ p.get_weight().set_value(180, MassUnit.lb)
+ if not pulse.initialize_engine(pc, data_req_mgr):
+ print("Unable to load stabilize engine")
+ return
+ # Save out the initial stabilized state, we can use it later and start up quicker
+ pulse.serialize_to_file(str(state_filename))
+
+ # Get default data at time 0s from the engine
+ results = pulse.pull_data()
+ pulse.print_results()
+
+
+ # Advance some time and print out the vitals
+ pulse.advance_time_s(30)
+ results = pulse.pull_data()
+ pulse.print_results()
+
+ ards = SEAcuteRespiratoryDistressSyndromeExacerbation()
+ ards.get_severity(eLungCompartment.RightSuperiorLobe).set_value(0.3)
+ ards.get_severity(eLungCompartment.RightSuperiorLobePosterior).set_value(0.3)
+ ards.get_severity(eLungCompartment.RightSuperiorLobeAnterior).set_value(0.3)
+ ards.get_severity(eLungCompartment.RightMiddleLobeLateral).set_value(0.3)
+ ards.get_severity(eLungCompartment.RightMiddleLobeMedial).set_value(0.3)
+ ards.get_severity(eLungCompartment.RightInferiorLobeSuperior).set_value(0.3)
+ ards.get_severity(eLungCompartment.RightInferiorLobeMedialBasal).set_value(0.3)
+ ards.get_severity(eLungCompartment.RightInferiorLobeAnteriorBasal).set_value(0.3)
+ ards.get_severity(eLungCompartment.RightInferiorLobeLateralBasal).set_value(0.3)
+ ards.get_severity(eLungCompartment.RightInferiorLobePosteriorBasal).set_value(0.3)
+ ards.get_severity(eLungCompartment.LeftInferiorLobePosteriorBasal).set_value(0.3)
+ ards.get_severity(eLungCompartment.LeftInferiorLobeLateralBasal).set_value(0.3)
+ ards.get_severity(eLungCompartment.LeftInferiorLobeAnteromedialBasal).set_value(0.3)
+ ards.get_severity(eLungCompartment.LeftInferiorLobeSuperior).set_value(0.3)
+ ards.get_severity(eLungCompartment.LeftSuperiorLobeInferiorLingula).set_value(0.3)
+ ards.get_severity(eLungCompartment.LeftSuperiorLobeSuperiorLingula).set_value(0.3)
+ ards.get_severity(eLungCompartment.LeftSuperiorLobeAnterior).set_value(0.3)
+ ards.get_severity(eLungCompartment.LeftSuperiorLobeApicoposterior).set_value(0.3)
+ pulse.process_action(ards)
+
+ # Advance some time and print out the vitals
+ pulse.advance_time_s(300)
+ results = pulse.pull_data()
+ pulse.print_results()
+
+HowTo_ExpandedRespiratory()
+
--
GitLab
From 210363167ba2605c01dbdc6f8014cb2deca4d158 Mon Sep 17 00:00:00 2001
From: Jeff Webb
Date: Mon, 11 Dec 2023 14:59:54 -0500
Subject: [PATCH 05/35] =?UTF-8?q?=EF=BB=BFAdded=20HowToExpandedRespiratory?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/cpp/howto/EngineHowTo.cpp | 1 +
src/cpp/howto/EngineHowTo.h | 1 +
src/cpp/howto/HowTo-ExpandedRespiratory.cpp | 96 +++++++++++++++++++++
3 files changed, 98 insertions(+)
create mode 100644 src/cpp/howto/HowTo-ExpandedRespiratory.cpp
diff --git a/src/cpp/howto/EngineHowTo.cpp b/src/cpp/howto/EngineHowTo.cpp
index 51ecab8e3..1013911b7 100644
--- a/src/cpp/howto/EngineHowTo.cpp
+++ b/src/cpp/howto/EngineHowTo.cpp
@@ -39,6 +39,7 @@ int main()
//HowToExercise();
//HowToHemorrhage();
//HowToIsoShuntAnalysis();
+ //HowToExpandedRespiratory();
//HowToExpandedVasculature();
//HowToHemorrhage();
//HowToHemothorax();
diff --git a/src/cpp/howto/EngineHowTo.h b/src/cpp/howto/EngineHowTo.h
index 35bd85fce..6390b3082 100644
--- a/src/cpp/howto/EngineHowTo.h
+++ b/src/cpp/howto/EngineHowTo.h
@@ -31,6 +31,7 @@ void HowToECMO();
void HowToDehydration();
void HowToEnvironmentChange();
void HowToExercise();
+void HowToExpandedRespiratory();
void HowToExpandedVasculature();
void HowToHemorrhage();
void HowToIsoShuntAnalysis();
diff --git a/src/cpp/howto/HowTo-ExpandedRespiratory.cpp b/src/cpp/howto/HowTo-ExpandedRespiratory.cpp
new file mode 100644
index 000000000..73dc7e463
--- /dev/null
+++ b/src/cpp/howto/HowTo-ExpandedRespiratory.cpp
@@ -0,0 +1,96 @@
+/* Distributed under the Apache License, Version 2.0.
+ See accompanying NOTICE file for details.*/
+
+#include "EngineHowTo.h"
+#include "PulseEngine.h"
+#include "PulseConfiguration.h"
+#include "cdm/engine/SEPatientConfiguration.h"
+#include "cdm/engine/SEDataRequestManager.h"
+#include "cdm/engine/SEEngineTracker.h"
+#include "cdm/system/physiology/SEBloodChemistrySystem.h"
+#include "cdm/system/physiology/SECardiovascularSystem.h"
+#include "cdm/system/physiology/SERespiratorySystem.h"
+#include "cdm/patient/actions/SEAcuteRespiratoryDistressSyndromeExacerbation.h"
+#include "cdm/properties/SEScalar0To1.h"
+#include "cdm/properties/SEScalarFrequency.h"
+#include "cdm/properties/SEScalarMassPerVolume.h"
+#include "cdm/properties/SEScalarPressure.h"
+#include "cdm/properties/SEScalarTemperature.h"
+#include "cdm/properties/SEScalarTime.h"
+#include "cdm/properties/SEScalarVolume.h"
+#include "cdm/properties/SEScalarVolumePerTime.h"
+#include "cdm/properties/SEScalar0To1.h"
+
+
+void HowToExpandedRespiratory()
+{
+ std::unique_ptr pe = CreatePulseEngine();
+ pe->GetLogger()->LogToConsole(true);
+ pe->GetLogger()->SetLogFile("./test_results/howto/HowTo_ExpandedRespiratory.log");
+
+ PulseConfiguration config;
+ config.UseExpandedRespiratory(eSwitch::On);
+ pe->SetConfigurationOverride(&config);
+
+ pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("HeartRate", FrequencyUnit::Per_min);
+ pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("SystolicArterialPressure", PressureUnit::mmHg);
+ pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("DiastolicArterialPressure", PressureUnit::mmHg);
+ pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("RespirationRate", FrequencyUnit::Per_min);
+ pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("TidalVolume", VolumeUnit::mL);
+ pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("TotalLungVolume", VolumeUnit::mL);
+ pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("OxygenSaturation");
+
+ SEPatientConfiguration pc;
+ pc.SetPatientFile("./patients/StandardMale.json");
+
+ pe->InitializeEngine(pc);
+
+ pe->GetLogger()->Info("Initial vitals");
+ pe->GetLogger()->Info(std::stringstream() << "Tidal Volume : " << pe->GetRespiratorySystem()->GetTidalVolume(VolumeUnit::mL) << VolumeUnit::mL);
+ pe->GetLogger()->Info(std::stringstream() << "Systolic Pressure : " << pe->GetCardiovascularSystem()->GetSystolicArterialPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
+ pe->GetLogger()->Info(std::stringstream() << "Diastolic Pressure : " << pe->GetCardiovascularSystem()->GetDiastolicArterialPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
+ pe->GetLogger()->Info(std::stringstream() << "Heart Rate : " << pe->GetCardiovascularSystem()->GetHeartRate(FrequencyUnit::Per_min) << "bpm");
+ pe->GetLogger()->Info(std::stringstream() << "Respiration Rate : " << pe->GetRespiratorySystem()->GetRespirationRate(FrequencyUnit::Per_min) << "bpm");
+ pe->GetLogger()->Info(std::stringstream() << "Oxygen Saturation : " << pe->GetBloodChemistrySystem()->GetOxygenSaturation());
+
+ pe->AdvanceModelTime(30, TimeUnit::s);
+
+ pe->GetLogger()->Info("Healthy patient");
+ pe->GetLogger()->Info(std::stringstream() << "Tidal Volume : " << pe->GetRespiratorySystem()->GetTidalVolume(VolumeUnit::mL) << VolumeUnit::mL);
+ pe->GetLogger()->Info(std::stringstream() << "Systolic Pressure : " << pe->GetCardiovascularSystem()->GetSystolicArterialPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
+ pe->GetLogger()->Info(std::stringstream() << "Diastolic Pressure : " << pe->GetCardiovascularSystem()->GetDiastolicArterialPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
+ pe->GetLogger()->Info(std::stringstream() << "Heart Rate : " << pe->GetCardiovascularSystem()->GetHeartRate(FrequencyUnit::Per_min) << "bpm");
+ pe->GetLogger()->Info(std::stringstream() << "Respiration Rate : " << pe->GetRespiratorySystem()->GetRespirationRate(FrequencyUnit::Per_min) << "bpm");
+ pe->GetLogger()->Info(std::stringstream() << "Oxygen Saturation : " << pe->GetBloodChemistrySystem()->GetOxygenSaturation());
+
+ SEAcuteRespiratoryDistressSyndromeExacerbation ARDS;
+ ARDS.GetSeverity(eLungCompartment::RightSuperiorLobeApical).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::RightSuperiorLobePosterior).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::RightSuperiorLobeAnterior).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::RightMiddleLobeLateral).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::RightMiddleLobeMedial).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::RightInferiorLobeSuperior).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::RightInferiorLobeMedialBasal).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::RightInferiorLobeAnteriorBasal).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::RightInferiorLobeLateralBasal).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::RightInferiorLobePosteriorBasal).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::LeftInferiorLobePosteriorBasal).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::LeftInferiorLobeLateralBasal).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::LeftInferiorLobeAnteromedialBasal).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::LeftInferiorLobeSuperior).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::LeftSuperiorLobeInferiorLingula).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::LeftSuperiorLobeSuperiorLingula).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::LeftSuperiorLobeAnterior).SetValue(0.3);
+ ARDS.GetSeverity(eLungCompartment::LeftSuperiorLobeApicoposterior).SetValue(0.3);
+ pe->ProcessAction(ARDS);
+
+ pe->AdvanceModelTime(300, TimeUnit::s);
+
+ pe->GetLogger()->Info("Moderate ARDS");
+ pe->GetLogger()->Info(std::stringstream() << "Tidal Volume : " << pe->GetRespiratorySystem()->GetTidalVolume(VolumeUnit::mL) << VolumeUnit::mL);
+ pe->GetLogger()->Info(std::stringstream() << "Systolic Pressure : " << pe->GetCardiovascularSystem()->GetSystolicArterialPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
+ pe->GetLogger()->Info(std::stringstream() << "Diastolic Pressure : " << pe->GetCardiovascularSystem()->GetDiastolicArterialPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
+ pe->GetLogger()->Info(std::stringstream() << "Heart Rate : " << pe->GetCardiovascularSystem()->GetHeartRate(FrequencyUnit::Per_min) << "bpm");
+ pe->GetLogger()->Info(std::stringstream() << "Respiration Rate : " << pe->GetRespiratorySystem()->GetRespirationRate(FrequencyUnit::Per_min) << "bpm");
+ pe->GetLogger()->Info(std::stringstream() << "Oxygen Saturation : " << pe->GetBloodChemistrySystem()->GetOxygenSaturation());
+}
--
GitLab
From 1d949de17bc0a2cb4a58364446a3cdee44027dbf Mon Sep 17 00:00:00 2001
From: Jeff Webb
Date: Mon, 11 Dec 2023 16:07:20 -0500
Subject: [PATCH 06/35] Fixed compartment typo in expanded respiratory HowTo.
---
src/python/pulse/howto/HowTo_ExpandedRespiratory.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/python/pulse/howto/HowTo_ExpandedRespiratory.py b/src/python/pulse/howto/HowTo_ExpandedRespiratory.py
index ee10b1364..998c19d48 100644
--- a/src/python/pulse/howto/HowTo_ExpandedRespiratory.py
+++ b/src/python/pulse/howto/HowTo_ExpandedRespiratory.py
@@ -75,7 +75,7 @@ def HowTo_ExpandedRespiratory():
pulse.print_results()
ards = SEAcuteRespiratoryDistressSyndromeExacerbation()
- ards.get_severity(eLungCompartment.RightSuperiorLobe).set_value(0.3)
+ ards.get_severity(eLungCompartment.RightSuperiorLobeApical).set_value(0.3)
ards.get_severity(eLungCompartment.RightSuperiorLobePosterior).set_value(0.3)
ards.get_severity(eLungCompartment.RightSuperiorLobeAnterior).set_value(0.3)
ards.get_severity(eLungCompartment.RightMiddleLobeLateral).set_value(0.3)
--
GitLab
From 44db56a0f788dbd46b1a3f64af1d8eef6810c639 Mon Sep 17 00:00:00 2001
From: Jeff Webb
Date: Tue, 13 Feb 2024 15:43:24 -0500
Subject: [PATCH 07/35] =?UTF-8?q?=EF=BB=BFAdd=20pulmonary=20resistance=20p?=
=?UTF-8?q?aths=20with=20expanded=20model.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../system/physiology/CardiovascularModel.cpp | 60 ++++++++++++++++++-
1 file changed, 59 insertions(+), 1 deletion(-)
diff --git a/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp b/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp
index a8e77d60d..6dc60efa3 100644
--- a/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp
+++ b/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp
@@ -759,7 +759,65 @@ namespace pulse
if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::On)
{
- //Not yet implemented
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeApicalShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobePosteriorShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeAnteriorShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeLateralShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeMedialShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeSuperiorShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeMedialBasalShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeLateralBasalShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobePosteriorBasalShunt));
+
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeLateralBasalShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeSuperiorShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeAnteriorShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorShunt));
+
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeAnteriorPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeLateralPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeMedialPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeSuperiorPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeMedialBasalPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeAnteriorBasalPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeLateralBasalPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobePosteriorBasalPulmonaryCapillaries));
+
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobePosteriorBasalPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeLateralBasalPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeSuperiorPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeAnteriorPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries));
+
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1));
+
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1));
}
else
{
--
GitLab
From 7c4cec414e5490931f014d32674f04333f55c68b Mon Sep 17 00:00:00 2001
From: JeffWebb6
Date: Fri, 12 Apr 2024 14:13:01 -0400
Subject: [PATCH 08/35] Fix new increment naming.
---
src/cpp/engine/common/system/physiology/TissueModel.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cpp/engine/common/system/physiology/TissueModel.cpp b/src/cpp/engine/common/system/physiology/TissueModel.cpp
index 82889b71d..22694fec2 100644
--- a/src/cpp/engine/common/system/physiology/TissueModel.cpp
+++ b/src/cpp/engine/common/system/physiology/TissueModel.cpp
@@ -1894,7 +1894,7 @@ namespace pulse
{
//TODO: Why doesn't this work?
//quantity->GetMass().SetReadOnly(false);
- //quantity->GetMass().IncrementValue(-massLost_g, MassUnit::g);
+ //quantity->GetMass().Increment(-massLost_g, MassUnit::g);
//quantity->GetMass().SetReadOnly(true);
}
else
--
GitLab
From 8682dc185496484d0f44b7ed7a0599bbb3290cb7 Mon Sep 17 00:00:00 2001
From: JeffWebb6
Date: Fri, 12 Apr 2024 14:13:41 -0400
Subject: [PATCH 09/35] Update for new respiratory vs pulmonary naming.
---
.../system/physiology/CardiovascularModel.cpp | 38 +++++++++----------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp b/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp
index 6dc60efa3..1064809e6 100644
--- a/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp
+++ b/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp
@@ -725,25 +725,25 @@ namespace pulse
if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::On)
{
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToGround));
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToGround));
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToGround));
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToGround));
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToGround));
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToGround));
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToGround));
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToGround));
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToGround));
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToGround));
-
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToGround));
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToGround));
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToGround));
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToGround));
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToGround));
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToGround));
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToGround));
- m_PulmonaryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToGround));
+
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToGround));
}
else
{
--
GitLab
From a6c1403dc49ff3589450e3d5ed4f4b18768174e9 Mon Sep 17 00:00:00 2001
From: JeffWebb6
Date: Fri, 12 Apr 2024 14:14:18 -0400
Subject: [PATCH 10/35] Add alveoli path for new insult loop.
---
.../system/physiology/RespiratoryModel.cpp | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
index c00804aab..ff0481326 100644
--- a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
+++ b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
@@ -552,6 +552,7 @@ namespace pulse
eSide::Right,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeApicalAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeApicalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightSuperiorLobeApicalAlveoliToRightPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobeApicalShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1),
@@ -563,6 +564,7 @@ namespace pulse
eSide::Right,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobePosteriorAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobePosteriorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightSuperiorLobePosteriorAlveoliToRightPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobePosteriorShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1),
@@ -574,6 +576,7 @@ namespace pulse
eSide::Right,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeAnteriorAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeAnteriorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightSuperiorLobeAnteriorAlveoliToRightPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobeAnteriorShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1),
@@ -585,6 +588,7 @@ namespace pulse
eSide::Right,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeLateralAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeLateralAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightMiddleLobeLateralAlveoliToRightPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightMiddleLobeLateralShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1),
@@ -596,6 +600,7 @@ namespace pulse
eSide::Right,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeMedialAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeMedialAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightMiddleLobeMedialAlveoliToRightPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightMiddleLobeMedialShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1),
@@ -607,6 +612,7 @@ namespace pulse
eSide::Right,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeSuperiorAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeSuperiorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobeSuperiorAlveoliToRightPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeSuperiorShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1),
@@ -618,6 +624,7 @@ namespace pulse
eSide::Right,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeMedialBasalAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeMedialBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobeMedialBasalAlveoliToRightPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeMedialBasalShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1),
@@ -629,6 +636,7 @@ namespace pulse
eSide::Right,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeAnteriorBasalAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeAnteriorBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobeAnteriorBasalAlveoliToRightPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1),
@@ -640,6 +648,7 @@ namespace pulse
eSide::Right,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeLateralBasalAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeLateralBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobeLateralBasalAlveoliToRightPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeLateralBasalShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1),
@@ -651,6 +660,7 @@ namespace pulse
eSide::Right,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobePosteriorBasalAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobePosteriorBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobePosteriorBasalAlveoliToRightPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobePosteriorBasalShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1),
@@ -662,6 +672,7 @@ namespace pulse
eSide::Left,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobePosteriorBasalAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobePosteriorBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobePosteriorBasalAlveoliToLeftPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1),
@@ -673,6 +684,7 @@ namespace pulse
eSide::Left,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeLateralBasalAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeLateralBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobeLateralBasalAlveoliToLeftPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeLateralBasalShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1),
@@ -684,6 +696,7 @@ namespace pulse
eSide::Left,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeAnteromedialBasalAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobeAnteromedialBasalAlveoliToLeftPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1),
@@ -695,6 +708,7 @@ namespace pulse
eSide::Left,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeSuperiorAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeSuperiorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobeSuperiorAlveoliToLeftPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeSuperiorShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1),
@@ -706,6 +720,7 @@ namespace pulse
eSide::Left,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeInferiorLingulaAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftSuperiorLobeInferiorLingulaAlveoliToLeftPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1),
@@ -717,6 +732,7 @@ namespace pulse
eSide::Left,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeSuperiorLingulaAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftSuperiorLobeSuperiorLingulaAlveoliToLeftPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1),
@@ -728,6 +744,7 @@ namespace pulse
eSide::Left,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeAnteriorAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeAnteriorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftSuperiorLobeAnteriorAlveoliToLeftPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeAnteriorShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1),
@@ -739,6 +756,7 @@ namespace pulse
eSide::Left,
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeApicoposteriorAlveoli),
m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeApicoposteriorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftSuperiorLobeApicoposteriorAlveoliToLeftPleuralConnection),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorShunt),
m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1),
--
GitLab
From 2b287cb7e723d993b9db972869947f27f234d441 Mon Sep 17 00:00:00 2001
From: JeffWebb6
Date: Mon, 15 Apr 2024 18:13:48 -0400
Subject: [PATCH 11/35] =?UTF-8?q?=EF=BB=BFAdded=20new=20primary=20blast=20?=
=?UTF-8?q?lung=20injury=20action.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
data/config/ScenarioVerification.config | 1 +
.../patient/PrimaryBlastLungInjury.json | 85 ++++++++++++++
docs/Markdown/Interface.md | 1 +
.../cdm/engine/SEPatientActionCollection.cpp | 38 ++++++
.../cdm/engine/SEPatientActionCollection.h | 7 ++
src/cpp/cdm/files.cmake | 2 +
src/cpp/cdm/io/protobuf/PBEngine.cpp | 3 +
src/cpp/cdm/io/protobuf/PBPatientActions.cpp | 51 +++++++++
src/cpp/cdm/io/protobuf/PBPatientActions.h | 7 ++
.../actions/SEPrimaryBlastLungInjury.cpp | 105 +++++++++++++++++
.../actions/SEPrimaryBlastLungInjury.h | 38 ++++++
src/cpp/cdm/test/ActionTest.cpp | 4 +
.../system/physiology/RespiratoryModel.cpp | 90 ++++++++++++++-
src/csharp/PulseFiles.cmake | 1 +
src/csharp/pulse/cdm/io/PBPatientActions.cs | 43 +++++++
.../patient/actions/PrimaryBlastLungInjury.cs | 59 ++++++++++
src/java/PulseFiles.cmake | 1 +
.../cdm/patient/actions/SEPatientAction.java | 11 ++
.../actions/SEPrimaryBlastLungInjury.java | 108 ++++++++++++++++++
src/python/pulse/cdm/io/patient_actions.py | 13 +++
src/python/pulse/cdm/patient_actions.py | 36 ++++++
.../pulse/howto/HowTo_ExpandedRespiratory.py | 42 +++----
.../pulse/cdm/bind/PatientActions.proto | 29 +++--
23 files changed, 742 insertions(+), 33 deletions(-)
create mode 100644 data/human/adult/scenarios/patient/PrimaryBlastLungInjury.json
create mode 100644 src/cpp/cdm/patient/actions/SEPrimaryBlastLungInjury.cpp
create mode 100644 src/cpp/cdm/patient/actions/SEPrimaryBlastLungInjury.h
create mode 100644 src/csharp/pulse/cdm/patient/actions/PrimaryBlastLungInjury.cs
create mode 100644 src/java/com/kitware/pulse/cdm/patient/actions/SEPrimaryBlastLungInjury.java
diff --git a/data/config/ScenarioVerification.config b/data/config/ScenarioVerification.config
index 93ebf4920..80abe9d87 100644
--- a/data/config/ScenarioVerification.config
+++ b/data/config/ScenarioVerification.config
@@ -111,6 +111,7 @@ patient/PneumoniaExacerbation.json = ScenarioTest
patient/PneumoniaModerateBothLungs.json = ScenarioTest
patient/PneumoniaSevereLeftLobe.json = ScenarioTest
patient/PneumoniaSevereRightLung.json = ScenarioTest
+patient/PrimaryBlastLungInjury.json = ScenarioTest
patient/PulmonaryFibrosisSevere.json = ScenarioTest
patient/RenalStenosisSevereBilateral.json = ScenarioTest
patient/RenalStenosisModerateUnilateral.json = ScenarioTest
diff --git a/data/human/adult/scenarios/patient/PrimaryBlastLungInjury.json b/data/human/adult/scenarios/patient/PrimaryBlastLungInjury.json
new file mode 100644
index 000000000..3283e87af
--- /dev/null
+++ b/data/human/adult/scenarios/patient/PrimaryBlastLungInjury.json
@@ -0,0 +1,85 @@
+{
+ "Name": "PrimaryBlastLungInjury",
+ "Description": "Increasing severities of ARDS.",
+ "PatientConfiguration": { "PatientFile": "StandardMale.json" },
+ "DataRequestFile": [
+ "StandardDataRequests.json",
+ "RespiratoryDataRequests.json"
+ ],
+ "AnyAction":
+ [
+ { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 2.0, "Unit": "min" }}}},
+ { "PatientAction": { "PrimaryBlastLungInjury":
+ {
+ "Severity": [
+ { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}}]
+ }}
+ },
+ { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 5.0, "Unit": "min" }}}},
+ { "PatientAction": { "PrimaryBlastLungInjury":
+ {
+ "Severity": [
+ { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}}]
+ }}
+ },
+ { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 5.0, "Unit": "min" }}}},
+ { "PatientAction": { "PrimaryBlastLungInjury":
+ {
+ "Severity": [
+ { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}}]
+ }}
+ },
+ { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 10.0, "Unit": "min" }}}}
+ ]
+}
diff --git a/docs/Markdown/Interface.md b/docs/Markdown/Interface.md
index da243cf9d..74ca908e2 100644
--- a/docs/Markdown/Interface.md
+++ b/docs/Markdown/Interface.md
@@ -337,6 +337,7 @@ You will need to create an instance of an action class, fill it out with the nec
@refitem MechanicalVentilationTable "Mechanical Ventilation"
@refitem NeedleDecompressionTable "Needle Decompression"
@refitem PericardialEffusionTable "Pericardial Effusion"
+ @refitem PrimaryBlastLungInjuryTable "Primary Blast Lung Injury"
@refitem PulmonaryShuntExacerbationTable "Pulmonary Shunt Exacerbation"
@refitem RespiratoryFatigueTable "Respiratory Fatigue"
@refitem RespiratoryMechanicsConfigurationTable "Respiratory Mechanics Configuration"
diff --git a/src/cpp/cdm/engine/SEPatientActionCollection.cpp b/src/cpp/cdm/engine/SEPatientActionCollection.cpp
index c040827e4..60f4246a1 100644
--- a/src/cpp/cdm/engine/SEPatientActionCollection.cpp
+++ b/src/cpp/cdm/engine/SEPatientActionCollection.cpp
@@ -29,6 +29,7 @@
#include "cdm/patient/actions/SENeedleDecompression.h"
#include "cdm/patient/actions/SEPericardialEffusion.h"
#include "cdm/patient/actions/SEPneumoniaExacerbation.h"
+#include "cdm/patient/actions/SEPrimaryBlastLungInjury.h"
#include "cdm/patient/actions/SEPulmonaryShuntExacerbation.h"
#include "cdm/patient/actions/SERespiratoryFatigue.h"
#include "cdm/patient/actions/SERespiratoryMechanicsConfiguration.h"
@@ -81,6 +82,7 @@ SEPatientActionCollection::SEPatientActionCollection(SESubstanceManager& subMgr)
m_RespiratoryMechanicsModification = nullptr;
m_PericardialEffusion = nullptr;
m_PneumoniaExacerbation = nullptr;
+ m_PrimaryBlastLungInjury = nullptr;
m_PulmonaryShuntExacerbation = nullptr;
m_SupplementalOxygen = nullptr;
m_LeftOpenTensionPneumothorax = nullptr;
@@ -121,6 +123,7 @@ SEPatientActionCollection::~SEPatientActionCollection()
SAFE_DELETE(m_RightNeedleDecompression);
SAFE_DELETE(m_PericardialEffusion);
SAFE_DELETE(m_PneumoniaExacerbation);
+ SAFE_DELETE(m_PrimaryBlastLungInjury);
SAFE_DELETE(m_PulmonaryShuntExacerbation);
SAFE_DELETE(m_RespiratoryFatigue);
SAFE_DELETE(m_RespiratoryMechanicsConfiguration);
@@ -168,6 +171,7 @@ void SEPatientActionCollection::Clear()
RemoveRightNeedleDecompression();
RemovePericardialEffusion();
RemovePneumoniaExacerbation();
+ RemovePrimaryBlastLungInjury();
RemovePulmonaryShuntExacerbation();
RemoveRespiratoryFatigue();
RemoveRespiratoryMechanicsConfiguration();
@@ -541,6 +545,16 @@ bool SEPatientActionCollection::ProcessAction(const SEPatientAction& action)
return true;
}
+ const SEPrimaryBlastLungInjury* pbli = dynamic_cast(&action);
+ if (pbli != nullptr)
+ {
+ GetPrimaryBlastLungInjury().Copy(*pbli, true);
+ m_PrimaryBlastLungInjury->Activate();
+ if (!m_PrimaryBlastLungInjury->IsActive())
+ RemovePrimaryBlastLungInjury();
+ return true;
+ }
+
const SEPulmonaryShuntExacerbation* pulshuntex = dynamic_cast(&action);
if (pulshuntex != nullptr)
{
@@ -1333,6 +1347,26 @@ void SEPatientActionCollection::RemovePneumoniaExacerbation()
m_PneumoniaExacerbation->Deactivate();
}
+bool SEPatientActionCollection::HasPrimaryBlastLungInjury() const
+{
+ return m_PrimaryBlastLungInjury == nullptr ? false : m_PrimaryBlastLungInjury->IsActive();
+}
+SEPrimaryBlastLungInjury& SEPatientActionCollection::GetPrimaryBlastLungInjury()
+{
+ if (m_PrimaryBlastLungInjury == nullptr)
+ m_PrimaryBlastLungInjury = new SEPrimaryBlastLungInjury(GetLogger());
+ return *m_PrimaryBlastLungInjury;
+}
+const SEPrimaryBlastLungInjury* SEPatientActionCollection::GetPrimaryBlastLungInjury() const
+{
+ return m_PrimaryBlastLungInjury;
+}
+void SEPatientActionCollection::RemovePrimaryBlastLungInjury()
+{
+ if (m_PrimaryBlastLungInjury)
+ m_PrimaryBlastLungInjury->Deactivate();
+}
+
bool SEPatientActionCollection::HasPulmonaryShuntExacerbation() const
{
return m_PulmonaryShuntExacerbation == nullptr ? false : m_PulmonaryShuntExacerbation->IsActive();
@@ -1781,6 +1815,8 @@ void SEPatientActionCollection::GetAllActions(std::vector& acti
actions.push_back(GetPericardialEffusion());
if (HasPneumoniaExacerbation())
actions.push_back(GetPneumoniaExacerbation());
+ if (HasPrimaryBlastLungInjury())
+ actions.push_back(GetPrimaryBlastLungInjury());
if (HasPulmonaryShuntExacerbation())
actions.push_back(GetPulmonaryShuntExacerbation());
if (HasRespiratoryFatigue())
@@ -1884,6 +1920,8 @@ const SEScalar* SEPatientActionCollection::GetScalar(const std::string& actionNa
return GetPericardialEffusion().GetScalar(property);
if (actionName == "PneumoniaExacerbation")
return GetPneumoniaExacerbation().GetScalar(property);
+ if (actionName == "PrimaryBlastLungInjury")
+ return GetPrimaryBlastLungInjury().GetScalar(property);
if (actionName == "PulmonaryShuntExacerbation")
return GetPulmonaryShuntExacerbation().GetScalar(property);
if (actionName == "RespiratoryFatigue")
diff --git a/src/cpp/cdm/engine/SEPatientActionCollection.h b/src/cpp/cdm/engine/SEPatientActionCollection.h
index d885e4b47..356a33317 100644
--- a/src/cpp/cdm/engine/SEPatientActionCollection.h
+++ b/src/cpp/cdm/engine/SEPatientActionCollection.h
@@ -30,6 +30,7 @@ class SEMechanicalVentilation;
class SENeedleDecompression;
class SEPericardialEffusion;
class SEPneumoniaExacerbation;
+class SEPrimaryBlastLungInjury;
class SEPulmonaryShuntExacerbation;
class SERespiratoryFatigue;
class SERespiratoryMechanicsConfiguration;
@@ -203,6 +204,11 @@ public:
const SEPneumoniaExacerbation* GetPneumoniaExacerbation() const;
void RemovePneumoniaExacerbation();
+ bool HasPrimaryBlastLungInjury() const;
+ SEPrimaryBlastLungInjury& GetPrimaryBlastLungInjury();
+ const SEPrimaryBlastLungInjury* GetPrimaryBlastLungInjury() const;
+ void RemovePrimaryBlastLungInjury();
+
bool HasPulmonaryShuntExacerbation() const;
SEPulmonaryShuntExacerbation& GetPulmonaryShuntExacerbation();
const SEPulmonaryShuntExacerbation* GetPulmonaryShuntExacerbation() const;
@@ -327,6 +333,7 @@ protected:
SENeedleDecompression* m_RightNeedleDecompression;
SEPericardialEffusion* m_PericardialEffusion;
SEPneumoniaExacerbation* m_PneumoniaExacerbation;
+ SEPrimaryBlastLungInjury* m_PrimaryBlastLungInjury;
SEPulmonaryShuntExacerbation* m_PulmonaryShuntExacerbation;
SERespiratoryFatigue* m_RespiratoryFatigue;
SERespiratoryMechanicsConfiguration* m_RespiratoryMechanicsConfiguration;
diff --git a/src/cpp/cdm/files.cmake b/src/cpp/cdm/files.cmake
index 8d0fad42d..6e08830c4 100644
--- a/src/cpp/cdm/files.cmake
+++ b/src/cpp/cdm/files.cmake
@@ -155,6 +155,7 @@ set(CDM_H_FILES
cdm/patient/actions/SEPatientAssessmentRequest.h
cdm/patient/actions/SEPericardialEffusion.h
cdm/patient/actions/SEPneumoniaExacerbation.h
+ cdm/patient/actions/SEPrimaryBlastLungInjury.h
cdm/patient/actions/SEPulmonaryShuntExacerbation.h
cdm/patient/actions/SERespiratoryFatigue.h
cdm/patient/actions/SERespiratoryMechanicsConfiguration.h
@@ -531,6 +532,7 @@ set(CDM_CPP_FILES
cdm/patient/actions/SEPatientAssessmentRequest.cpp
cdm/patient/actions/SEPericardialEffusion.cpp
cdm/patient/actions/SEPneumoniaExacerbation.cpp
+ cdm/patient/actions/SEPrimaryBlastLungInjury.cpp
cdm/patient/actions/SEPulmonaryShuntExacerbation.cpp
cdm/patient/actions/SERespiratoryFatigue.cpp
cdm/patient/actions/SERespiratoryMechanicsConfiguration.cpp
diff --git a/src/cpp/cdm/io/protobuf/PBEngine.cpp b/src/cpp/cdm/io/protobuf/PBEngine.cpp
index b7600c006..287955251 100644
--- a/src/cpp/cdm/io/protobuf/PBEngine.cpp
+++ b/src/cpp/cdm/io/protobuf/PBEngine.cpp
@@ -100,6 +100,7 @@ POP_PROTO_WARNINGS
#include "cdm/patient/actions/SENeedleDecompression.h"
#include "cdm/patient/actions/SEPericardialEffusion.h"
#include "cdm/patient/actions/SEPneumoniaExacerbation.h"
+#include "cdm/patient/actions/SEPrimaryBlastLungInjury.h"
#include "cdm/patient/actions/SEPulmonaryShuntExacerbation.h"
#include "cdm/patient/actions/SERespiratoryFatigue.h"
#include "cdm/patient/actions/SERespiratoryMechanicsConfiguration.h"
@@ -377,6 +378,8 @@ void PBEngine::Serialize(const SEPatientActionCollection& src, CDM_BIND::ActionL
dst.mutable_anyaction()->AddAllocated(PBAction::Unload(*src.m_PericardialEffusion));
if (src.HasPneumoniaExacerbation())
dst.mutable_anyaction()->AddAllocated(PBAction::Unload(*src.m_PneumoniaExacerbation));
+ if (src.HasPrimaryBlastLungInjury())
+ dst.mutable_anyaction()->AddAllocated(PBAction::Unload(*src.m_PrimaryBlastLungInjury));
if (src.HasPulmonaryShuntExacerbation())
dst.mutable_anyaction()->AddAllocated(PBAction::Unload(*src.m_PulmonaryShuntExacerbation));
if (src.HasRespiratoryFatigue())
diff --git a/src/cpp/cdm/io/protobuf/PBPatientActions.cpp b/src/cpp/cdm/io/protobuf/PBPatientActions.cpp
index 05f6f2171..a89bdc3e2 100644
--- a/src/cpp/cdm/io/protobuf/PBPatientActions.cpp
+++ b/src/cpp/cdm/io/protobuf/PBPatientActions.cpp
@@ -42,6 +42,7 @@ POP_PROTO_WARNINGS
#include "cdm/patient/actions/SENeedleDecompression.h"
#include "cdm/patient/actions/SEPericardialEffusion.h"
#include "cdm/patient/actions/SEPneumoniaExacerbation.h"
+#include "cdm/patient/actions/SEPrimaryBlastLungInjury.h"
#include "cdm/patient/actions/SEPulmonaryShuntExacerbation.h"
#include "cdm/patient/actions/SERespiratoryFatigue.h"
#include "cdm/patient/actions/SERespiratoryMechanicsConfiguration.h"
@@ -1192,6 +1193,44 @@ void PBPatientAction::Copy(const SEPneumoniaExacerbation& src, SEPneumoniaExacer
PBPatientAction::Serialize(data, dst);
}
+void PBPatientAction::Load(const CDM_BIND::PrimaryBlastLungInjuryData& src, SEPrimaryBlastLungInjury& dst)
+{
+ dst.Clear();
+ PBPatientAction::Serialize(src, dst);
+}
+void PBPatientAction::Serialize(const CDM_BIND::PrimaryBlastLungInjuryData& src, SEPrimaryBlastLungInjury& dst)
+{
+ PBPatientAction::Serialize(src.patientaction(), dst);
+ for (int i = 0; i < src.severity_size(); i++)
+ {
+ auto& impairment = src.severity()[i];
+ PBProperty::Load(impairment.severity(), dst.GetSeverity((eLungCompartment)impairment.compartment()));
+ }
+}
+CDM_BIND::PrimaryBlastLungInjuryData* PBPatientAction::Unload(const SEPrimaryBlastLungInjury& src)
+{
+ CDM_BIND::PrimaryBlastLungInjuryData* dst = new CDM_BIND::PrimaryBlastLungInjuryData();
+ PBPatientAction::Serialize(src, *dst);
+ return dst;
+}
+void PBPatientAction::Serialize(const SEPrimaryBlastLungInjury& src, CDM_BIND::PrimaryBlastLungInjuryData& dst)
+{
+ PBPatientAction::Serialize(src, *dst.mutable_patientaction());
+ for (auto itr : src.m_Severities)
+ {
+ auto impairment = dst.mutable_severity()->Add();
+ impairment->set_compartment((CDM_BIND::eLungCompartment)itr.first);
+ impairment->set_allocated_severity(PBProperty::Unload(*itr.second));
+ }
+}
+void PBPatientAction::Copy(const SEPrimaryBlastLungInjury& src, SEPrimaryBlastLungInjury& dst)
+{
+ dst.Clear();
+ CDM_BIND::PrimaryBlastLungInjuryData data;
+ PBPatientAction::Serialize(src, data);
+ PBPatientAction::Serialize(data, dst);
+}
+
void PBPatientAction::Load(const CDM_BIND::PulmonaryShuntExacerbationData& src, SEPulmonaryShuntExacerbation& dst)
{
dst.Clear();
@@ -1775,6 +1814,12 @@ SEPatientAction* PBPatientAction::Load(const CDM_BIND::AnyPatientActionData& any
PBPatientAction::Load(any.pneumoniaexacerbation(), *a);
return a;
}
+ case CDM_BIND::AnyPatientActionData::ActionCase::kPrimaryBlastLungInjury:
+ {
+ SEPrimaryBlastLungInjury* a = new SEPrimaryBlastLungInjury();
+ PBPatientAction::Load(any.primaryblastlunginjury(), *a);
+ return a;
+ }
case CDM_BIND::AnyPatientActionData::ActionCase::kPulmonaryShuntExacerbation:
{
SEPulmonaryShuntExacerbation* a = new SEPulmonaryShuntExacerbation();
@@ -2027,6 +2072,12 @@ CDM_BIND::AnyPatientActionData* PBPatientAction::Unload(const SEPatientAction& a
any->set_allocated_pneumoniaexacerbation(PBPatientAction::Unload(*lp));
return any;
}
+ const SEPrimaryBlastLungInjury* pbli = dynamic_cast(&action);
+ if (pbli != nullptr)
+ {
+ any->set_allocated_primaryblastlunginjury(PBPatientAction::Unload(*pbli));
+ return any;
+ }
const SEPulmonaryShuntExacerbation* pse = dynamic_cast(&action);
if (pse != nullptr)
{
diff --git a/src/cpp/cdm/io/protobuf/PBPatientActions.h b/src/cpp/cdm/io/protobuf/PBPatientActions.h
index a02cacc27..62330b672 100644
--- a/src/cpp/cdm/io/protobuf/PBPatientActions.h
+++ b/src/cpp/cdm/io/protobuf/PBPatientActions.h
@@ -32,6 +32,7 @@ CDM_BIND_DECL2(NeedleDecompression)
CDM_BIND_DECL2(PatientAssessmentRequest)
CDM_BIND_DECL2(PericardialEffusion)
CDM_BIND_DECL2(PneumoniaExacerbation)
+CDM_BIND_DECL2(PrimaryBlastLungInjury)
CDM_BIND_DECL2(PulmonaryShuntExacerbation)
CDM_BIND_DECL2(RespiratoryFatigue)
CDM_BIND_DECL2(RespiratoryMechanicsConfiguration)
@@ -232,6 +233,12 @@ public:
static void Serialize(const SEPneumoniaExacerbation& src, CDM_BIND::PneumoniaExacerbationData& dst);
static void Copy(const SEPneumoniaExacerbation& src, SEPneumoniaExacerbation& dst);
+ static void Load(const CDM_BIND::PrimaryBlastLungInjuryData& src, SEPrimaryBlastLungInjury& dst);
+ static CDM_BIND::PrimaryBlastLungInjuryData* Unload(const SEPrimaryBlastLungInjury& src);
+ static void Serialize(const CDM_BIND::PrimaryBlastLungInjuryData& src, SEPrimaryBlastLungInjury& dst);
+ static void Serialize(const SEPrimaryBlastLungInjury& src, CDM_BIND::PrimaryBlastLungInjuryData& dst);
+ static void Copy(const SEPrimaryBlastLungInjury& src, SEPrimaryBlastLungInjury& dst);
+
static void Load(const CDM_BIND::PulmonaryShuntExacerbationData& src, SEPulmonaryShuntExacerbation& dst);
static CDM_BIND::PulmonaryShuntExacerbationData* Unload(const SEPulmonaryShuntExacerbation& src);
static void Serialize(const CDM_BIND::PulmonaryShuntExacerbationData& src, SEPulmonaryShuntExacerbation& dst);
diff --git a/src/cpp/cdm/patient/actions/SEPrimaryBlastLungInjury.cpp b/src/cpp/cdm/patient/actions/SEPrimaryBlastLungInjury.cpp
new file mode 100644
index 000000000..e1f1cb717
--- /dev/null
+++ b/src/cpp/cdm/patient/actions/SEPrimaryBlastLungInjury.cpp
@@ -0,0 +1,105 @@
+/* Distributed under the Apache License, Version 2.0.
+ See accompanying NOTICE file for details.*/
+
+#include "cdm/CommonDefs.h"
+#include "cdm/patient/actions/SEPrimaryBlastLungInjury.h"
+#include "cdm/properties/SEScalar0To1.h"
+#include "cdm/io/protobuf/PBPatientActions.h"
+
+SEPrimaryBlastLungInjury::SEPrimaryBlastLungInjury(Logger* logger) : SEPatientAction(logger)
+{
+
+}
+
+SEPrimaryBlastLungInjury::~SEPrimaryBlastLungInjury()
+{
+ DELETE_MAP_SECOND(m_Severities);
+}
+
+void SEPrimaryBlastLungInjury::Clear()
+{
+ SEPatientAction::Clear();
+ for (auto itr : m_Severities)
+ if (itr.second != nullptr)
+ itr.second->Invalidate();
+}
+
+void SEPrimaryBlastLungInjury::Copy(const SEPrimaryBlastLungInjury& src, bool /*preserveState*/)
+{
+ //if(preserveState) // Cache any state before copy,
+ PBPatientAction::Copy(src, *this);
+ //if(preserveState) // Put back any state
+}
+
+bool SEPrimaryBlastLungInjury::IsValid() const
+{
+ if (!SEPatientAction::IsValid())
+ return false;
+ return HasSeverity();
+}
+bool SEPrimaryBlastLungInjury::IsActive() const
+{
+ if (!SEPatientAction::IsActive())
+ return false;
+ if (!HasSeverity())
+ return false;
+ return true;
+}
+void SEPrimaryBlastLungInjury::Activate()
+{
+ SEPatientAction::Activate();
+ SERespiratorySystem::FillLungImpairmentMap(m_Severities);
+}
+void SEPrimaryBlastLungInjury::Deactivate()
+{
+ SEPatientAction::Deactivate();
+ Clear();//No stateful properties
+}
+
+const SEScalar* SEPrimaryBlastLungInjury::GetScalar(const std::string& /*name*/)
+{
+ return nullptr;
+}
+
+bool SEPrimaryBlastLungInjury::HasSeverity() const
+{
+ for (auto itr : m_Severities)
+ if (itr.second != nullptr && itr.second->IsValid())
+ return true;
+ return false;
+}
+LungImpairmentMap& SEPrimaryBlastLungInjury::GetSeverities()
+{
+ return m_Severities;
+}
+const LungImpairmentMap& SEPrimaryBlastLungInjury::GetSeverities() const
+{
+ return m_Severities;
+}
+
+bool SEPrimaryBlastLungInjury::HasSeverity(eLungCompartment cmpt) const
+{
+ auto s = m_Severities.find(cmpt);
+ if (s == m_Severities.end())
+ return false;
+ if (s->second == nullptr)
+ return false;
+ return s->second->IsValid();
+}
+SEScalar0To1& SEPrimaryBlastLungInjury::GetSeverity(eLungCompartment cmpt)
+{
+ SEScalar0To1* s = m_Severities[cmpt];
+ if (s == nullptr)
+ {
+ s = new SEScalar0To1();
+ m_Severities[cmpt] = s;
+ }
+ return *s;
+}
+double SEPrimaryBlastLungInjury::GetSeverity(eLungCompartment cmpt) const
+{
+ auto s = m_Severities.find(cmpt);
+ if (s == m_Severities.end())
+ return SEScalar::dNaN();
+ return s->second->GetValue();
+}
diff --git a/src/cpp/cdm/patient/actions/SEPrimaryBlastLungInjury.h b/src/cpp/cdm/patient/actions/SEPrimaryBlastLungInjury.h
new file mode 100644
index 000000000..97cb50636
--- /dev/null
+++ b/src/cpp/cdm/patient/actions/SEPrimaryBlastLungInjury.h
@@ -0,0 +1,38 @@
+/* Distributed under the Apache License, Version 2.0.
+ See accompanying NOTICE file for details.*/
+
+#pragma once
+#include "cdm/patient/actions/SEPatientAction.h"
+#include "cdm/system/physiology/SERespiratorySystem.h"
+
+class CDM_DECL SEPrimaryBlastLungInjury : public SEPatientAction
+{
+ friend class PBPatientAction;//friend the serialization class
+public:
+
+ SEPrimaryBlastLungInjury(Logger* logger=nullptr);
+ virtual ~SEPrimaryBlastLungInjury();
+
+ static constexpr char const* Name = "ARDS Exacerbation";
+ std::string GetName() const override { return Name; }
+
+ void Clear() override;
+ void Copy(const SEPrimaryBlastLungInjury& src, bool preserveState=false);
+
+ const SEScalar* GetScalar(const std::string& name) override;
+
+ bool IsValid() const override;
+ bool IsActive() const override;
+ void Activate() override;
+ void Deactivate() override;
+
+ virtual bool HasSeverity() const;
+ virtual LungImpairmentMap& GetSeverities();
+ virtual const LungImpairmentMap& GetSeverities() const;
+ virtual bool HasSeverity(eLungCompartment cmpt) const;
+ virtual SEScalar0To1& GetSeverity(eLungCompartment cmpt);
+ virtual double GetSeverity(eLungCompartment cmpt) const;
+
+protected:
+ LungImpairmentMap m_Severities;
+};
\ No newline at end of file
diff --git a/src/cpp/cdm/test/ActionTest.cpp b/src/cpp/cdm/test/ActionTest.cpp
index aca5febea..31d36601c 100644
--- a/src/cpp/cdm/test/ActionTest.cpp
+++ b/src/cpp/cdm/test/ActionTest.cpp
@@ -33,6 +33,7 @@
#include "cdm/patient/actions/SENeedleDecompression.h"
#include "cdm/patient/actions/SEPatientAssessmentRequest.h"
#include "cdm/patient/actions/SEPneumoniaExacerbation.h"
+#include "cdm/patient/actions/SEPrimaryBlastLungInjury.h"
#include "cdm/patient/actions/SEPericardialEffusion.h"
#include "cdm/patient/actions/SEPulmonaryShuntExacerbation.h"
#include "cdm/patient/actions/SERespiratoryFatigue.h"
@@ -256,6 +257,9 @@ void CommonDataModelTest::ActionTest(const std::string& rptDirectory)
lpe.GetSeverity(eLungCompartment::RightLung).SetValue(0.3);
TestAction(testSuite.CreateTestCase(), subMgr, lpe, "-Severity-LeftLungAffected-RightLungAffected");
+ //Aaron -do this
+ //SEPrimaryBlastLungInjury
+
SEMechanicalVentilation mv;
mv.SetState(eSwitch::On);
mv.GetFlow().SetValue(5, VolumePerTimeUnit::mL_Per_min);
diff --git a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
index ff0481326..c11582418 100644
--- a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
+++ b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
@@ -36,6 +36,7 @@
#include "cdm/patient/actions/SEMechanicalVentilation.h"
#include "cdm/patient/actions/SENeedleDecompression.h"
#include "cdm/patient/actions/SEPneumoniaExacerbation.h"
+#include "cdm/patient/actions/SEPrimaryBlastLungInjury.h"
#include "cdm/patient/actions/SEPulmonaryShuntExacerbation.h"
#include "cdm/patient/actions/SERespiratoryFatigue.h"
#include "cdm/patient/actions/SERespiratoryMechanicsConfiguration.h"
@@ -3386,7 +3387,32 @@ namespace pulse
double alveoliVolumeRatio = alveoliVolumeBaseline_L / totalBaselineAlveoliVolume_L;
//------------------------------------------------------------------------------------------------------
- //Restrictive
+ //PBLI
+ //Same as ARDS
+ if (m_PatientActions->HasPrimaryBlastLungInjury())
+ {
+ double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
+ if (severity > 0.29)
+ {
+ // best fit for (severity, volume): (0, 0), (0.3, 0), (0.6, 0.003), (0.9, 0.15)
+ deadSpaceIncrement_L = alveoliVolumeRatio * (0.3704 * std::pow(severity, 3.0) - 0.1667 * std::pow(severity, 2.0) + 0.0167 * severity);
+ }
+
+ if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::On)
+ {
+ //Prevent negative volume with high severities
+ alveoliIncrement_L = -alveoliVolumeRatio * GeneralMath::LinearInterpolator(0.0, 1.0, 0.0, 0.9, severity);
+ }
+ else
+ {
+ alveoliIncrement_L = -alveoliVolumeRatio * GeneralMath::LinearInterpolator(0.0, 1.0, 0.0, 1.2, severity);
+ }
+ }
+
+ //------------------------------------------------------------------------------------------------------
+ //ARDS
+ //Exacerbation will overwrite the condition, even if it means improvement
+
//The dead space cannot be greater than the FRC in our model
double restrictiveSeverity = 0.0;
@@ -4150,6 +4176,15 @@ namespace pulse
restrictiveSeverity = MAX(restrictiveSeverity, severity);
}
+ //------------------------------------------------------------------------------------------------------
+ //PBLI
+ //Same as ARDS
+ if (m_PatientActions->HasPrimaryBlastLungInjury())
+ {
+ double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
+ restrictiveSeverity = MAX(restrictiveSeverity, severity);
+ }
+
//------------------------------------------------------------------------------------------------------
//ARDS
//Exacerbation will overwrite the condition, even if it means improvement
@@ -4325,6 +4360,15 @@ namespace pulse
restrictiveSeverity = MAX(restrictiveSeverity, severity);
}
+ //------------------------------------------------------------------------------------------------------
+ //PBLI
+ //Same as ARDS
+ if (m_PatientActions->HasPrimaryBlastLungInjury())
+ {
+ double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
+ restrictiveComplianceScalingFactor = MIN(restrictiveComplianceScalingFactor, GeneralMath::ExponentialDecayFunction(10, 0.45, 1.0, severity));
+ }
+
//------------------------------------------------------------------------------------------------------
//ARDS
//Exacerbation will overwrite the condition, even if it means improvement
@@ -4524,6 +4568,16 @@ namespace pulse
restrictiveSeverity = MAX(restrictiveSeverity, Severity);
}
+ //------------------------------------------------------------------------------------------------------
+ //PBLI
+ //Same as ARDS
+ if (m_PatientActions->HasPrimaryBlastLungInjury())
+ {
+ double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
+
+ restrictiveSeverity = MAX(restrictiveSeverity, severity);
+ }
+
//------------------------------------------------------------------------------------------------------
//ARDS
//Exacerbation will overwrite the condition, even if it means improvement
@@ -4694,6 +4748,16 @@ namespace pulse
//recruitmentScalingFactor = GeneralMath::ExponentialDecayFunction(10, 0.15, 1.0, 1.0 - recruitedFraction);
double combinedSeverity = 0.0;
+ //------------------------------------------------------------------------------------------------------
+ //PBLI
+ //Same as ARDS with a multiplier
+ if (m_PatientActions->HasPrimaryBlastLungInjury())
+ {
+ double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
+ double PBLIMultiplier = GeneralMath::LinearInterpolator(0.0, 1.0, 1.0, 0.75, severity);
+ damageScalingFactor = MIN(damageScalingFactor, GeneralMath::ExponentialDecayFunction(10, 0.15 * PBLIMultiplier, 1.0, severity));
+ }
+
//------------------------------------------------------------------------------------------------------
//ARDS
//Exacerbation will overwrite the condition, even if it means improvement
@@ -4946,6 +5010,17 @@ namespace pulse
combinedSeverity = MAX(combinedSeverity, severity);
}
+ //------------------------------------------------------------------------------------------------------
+ //PBLI
+ //Use a multiplier on ARDS equation
+ double PBLIMultiplier = 1.0;
+ if (m_PatientActions->HasPrimaryBlastLungInjury())
+ {
+ double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
+ PBLIMultiplier = GeneralMath::LinearInterpolator(0.0, 1.0, 1.0, 0.5, severity);
+ combinedSeverity = MAX(combinedSeverity, severity);
+ }
+
//------------------------------------------------------------------------------------------------------
//ARDS
//Exacerbation will overwrite the condition, even if it means improvement
@@ -4997,6 +5072,8 @@ namespace pulse
recruitmentScalingFactor = GeneralMath::Damper(recruitmentScalingFactor, m_PreviousShuntScalingFactor[iter], dampenFraction_perSec, m_data.GetTimeStep_s());
m_PreviousShuntScalingFactor[iter] = recruitmentScalingFactor;
+ double totalScalingFactor = MIN(recruitmentScalingFactor, damageScalingFactor) * PBLIMultiplier;
+
//------------------------------------------------------------------------------------------------------
//COPD
//Exacerbation will overwrite the condition, even if it means improvement
@@ -5194,6 +5271,17 @@ namespace pulse
restrictiveSeverity = MAX(restrictiveSeverity, severity);
}
+ //------------------------------------------------------------------------------------------------------
+ //PBLI
+ //Same as ARDS
+ if (m_PatientActions->HasPrimaryBlastLungInjury())
+ {
+ double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
+
+ severity = GeneralMath::LinearInterpolator(0.0, 1.0, 0.0, 0.8, severity);
+ combinedSeverity = MAX(combinedSeverity, severity);
+ }
+
//------------------------------------------------------------------------------------------------------
//ARDS
//Exacerbation will overwrite the condition, even if it means improvement
diff --git a/src/csharp/PulseFiles.cmake b/src/csharp/PulseFiles.cmake
index ce4cda183..78882be93 100644
--- a/src/csharp/PulseFiles.cmake
+++ b/src/csharp/PulseFiles.cmake
@@ -143,6 +143,7 @@ set(PULSE_CSHARP_FILES
${CMAKE_CURRENT_SOURCE_DIR}/pulse/cdm/patient/actions/SEPatientAction.cs
${CMAKE_CURRENT_SOURCE_DIR}/pulse/cdm/patient/actions/SEPericardialEffusion.cs
${CMAKE_CURRENT_SOURCE_DIR}/pulse/cdm/patient/actions/SEPneumoniaExacerbation.cs
+ ${CMAKE_CURRENT_SOURCE_DIR}/pulse/cdm/patient/actions/SEPrimaryBlastLungInjury.cs
${CMAKE_CURRENT_SOURCE_DIR}/pulse/cdm/patient/actions/SEPulmonaryShuntExacerbation.cs
${CMAKE_CURRENT_SOURCE_DIR}/pulse/cdm/patient/actions/SERespiratoryFatigue.cs
${CMAKE_CURRENT_SOURCE_DIR}/pulse/cdm/patient/actions/SERespiratoryMechanicsConfiguration.cs
diff --git a/src/csharp/pulse/cdm/io/PBPatientActions.cs b/src/csharp/pulse/cdm/io/PBPatientActions.cs
index 09ee407b9..da2196e4f 100644
--- a/src/csharp/pulse/cdm/io/PBPatientActions.cs
+++ b/src/csharp/pulse/cdm/io/PBPatientActions.cs
@@ -143,6 +143,12 @@ namespace Pulse.CDM
Serialize(any.PneumoniaExacerbation, lp);
return lp;
}
+ if (any.PrimaryBlastLungInjury != null)
+ {
+ SEPrimaryBlastLungInjury pbli = new SEPrimaryBlastLungInjury();
+ Serialize(any.PrimaryBlastLungInjury, pbli);
+ return pbli;
+ }
if (any.MechanicalVentilation != null)
{
SEMechanicalVentilation mv = new SEMechanicalVentilation();
@@ -344,6 +350,11 @@ namespace Pulse.CDM
any.PneumoniaExacerbation = Unload((SEPneumoniaExacerbation)action);
return any;
}
+ if (action.GetType().IsAssignableFrom(typeof(SEPrimaryBlastLungInjury)))
+ {
+ any.PrimaryBlastLungInjury = Unload((SEPrimaryBlastLungInjury)action);
+ return any;
+ }
if (action.GetType().IsAssignableFrom(typeof(SEMechanicalVentilation)))
{
any.MechanicalVentilation = Unload((SEMechanicalVentilation)action);
@@ -1373,6 +1384,38 @@ namespace Pulse.CDM
}
#endregion
+ #region SEPrimaryBlastLungInjury
+ public static void Load(pulse.cdm.bind.PrimaryBlastLungInjuryData src, SEPrimaryBlastLungInjury dst)
+ {
+ Serialize(src, dst);
+ }
+ public static void Serialize(pulse.cdm.bind.PrimaryBlastLungInjuryData src, SEPrimaryBlastLungInjury dst)
+ {
+ if (src.PatientAction != null)
+ Serialize(src.PatientAction, dst);
+ foreach (var s in src.Severity)
+ PBProperty.Load(s.Severity, dst.GetSeverity((eLungCompartment)s.Compartment));
+ }
+ public static pulse.cdm.bind.PrimaryBlastLungInjuryData Unload(SEPrimaryBlastLungInjury src)
+ {
+ pulse.cdm.bind.PrimaryBlastLungInjuryData dst = new pulse.cdm.bind.PrimaryBlastLungInjuryData();
+ Serialize(src, dst);
+ return dst;
+ }
+ public static void Serialize(SEPrimaryBlastLungInjury src, pulse.cdm.bind.PrimaryBlastLungInjuryData dst)
+ {
+ dst.PatientAction = new pulse.cdm.bind.PatientActionData();
+ Serialize(src, dst.PatientAction);
+ foreach (var s in src.GetSeverities())
+ {
+ LungImpairmentData d = new LungImpairmentData();
+ d.Compartment = (pulse.cdm.bind.eLungCompartment)s.Key;
+ d.Severity = PBProperty.Unload(s.Value);
+ dst.Severity.Add(d);
+ }
+ }
+ #endregion
+
#region SEPulmonaryShuntExacerbation
public static void Load(pulse.cdm.bind.PulmonaryShuntExacerbationData src, SEPulmonaryShuntExacerbation dst)
{
diff --git a/src/csharp/pulse/cdm/patient/actions/PrimaryBlastLungInjury.cs b/src/csharp/pulse/cdm/patient/actions/PrimaryBlastLungInjury.cs
new file mode 100644
index 000000000..7c248dcf8
--- /dev/null
+++ b/src/csharp/pulse/cdm/patient/actions/PrimaryBlastLungInjury.cs
@@ -0,0 +1,59 @@
+/* Distributed under the Apache License, Version 2.0.
+ See accompanying NOTICE file for details.*/
+
+using System.Collections;
+using System.Collections.Generic;
+
+namespace Pulse.CDM
+{
+ using LungImpairmentMap = Dictionary;
+ public class SEPrimaryBlastLungInjury : SEPatientAction
+ {
+ protected LungImpairmentMap severities;
+
+ public SEPrimaryBlastLungInjury()
+ {
+ severities = new LungImpairmentMap();
+ }
+
+ public override void Clear()
+ {
+ base.Clear();
+ foreach (var itr in severities)
+ itr.Value.Invalidate();
+ }
+
+ public override bool IsValid()
+ {
+ return HasSeverity();
+ }
+
+ public bool HasSeverity()
+ {
+ foreach (var itr in severities)
+ if (itr.Value.IsValid())
+ return true;
+ return false;
+ }
+ public bool HasSeverity(eLungCompartment c)
+ {
+ if (!severities.ContainsKey(c))
+ return false;
+ return severities[c].IsValid();
+ }
+ public SEScalar0To1 GetSeverity(eLungCompartment c)
+ {
+ SEScalar0To1 s = severities[c];
+ if(s == null)
+ {
+ s = new SEScalar0To1();
+ severities[c] = s;
+ }
+ return s;
+ }
+ public LungImpairmentMap GetSeverities()
+ {
+ return severities;
+ }
+ }
+}
diff --git a/src/java/PulseFiles.cmake b/src/java/PulseFiles.cmake
index d5af2f24d..4095bbf06 100644
--- a/src/java/PulseFiles.cmake
+++ b/src/java/PulseFiles.cmake
@@ -108,6 +108,7 @@ set(PULSE_JAVA_FILES
${CMAKE_CURRENT_SOURCE_DIR}/com/kitware/pulse/cdm/patient/actions/SEPatientAssessmentRequest.java
${CMAKE_CURRENT_SOURCE_DIR}/com/kitware/pulse/cdm/patient/actions/SEPericardialEffusion.java
${CMAKE_CURRENT_SOURCE_DIR}/com/kitware/pulse/cdm/patient/actions/SEPneumoniaExacerbation.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/com/kitware/pulse/cdm/patient/actions/SEPrimaryBlastLungInjury.java
${CMAKE_CURRENT_SOURCE_DIR}/com/kitware/pulse/cdm/patient/actions/SEPulmonaryShuntExacerbation.java
${CMAKE_CURRENT_SOURCE_DIR}/com/kitware/pulse/cdm/patient/actions/SERespiratoryFatigue.java
${CMAKE_CURRENT_SOURCE_DIR}/com/kitware/pulse/cdm/patient/actions/SERespiratoryMechanicsConfiguration.java
diff --git a/src/java/com/kitware/pulse/cdm/patient/actions/SEPatientAction.java b/src/java/com/kitware/pulse/cdm/patient/actions/SEPatientAction.java
index 32a5b47a2..da7a271ba 100644
--- a/src/java/com/kitware/pulse/cdm/patient/actions/SEPatientAction.java
+++ b/src/java/com/kitware/pulse/cdm/patient/actions/SEPatientAction.java
@@ -197,6 +197,12 @@ public abstract class SEPatientAction extends SEAction
SEPneumoniaExacerbation.load(c.getPneumoniaExacerbation(), dst);
return dst;
}
+ case PRIMARYBLASTLUNGINJURY:
+ {
+ SEPrimaryBlastLungInjury dst = new SEPrimaryBlastLungInjury();
+ SEPrimaryBlastLungInjury.load(c.getPrimaryBlastLungInjury(), dst);
+ return dst;
+ }
case PULMONARYSHUNTEXACERBATION:
{
SEPulmonaryShuntExacerbation dst = new SEPulmonaryShuntExacerbation();
@@ -389,6 +395,11 @@ public abstract class SEPatientAction extends SEAction
dst.setPneumoniaExacerbation(SEPneumoniaExacerbation.unload((SEPneumoniaExacerbation)c));
return dst.build();
}
+ if(c instanceof SEPrimaryBlastLungInjury)
+ {
+ dst.setPrimaryBlastLungInjury(SEPrimaryBlastLungInjury.unload((SEPrimaryBlastLungInjury)c));
+ return dst.build();
+ }
if(c instanceof SEMechanicalVentilation)
{
dst.setMechanicalVentilation(SEMechanicalVentilation.unload((SEMechanicalVentilation)c));
diff --git a/src/java/com/kitware/pulse/cdm/patient/actions/SEPrimaryBlastLungInjury.java b/src/java/com/kitware/pulse/cdm/patient/actions/SEPrimaryBlastLungInjury.java
new file mode 100644
index 000000000..683d2df4f
--- /dev/null
+++ b/src/java/com/kitware/pulse/cdm/patient/actions/SEPrimaryBlastLungInjury.java
@@ -0,0 +1,108 @@
+/* Distributed under the Apache License, Version 2.0.
+ See accompanying NOTICE file for details.*/
+
+package com.kitware.pulse.cdm.patient.actions;
+
+import java.util.*;
+
+import com.kitware.pulse.cdm.bind.PatientActions.PrimaryBlastLungInjuryData;
+import com.kitware.pulse.cdm.bind.Physiology.LungImpairmentData;
+import com.kitware.pulse.cdm.bind.Physiology.eLungCompartment;
+import com.kitware.pulse.cdm.properties.SEScalar0To1;
+
+public class SEPrimaryBlastLungInjury extends SEPatientAction
+{
+ private static final long serialVersionUID = 8405714651383110396L;
+
+ protected Map severities;
+
+ public SEPrimaryBlastLungInjury()
+ {
+ severities = new HashMap();
+ }
+
+ @Override
+ public void clear()
+ {
+ super.clear();
+ for(SEScalar0To1 s : severities.values())
+ s.invalidate();
+ }
+
+ public void copy(SEPrimaryBlastLungInjury other)
+ {
+ if(this==other)
+ return;
+ super.copy(other);
+ for (Map.Entry entry : other.severities.entrySet())
+ getSeverity(entry.getKey()).set(entry.getValue());
+ }
+
+ @Override
+ public boolean isValid()
+ {
+ return hasSeverity();
+ }
+
+ public static void load(PrimaryBlastLungInjuryData src, SEPrimaryBlastLungInjury dst)
+ {
+ SEPatientAction.load(src.getPatientAction(), dst);
+ for (LungImpairmentData d : src.getSeverityList())
+ SEScalar0To1.load(d.getSeverity(), dst.getSeverity(d.getCompartment()));
+ }
+
+ public static PrimaryBlastLungInjuryData unload(SEPrimaryBlastLungInjury src)
+ {
+ PrimaryBlastLungInjuryData.Builder dst = PrimaryBlastLungInjuryData.newBuilder();
+ unload(src,dst);
+ return dst.build();
+ }
+
+ protected static void unload(SEPrimaryBlastLungInjury src, PrimaryBlastLungInjuryData.Builder dst)
+ {
+ SEPatientAction.unload(src, dst.getPatientActionBuilder());
+ for (Map.Entry entry : src.severities.entrySet())
+ {
+ LungImpairmentData.Builder builder = LungImpairmentData.newBuilder();
+ builder.setCompartment(entry.getKey());
+ builder.setSeverity(SEScalar0To1.unload(entry.getValue()));
+ dst.addSeverity(builder);
+ }
+ }
+
+ public boolean hasSeverity()
+ {
+ for(SEScalar0To1 s : severities.values())
+ if(s.isValid())
+ return true;
+ return false;
+ }
+ public boolean hasSeverity(eLungCompartment c)
+ {
+ SEScalar0To1 s = severities.get(c);
+ if(s!=null)
+ return s.isValid();
+ return false;
+ }
+ public SEScalar0To1 getSeverity(eLungCompartment c)
+ {
+ SEScalar0To1 s = severities.get(c);
+ if(s==null)
+ {
+ s = new SEScalar0To1();
+ severities.put(c, s);
+ }
+ return s;
+ }
+
+ @Override
+ public String toString()
+ {
+ String out = "Primary BlastLung Injury";
+ for (Map.Entry entry : severities.entrySet())
+ out += "\n\t"+ entry.getKey().toString()+" Severity: " + getSeverity(entry.getKey());
+ return out;
+ }
+
+
+}
diff --git a/src/python/pulse/cdm/io/patient_actions.py b/src/python/pulse/cdm/io/patient_actions.py
index 8abb97264..0d1c68703 100644
--- a/src/python/pulse/cdm/io/patient_actions.py
+++ b/src/python/pulse/cdm/io/patient_actions.py
@@ -398,6 +398,19 @@ def serialize_pneumonia_exacerbation_from_bind(src:PneumoniaExacerbationData, ds
#################################################################
+def serialize_primary_blast_lung_injury_to_bind(src:SEPrimaryBlastLungInjury, dst: PrimaryBlastLungInjuryData):
+ serialize_patient_action_to_bind(src, dst.PatientAction)
+ for c,s in src._severities.items():
+ i = dst.Severity.add()
+ i.Compartment = c.value
+ serialize_scalar_0to1_to_bind(s, i.Severity)
+
+def serialize_primary_blast_lung_injury_from_bind(src:PrimaryBlastLungInjuryData, dst: SEPrimaryBlastLungInjury ):
+ serialize_patient_action_from_bind(src.PatientAction, dst)
+ raise Exception("serialize_patient_action_from_bind not implemented")
+
+#################################################################
+
def serialize_pulmonary_shunt_exacerbation_to_bind(src:SEPulmonaryShuntExacerbation, dst: PulmonaryShuntExacerbationData):
serialize_patient_action_to_bind(src, dst.PatientAction)
if src.has_severity():
diff --git a/src/python/pulse/cdm/patient_actions.py b/src/python/pulse/cdm/patient_actions.py
index 1692a5fcd..6201afeaa 100644
--- a/src/python/pulse/cdm/patient_actions.py
+++ b/src/python/pulse/cdm/patient_actions.py
@@ -1162,6 +1162,42 @@ class SEPneumoniaExacerbation(SEPatientAction):
out += ("\t{} Severity: {}\n").format(c, s)
return out
+class SEPrimaryBlastLungInjury(SEPatientAction):
+ __slots__ = ["_severities"]
+
+ def __init__(self):
+ super().__init__()
+ self._severities = {}
+ def clear(self):
+ for s in self._severities.values():
+ if s is not None:
+ s.invalidate()
+ def is_valid(self):
+ return self.has_severity()
+ def has_severity(self):
+ return self._severity is not None
+
+ def has_severity(self, cmpt: eLungCompartment = None):
+ if cmpt is None:
+ for s in self._severities.values():
+ if s is not None and s.is_valid():
+ return True
+ return False
+ if cmpt not in self._severities:
+ return False
+ return self._severities.get(cmpt).is_valid()
+ def get_severity(self, cmpt: eLungCompartment):
+ s = self._severities.get(cmpt)
+ if s is None:
+ s = SEScalar0To1()
+ self._severities[cmpt] = s
+ return s
+ def __repr__(self):
+ out = "Primary Blast Lung Injury\n"
+ for c, s in self._severities.items():
+ out += ("\t{} Severity: {}\n").format(c, s)
+ return out
+
class SEPulmonaryShuntExacerbation(SEPatientAction):
__slots__ = ["severity"]
diff --git a/src/python/pulse/howto/HowTo_ExpandedRespiratory.py b/src/python/pulse/howto/HowTo_ExpandedRespiratory.py
index 998c19d48..903e18f0d 100644
--- a/src/python/pulse/howto/HowTo_ExpandedRespiratory.py
+++ b/src/python/pulse/howto/HowTo_ExpandedRespiratory.py
@@ -6,7 +6,7 @@ from pathlib import Path
from pulse.cdm.engine import eSwitch, eSerializationFormat
from pulse.cdm.engine import SEDataRequestManager, SEDataRequest
from pulse.cdm.patient import SEPatientConfiguration
-from pulse.cdm.patient_actions import SEAcuteRespiratoryDistressSyndromeExacerbation
+from pulse.cdm.patient_actions import SEPrimaryBlastLungInjury
from pulse.cdm.physiology import eLungCompartment
from pulse.cdm.scalars import FrequencyUnit, LengthUnit, MassUnit, PressureUnit, \
TimeUnit, VolumeUnit
@@ -74,26 +74,26 @@ def HowTo_ExpandedRespiratory():
results = pulse.pull_data()
pulse.print_results()
- ards = SEAcuteRespiratoryDistressSyndromeExacerbation()
- ards.get_severity(eLungCompartment.RightSuperiorLobeApical).set_value(0.3)
- ards.get_severity(eLungCompartment.RightSuperiorLobePosterior).set_value(0.3)
- ards.get_severity(eLungCompartment.RightSuperiorLobeAnterior).set_value(0.3)
- ards.get_severity(eLungCompartment.RightMiddleLobeLateral).set_value(0.3)
- ards.get_severity(eLungCompartment.RightMiddleLobeMedial).set_value(0.3)
- ards.get_severity(eLungCompartment.RightInferiorLobeSuperior).set_value(0.3)
- ards.get_severity(eLungCompartment.RightInferiorLobeMedialBasal).set_value(0.3)
- ards.get_severity(eLungCompartment.RightInferiorLobeAnteriorBasal).set_value(0.3)
- ards.get_severity(eLungCompartment.RightInferiorLobeLateralBasal).set_value(0.3)
- ards.get_severity(eLungCompartment.RightInferiorLobePosteriorBasal).set_value(0.3)
- ards.get_severity(eLungCompartment.LeftInferiorLobePosteriorBasal).set_value(0.3)
- ards.get_severity(eLungCompartment.LeftInferiorLobeLateralBasal).set_value(0.3)
- ards.get_severity(eLungCompartment.LeftInferiorLobeAnteromedialBasal).set_value(0.3)
- ards.get_severity(eLungCompartment.LeftInferiorLobeSuperior).set_value(0.3)
- ards.get_severity(eLungCompartment.LeftSuperiorLobeInferiorLingula).set_value(0.3)
- ards.get_severity(eLungCompartment.LeftSuperiorLobeSuperiorLingula).set_value(0.3)
- ards.get_severity(eLungCompartment.LeftSuperiorLobeAnterior).set_value(0.3)
- ards.get_severity(eLungCompartment.LeftSuperiorLobeApicoposterior).set_value(0.3)
- pulse.process_action(ards)
+ pbli = SEPrimaryBlastLungInjury()
+ pbli.get_severity(eLungCompartment.RightSuperiorLobeApical).set_value(0.3)
+ pbli.get_severity(eLungCompartment.RightSuperiorLobePosterior).set_value(0.3)
+ pbli.get_severity(eLungCompartment.RightSuperiorLobeAnterior).set_value(0.3)
+ pbli.get_severity(eLungCompartment.RightMiddleLobeLateral).set_value(0.3)
+ pbli.get_severity(eLungCompartment.RightMiddleLobeMedial).set_value(0.3)
+ pbli.get_severity(eLungCompartment.RightInferiorLobeSuperior).set_value(0.3)
+ pbli.get_severity(eLungCompartment.RightInferiorLobeMedialBasal).set_value(0.3)
+ pbli.get_severity(eLungCompartment.RightInferiorLobeAnteriorBasal).set_value(0.3)
+ pbli.get_severity(eLungCompartment.RightInferiorLobeLateralBasal).set_value(0.3)
+ pbli.get_severity(eLungCompartment.RightInferiorLobePosteriorBasal).set_value(0.3)
+ pbli.get_severity(eLungCompartment.LeftInferiorLobePosteriorBasal).set_value(0.3)
+ pbli.get_severity(eLungCompartment.LeftInferiorLobeLateralBasal).set_value(0.3)
+ pbli.get_severity(eLungCompartment.LeftInferiorLobeAnteromedialBasal).set_value(0.3)
+ pbli.get_severity(eLungCompartment.LeftInferiorLobeSuperior).set_value(0.3)
+ pbli.get_severity(eLungCompartment.LeftSuperiorLobeInferiorLingula).set_value(0.3)
+ pbli.get_severity(eLungCompartment.LeftSuperiorLobeSuperiorLingula).set_value(0.3)
+ pbli.get_severity(eLungCompartment.LeftSuperiorLobeAnterior).set_value(0.3)
+ pbli.get_severity(eLungCompartment.LeftSuperiorLobeApicoposterior).set_value(0.3)
+ pulse.process_action(pbli)
# Advance some time and print out the vitals
pulse.advance_time_s(300)
diff --git a/src/schema/pulse/cdm/bind/PatientActions.proto b/src/schema/pulse/cdm/bind/PatientActions.proto
index a39349b36..66b4be98c 100644
--- a/src/schema/pulse/cdm/bind/PatientActions.proto
+++ b/src/schema/pulse/cdm/bind/PatientActions.proto
@@ -42,17 +42,18 @@ message AnyPatientActionData
NeedleDecompressionData NeedleDecompression = 24;
PericardialEffusionData PericardialEffusion = 25;
PneumoniaExacerbationData PneumoniaExacerbation = 26;
- PulmonaryShuntExacerbationData PulmonaryShuntExacerbation = 27;
- RespiratoryFatigueData RespiratoryFatigue = 28;
- RespiratoryMechanicsConfigurationData RespiratoryMechanicsConfiguration = 29;
- RespiratoryMechanicsModificationData RespiratoryMechanicsModification = 30;
- SubstanceBolusData SubstanceBolus = 31;
- SubstanceCompoundInfusionData SubstanceCompoundInfusion = 32;
- SubstanceInfusionData SubstanceInfusion = 33;
- SupplementalOxygenData SupplementalOxygen = 34;
- TensionPneumothoraxData TensionPneumothorax = 35;
- TubeThoracostomyData TubeThoracostomy = 36;
- UrinateData Urinate = 37;
+ PrimaryBlastLungInjuryData PrimaryBlastLungInjury = 27;
+ PulmonaryShuntExacerbationData PulmonaryShuntExacerbation = 28;
+ RespiratoryFatigueData RespiratoryFatigue = 29;
+ RespiratoryMechanicsConfigurationData RespiratoryMechanicsConfiguration = 30;
+ RespiratoryMechanicsModificationData RespiratoryMechanicsModification = 31;
+ SubstanceBolusData SubstanceBolus = 32;
+ SubstanceCompoundInfusionData SubstanceCompoundInfusion = 33;
+ SubstanceInfusionData SubstanceInfusion = 34;
+ SupplementalOxygenData SupplementalOxygen = 35;
+ TensionPneumothoraxData TensionPneumothorax = 36;
+ TubeThoracostomyData TubeThoracostomy = 37;
+ UrinateData Urinate = 38;
}
}
@@ -403,6 +404,12 @@ message PneumoniaExacerbationData
repeated LungImpairmentData Severity = 2;/**<< @brief A list of impairment severities for the lung compartments*/
}
+/** @brief Acute lung injury from blast over-pressure on the thorax. */
+message PrimaryBlastLungInjuryData
+{
+ PatientActionData PatientAction = 1;
+ repeated LungImpairmentData Severity = 2;/**<< @brief A list of impairment severities for the lung compartments*/
+}
/** @brief Pulmonary shunt is when the alveoli of the lungs are perfused with blood as normal, but ventilation (the supply of air) fails to supply the perfused region */
message PulmonaryShuntExacerbationData
--
GitLab
From f27e2030d38352420ad869a7cf3aee3210b3b869 Mon Sep 17 00:00:00 2001
From: JeffWebb6
Date: Sat, 15 Jun 2024 08:52:58 -0400
Subject: [PATCH 12/35] Updated expanded respiratory SDK example.
---
src/cpp/howto/CMakeLists.txt | 1 +
src/cpp/howto/HowTo-ExpandedRespiratory.cpp | 99 ++++++++++++-------
.../pulse/howto/HowTo_ExpandedRespiratory.py | 59 ++++++-----
3 files changed, 99 insertions(+), 60 deletions(-)
diff --git a/src/cpp/howto/CMakeLists.txt b/src/cpp/howto/CMakeLists.txt
index e351de87f..8227de264 100644
--- a/src/cpp/howto/CMakeLists.txt
+++ b/src/cpp/howto/CMakeLists.txt
@@ -21,6 +21,7 @@ add_executable_ex(HowToDriver
HowTo-EngineUse.cpp
HowTo-EnvironmentChange.cpp
HowTo-Exercise.cpp
+ HowTo-ExpandedRespiratory.cpp
HowTo-ExpandedVasculature.cpp
HowTo-Hemorrhage.cpp
HowTo-Hemothorax.cpp
diff --git a/src/cpp/howto/HowTo-ExpandedRespiratory.cpp b/src/cpp/howto/HowTo-ExpandedRespiratory.cpp
index 73dc7e463..9a060a9f2 100644
--- a/src/cpp/howto/HowTo-ExpandedRespiratory.cpp
+++ b/src/cpp/howto/HowTo-ExpandedRespiratory.cpp
@@ -10,7 +10,7 @@
#include "cdm/system/physiology/SEBloodChemistrySystem.h"
#include "cdm/system/physiology/SECardiovascularSystem.h"
#include "cdm/system/physiology/SERespiratorySystem.h"
-#include "cdm/patient/actions/SEAcuteRespiratoryDistressSyndromeExacerbation.h"
+#include "cdm/patient/actions/SEPrimaryBlastLungInjury.h"
#include "cdm/properties/SEScalar0To1.h"
#include "cdm/properties/SEScalarFrequency.h"
#include "cdm/properties/SEScalarMassPerVolume.h"
@@ -21,7 +21,6 @@
#include "cdm/properties/SEScalarVolumePerTime.h"
#include "cdm/properties/SEScalar0To1.h"
-
void HowToExpandedRespiratory()
{
std::unique_ptr pe = CreatePulseEngine();
@@ -35,62 +34,86 @@ void HowToExpandedRespiratory()
pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("HeartRate", FrequencyUnit::Per_min);
pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("SystolicArterialPressure", PressureUnit::mmHg);
pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("DiastolicArterialPressure", PressureUnit::mmHg);
+ pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("MeanArterialPressure", PressureUnit::mmHg);
+ pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("EndTidalCarbonDioxidePressure", PressureUnit::mmHg);
+ pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("HorowitzIndex", PressureUnit::mmHg);
+ pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("OxygenSaturation");
pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("RespirationRate", FrequencyUnit::Per_min);
pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("TidalVolume", VolumeUnit::mL);
pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("TotalLungVolume", VolumeUnit::mL);
- pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("OxygenSaturation");
+ pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("ArterialOxygenPressure", PressureUnit::mmHg);
+ pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("ArterialCarbonDioxidePressure", PressureUnit::mmHg);
+ pe->GetEngineTracker()->GetDataRequestManager().CreateGasCompartmentDataRequest("LeftLungPulmonary", "Volume", VolumeUnit::mL);
+ pe->GetEngineTracker()->GetDataRequestManager().CreateGasCompartmentDataRequest("RightLungPulmonary", "Volume", VolumeUnit::L);
+ pe->GetEngineTracker()->GetDataRequestManager().SetResultsFilename("./test_results/howto/HowTo_ExpandedRespiratory.csv");
SEPatientConfiguration pc;
pc.SetPatientFile("./patients/StandardMale.json");
pe->InitializeEngine(pc);
- pe->GetLogger()->Info("Initial vitals");
+ // Get default data at time 0s from the engine
+ pe->AdvanceModelTime(0, TimeUnit::s);
+ pe->GetLogger()->Info("Default data retrieved");
+
+ pe->GetLogger()->Info("Initial data");
pe->GetLogger()->Info(std::stringstream() << "Tidal Volume : " << pe->GetRespiratorySystem()->GetTidalVolume(VolumeUnit::mL) << VolumeUnit::mL);
- pe->GetLogger()->Info(std::stringstream() << "Systolic Pressure : " << pe->GetCardiovascularSystem()->GetSystolicArterialPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
- pe->GetLogger()->Info(std::stringstream() << "Diastolic Pressure : " << pe->GetCardiovascularSystem()->GetDiastolicArterialPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
pe->GetLogger()->Info(std::stringstream() << "Heart Rate : " << pe->GetCardiovascularSystem()->GetHeartRate(FrequencyUnit::Per_min) << "bpm");
pe->GetLogger()->Info(std::stringstream() << "Respiration Rate : " << pe->GetRespiratorySystem()->GetRespirationRate(FrequencyUnit::Per_min) << "bpm");
pe->GetLogger()->Info(std::stringstream() << "Oxygen Saturation : " << pe->GetBloodChemistrySystem()->GetOxygenSaturation());
+ pe->GetLogger()->Info(std::stringstream() << "Mean Arterial Pressure : " << pe->GetCardiovascularSystem()->GetMeanArterialPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
+ pe->GetLogger()->Info(std::stringstream() << "Horowitz Index : " << pe->GetRespiratorySystem()->GetHorowitzIndex(PressureUnit::mmHg) << PressureUnit::mmHg);
+ pe->GetLogger()->Info(std::stringstream() << "Total Lung Volume : " << pe->GetRespiratorySystem()->GetTotalLungVolume(VolumeUnit::mL) << VolumeUnit::mL);
+ pe->GetLogger()->Info(std::stringstream() << "Arterial Oxygen Pressure : " << pe->GetBloodChemistrySystem()->GetArterialOxygenPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
+ pe->GetLogger()->Info(std::stringstream() << "Arterial Carbon Dioxide Pressure : " << pe->GetBloodChemistrySystem()->GetArterialCarbonDioxidePressure(PressureUnit::mmHg) << PressureUnit::mmHg);
- pe->AdvanceModelTime(30, TimeUnit::s);
+ // Apply the standalone UNDEX equation
+ pe->GetLogger()->Info("Charge information");
+ double chargeMass_lbs = 1000;
+ double chargeDistance_ft = 100; //635 ~= 0.1; 211 ~= 0.3; 70 ~= 0.9
+ double peakPressure = 13000 * pow(chargeMass_lbs, 0.33) / chargeDistance_ft;
+ double severity = 0.0005 * peakPressure;
+ severity = std::max(std::min(severity, 1.0), 0.0);
- pe->GetLogger()->Info("Healthy patient");
- pe->GetLogger()->Info(std::stringstream() << "Tidal Volume : " << pe->GetRespiratorySystem()->GetTidalVolume(VolumeUnit::mL) << VolumeUnit::mL);
- pe->GetLogger()->Info(std::stringstream() << "Systolic Pressure : " << pe->GetCardiovascularSystem()->GetSystolicArterialPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
- pe->GetLogger()->Info(std::stringstream() << "Diastolic Pressure : " << pe->GetCardiovascularSystem()->GetDiastolicArterialPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
- pe->GetLogger()->Info(std::stringstream() << "Heart Rate : " << pe->GetCardiovascularSystem()->GetHeartRate(FrequencyUnit::Per_min) << "bpm");
- pe->GetLogger()->Info(std::stringstream() << "Respiration Rate : " << pe->GetRespiratorySystem()->GetRespirationRate(FrequencyUnit::Per_min) << "bpm");
- pe->GetLogger()->Info(std::stringstream() << "Oxygen Saturation : " << pe->GetBloodChemistrySystem()->GetOxygenSaturation());
+ pe->GetLogger()->Info(std::stringstream() << "Charge Mass: " << chargeMass_lbs << " lbs");
+ pe->GetLogger()->Info(std::stringstream() << "Charge Distance: " << chargeDistance_ft << " ft");
+ pe->GetLogger()->Info(std::stringstream() << "Peak Pressure: " << peakPressure << " mmHg");
+ pe->GetLogger()->Info(std::stringstream() << "Severity: " << severity);
+
+ pe->AdvanceModelTime(30, TimeUnit::s);
+ pe->GetLogger()->Info("Data after 30s");
- SEAcuteRespiratoryDistressSyndromeExacerbation ARDS;
- ARDS.GetSeverity(eLungCompartment::RightSuperiorLobeApical).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::RightSuperiorLobePosterior).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::RightSuperiorLobeAnterior).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::RightMiddleLobeLateral).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::RightMiddleLobeMedial).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::RightInferiorLobeSuperior).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::RightInferiorLobeMedialBasal).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::RightInferiorLobeAnteriorBasal).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::RightInferiorLobeLateralBasal).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::RightInferiorLobePosteriorBasal).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::LeftInferiorLobePosteriorBasal).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::LeftInferiorLobeLateralBasal).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::LeftInferiorLobeAnteromedialBasal).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::LeftInferiorLobeSuperior).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::LeftSuperiorLobeInferiorLingula).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::LeftSuperiorLobeSuperiorLingula).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::LeftSuperiorLobeAnterior).SetValue(0.3);
- ARDS.GetSeverity(eLungCompartment::LeftSuperiorLobeApicoposterior).SetValue(0.3);
- pe->ProcessAction(ARDS);
+ SEPrimaryBlastLungInjury pbli;
+ pbli.GetSeverity(eLungCompartment::RightSuperiorLobeApical).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::RightSuperiorLobePosterior).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::RightSuperiorLobeAnterior).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::RightMiddleLobeLateral).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::RightMiddleLobeMedial).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::RightInferiorLobeSuperior).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::RightInferiorLobeMedialBasal).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::RightInferiorLobeAnteriorBasal).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::RightInferiorLobeLateralBasal).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::RightInferiorLobePosteriorBasal).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::LeftInferiorLobePosteriorBasal).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::LeftInferiorLobeLateralBasal).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::LeftInferiorLobeAnteromedialBasal).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::LeftInferiorLobeSuperior).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::LeftSuperiorLobeInferiorLingula).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::LeftSuperiorLobeSuperiorLingula).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::LeftSuperiorLobeAnterior).SetValue(severity);
+ pbli.GetSeverity(eLungCompartment::LeftSuperiorLobeApicoposterior).SetValue(severity);
+ pe->ProcessAction(pbli);
- pe->AdvanceModelTime(300, TimeUnit::s);
+ pe->AdvanceModelTime(15, TimeUnit::min);
- pe->GetLogger()->Info("Moderate ARDS");
+ pe->GetLogger()->Info("Data after 15 min");
pe->GetLogger()->Info(std::stringstream() << "Tidal Volume : " << pe->GetRespiratorySystem()->GetTidalVolume(VolumeUnit::mL) << VolumeUnit::mL);
- pe->GetLogger()->Info(std::stringstream() << "Systolic Pressure : " << pe->GetCardiovascularSystem()->GetSystolicArterialPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
- pe->GetLogger()->Info(std::stringstream() << "Diastolic Pressure : " << pe->GetCardiovascularSystem()->GetDiastolicArterialPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
pe->GetLogger()->Info(std::stringstream() << "Heart Rate : " << pe->GetCardiovascularSystem()->GetHeartRate(FrequencyUnit::Per_min) << "bpm");
pe->GetLogger()->Info(std::stringstream() << "Respiration Rate : " << pe->GetRespiratorySystem()->GetRespirationRate(FrequencyUnit::Per_min) << "bpm");
pe->GetLogger()->Info(std::stringstream() << "Oxygen Saturation : " << pe->GetBloodChemistrySystem()->GetOxygenSaturation());
+ pe->GetLogger()->Info(std::stringstream() << "Mean Arterial Pressure : " << pe->GetCardiovascularSystem()->GetMeanArterialPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
+ pe->GetLogger()->Info(std::stringstream() << "Horowitz Index : " << pe->GetRespiratorySystem()->GetHorowitzIndex(PressureUnit::mmHg) << PressureUnit::mmHg);
+ pe->GetLogger()->Info(std::stringstream() << "Total Lung Volume : " << pe->GetRespiratorySystem()->GetTotalLungVolume(VolumeUnit::mL) << VolumeUnit::mL);
+ pe->GetLogger()->Info(std::stringstream() << "Arterial Oxygen Pressure : " << pe->GetBloodChemistrySystem()->GetArterialOxygenPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
+ pe->GetLogger()->Info(std::stringstream() << "Arterial Carbon Dioxide Pressure : " << pe->GetBloodChemistrySystem()->GetArterialCarbonDioxidePressure(PressureUnit::mmHg) << PressureUnit::mmHg);
}
diff --git a/src/python/pulse/howto/HowTo_ExpandedRespiratory.py b/src/python/pulse/howto/HowTo_ExpandedRespiratory.py
index 903e18f0d..eee65ad35 100644
--- a/src/python/pulse/howto/HowTo_ExpandedRespiratory.py
+++ b/src/python/pulse/howto/HowTo_ExpandedRespiratory.py
@@ -26,17 +26,17 @@ def HowTo_ExpandedRespiratory():
data_requests = [
SEDataRequest.create_physiology_request("HeartRate", unit=FrequencyUnit.Per_min),
- SEDataRequest.create_physiology_request("ArterialPressure", unit=PressureUnit.mmHg),
- SEDataRequest.create_physiology_request("MeanArterialPressure", unit=PressureUnit.mmHg),
SEDataRequest.create_physiology_request("SystolicArterialPressure", unit=PressureUnit.mmHg),
SEDataRequest.create_physiology_request("DiastolicArterialPressure", unit=PressureUnit.mmHg),
-
+ SEDataRequest.create_physiology_request("MeanArterialPressure", unit=PressureUnit.mmHg),
SEDataRequest.create_physiology_request("EndTidalCarbonDioxidePressure", unit=PressureUnit.mmHg),
SEDataRequest.create_physiology_request("HorowitzIndex", unit=PressureUnit.mmHg),
SEDataRequest.create_physiology_request("OxygenSaturation"),
SEDataRequest.create_physiology_request("RespirationRate", unit=FrequencyUnit.Per_min),
SEDataRequest.create_physiology_request("TidalVolume", unit=VolumeUnit.mL),
SEDataRequest.create_physiology_request("TotalLungVolume", unit=VolumeUnit.mL),
+ SEDataRequest.create_physiology_request("ArterialOxygenPressure", unit=PressureUnit.mmHg),
+ SEDataRequest.create_physiology_request("ArterialCarbonDioxidePressure", unit=PressureUnit.mmHg),
SEDataRequest.create_gas_compartment_request("LeftLungPulmonary", "Volume", unit=VolumeUnit.mL),
SEDataRequest.create_gas_compartment_request("RightLungPulmonary", "Volume", unit=VolumeUnit.L),
]
@@ -68,6 +68,21 @@ def HowTo_ExpandedRespiratory():
results = pulse.pull_data()
pulse.print_results()
+ # Apply the standalone UNDEX equation
+ # Inputs
+ chargeMass_lbs = 1000
+ chargeDistance_ft = 100 #635 ~= 0.1; 211 ~= 0.3; 70 ~= 0.9
+ # Pressure equation
+ peakPressure = 13000 * (chargeMass_lbs ** 0.33) / chargeDistance_ft
+ # PBLI severity mapping
+ severity = 0.0005 * peakPressure
+ # Bounding the severity between 0 and 1
+ severity = max(min(severity, 1.0), 0.0)
+
+ print(f"Charge Mass: {chargeMass_lbs} lbs")
+ print(f"Charge Distance: {chargeDistance_ft} ft")
+ print(f"Peak Pressure: {peakPressure} mmHg")
+ print(f"Severity: {severity}")
# Advance some time and print out the vitals
pulse.advance_time_s(30)
@@ -75,28 +90,28 @@ def HowTo_ExpandedRespiratory():
pulse.print_results()
pbli = SEPrimaryBlastLungInjury()
- pbli.get_severity(eLungCompartment.RightSuperiorLobeApical).set_value(0.3)
- pbli.get_severity(eLungCompartment.RightSuperiorLobePosterior).set_value(0.3)
- pbli.get_severity(eLungCompartment.RightSuperiorLobeAnterior).set_value(0.3)
- pbli.get_severity(eLungCompartment.RightMiddleLobeLateral).set_value(0.3)
- pbli.get_severity(eLungCompartment.RightMiddleLobeMedial).set_value(0.3)
- pbli.get_severity(eLungCompartment.RightInferiorLobeSuperior).set_value(0.3)
- pbli.get_severity(eLungCompartment.RightInferiorLobeMedialBasal).set_value(0.3)
- pbli.get_severity(eLungCompartment.RightInferiorLobeAnteriorBasal).set_value(0.3)
- pbli.get_severity(eLungCompartment.RightInferiorLobeLateralBasal).set_value(0.3)
- pbli.get_severity(eLungCompartment.RightInferiorLobePosteriorBasal).set_value(0.3)
- pbli.get_severity(eLungCompartment.LeftInferiorLobePosteriorBasal).set_value(0.3)
- pbli.get_severity(eLungCompartment.LeftInferiorLobeLateralBasal).set_value(0.3)
- pbli.get_severity(eLungCompartment.LeftInferiorLobeAnteromedialBasal).set_value(0.3)
- pbli.get_severity(eLungCompartment.LeftInferiorLobeSuperior).set_value(0.3)
- pbli.get_severity(eLungCompartment.LeftSuperiorLobeInferiorLingula).set_value(0.3)
- pbli.get_severity(eLungCompartment.LeftSuperiorLobeSuperiorLingula).set_value(0.3)
- pbli.get_severity(eLungCompartment.LeftSuperiorLobeAnterior).set_value(0.3)
- pbli.get_severity(eLungCompartment.LeftSuperiorLobeApicoposterior).set_value(0.3)
+ pbli.get_severity(eLungCompartment.RightSuperiorLobeApical).set_value(severity)
+ pbli.get_severity(eLungCompartment.RightSuperiorLobePosterior).set_value(severity)
+ pbli.get_severity(eLungCompartment.RightSuperiorLobeAnterior).set_value(severity)
+ pbli.get_severity(eLungCompartment.RightMiddleLobeLateral).set_value(severity)
+ pbli.get_severity(eLungCompartment.RightMiddleLobeMedial).set_value(severity)
+ pbli.get_severity(eLungCompartment.RightInferiorLobeSuperior).set_value(severity)
+ pbli.get_severity(eLungCompartment.RightInferiorLobeMedialBasal).set_value(severity)
+ pbli.get_severity(eLungCompartment.RightInferiorLobeAnteriorBasal).set_value(severity)
+ pbli.get_severity(eLungCompartment.RightInferiorLobeLateralBasal).set_value(severity)
+ pbli.get_severity(eLungCompartment.RightInferiorLobePosteriorBasal).set_value(severity)
+ pbli.get_severity(eLungCompartment.LeftInferiorLobePosteriorBasal).set_value(severity)
+ pbli.get_severity(eLungCompartment.LeftInferiorLobeLateralBasal).set_value(severity)
+ pbli.get_severity(eLungCompartment.LeftInferiorLobeAnteromedialBasal).set_value(severity)
+ pbli.get_severity(eLungCompartment.LeftInferiorLobeSuperior).set_value(severity)
+ pbli.get_severity(eLungCompartment.LeftSuperiorLobeInferiorLingula).set_value(severity)
+ pbli.get_severity(eLungCompartment.LeftSuperiorLobeSuperiorLingula).set_value(severity)
+ pbli.get_severity(eLungCompartment.LeftSuperiorLobeAnterior).set_value(severity)
+ pbli.get_severity(eLungCompartment.LeftSuperiorLobeApicoposterior).set_value(severity)
pulse.process_action(pbli)
# Advance some time and print out the vitals
- pulse.advance_time_s(300)
+ pulse.advance_time_s(900)
results = pulse.pull_data()
pulse.print_results()
--
GitLab
From 8e3a40c7796b04974ce4b9869f99bb49e75e5aaa Mon Sep 17 00:00:00 2001
From: JeffWebb6
Date: Wed, 7 Aug 2024 09:58:45 -0400
Subject: [PATCH 13/35] =?UTF-8?q?=EF=BB=BFUpdate=20PBLI=20application=20in?=
=?UTF-8?q?=20respiratory=20with=20latest=20restrictive=20changes.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../system/physiology/RespiratoryModel.cpp | 165 ++++++++----------
1 file changed, 77 insertions(+), 88 deletions(-)
diff --git a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
index c11582418..13b173251 100644
--- a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
+++ b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
@@ -3387,32 +3387,7 @@ namespace pulse
double alveoliVolumeRatio = alveoliVolumeBaseline_L / totalBaselineAlveoliVolume_L;
//------------------------------------------------------------------------------------------------------
- //PBLI
- //Same as ARDS
- if (m_PatientActions->HasPrimaryBlastLungInjury())
- {
- double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
- if (severity > 0.29)
- {
- // best fit for (severity, volume): (0, 0), (0.3, 0), (0.6, 0.003), (0.9, 0.15)
- deadSpaceIncrement_L = alveoliVolumeRatio * (0.3704 * std::pow(severity, 3.0) - 0.1667 * std::pow(severity, 2.0) + 0.0167 * severity);
- }
-
- if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::On)
- {
- //Prevent negative volume with high severities
- alveoliIncrement_L = -alveoliVolumeRatio * GeneralMath::LinearInterpolator(0.0, 1.0, 0.0, 0.9, severity);
- }
- else
- {
- alveoliIncrement_L = -alveoliVolumeRatio * GeneralMath::LinearInterpolator(0.0, 1.0, 0.0, 1.2, severity);
- }
- }
-
- //------------------------------------------------------------------------------------------------------
- //ARDS
- //Exacerbation will overwrite the condition, even if it means improvement
-
+ //Restrictive
//The dead space cannot be greater than the FRC in our model
double restrictiveSeverity = 0.0;
@@ -3459,6 +3434,15 @@ namespace pulse
restrictiveSeverity = MAX(restrictiveSeverity, severity);
}
+ //PBLI
+ //Same as ARDS
+ if (m_PatientActions->HasPrimaryBlastLungInjury())
+ {
+ double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
+
+ restrictiveSeverity = MAX(restrictiveSeverity, severity);
+ }
+
std::vector> interpolatorPoints =
{
{0.0, 0.0}, //None
@@ -4176,15 +4160,6 @@ namespace pulse
restrictiveSeverity = MAX(restrictiveSeverity, severity);
}
- //------------------------------------------------------------------------------------------------------
- //PBLI
- //Same as ARDS
- if (m_PatientActions->HasPrimaryBlastLungInjury())
- {
- double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
- restrictiveSeverity = MAX(restrictiveSeverity, severity);
- }
-
//------------------------------------------------------------------------------------------------------
//ARDS
//Exacerbation will overwrite the condition, even if it means improvement
@@ -4203,6 +4178,16 @@ namespace pulse
restrictiveSeverity = MAX(restrictiveSeverity, severity);
}
+ //------------------------------------------------------------------------------------------------------
+ //PBLI
+ //Same as ARDS
+ if (m_PatientActions->HasPrimaryBlastLungInjury())
+ {
+ double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
+ restrictiveSeverity = MAX(restrictiveSeverity, severity);
+ }
+
+
std::vector> interpolatorPoints =
{
{0.0, 1.0}, //None
@@ -4360,15 +4345,6 @@ namespace pulse
restrictiveSeverity = MAX(restrictiveSeverity, severity);
}
- //------------------------------------------------------------------------------------------------------
- //PBLI
- //Same as ARDS
- if (m_PatientActions->HasPrimaryBlastLungInjury())
- {
- double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
- restrictiveComplianceScalingFactor = MIN(restrictiveComplianceScalingFactor, GeneralMath::ExponentialDecayFunction(10, 0.45, 1.0, severity));
- }
-
//------------------------------------------------------------------------------------------------------
//ARDS
//Exacerbation will overwrite the condition, even if it means improvement
@@ -4387,6 +4363,15 @@ namespace pulse
restrictiveSeverity = MAX(restrictiveSeverity, severity);
}
+ //------------------------------------------------------------------------------------------------------
+ //PBLI
+ //Same as ARDS
+ if (m_PatientActions->HasPrimaryBlastLungInjury())
+ {
+ double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
+ restrictiveSeverity = MAX(restrictiveSeverity, severity);
+ }
+
double restrictiveComplianceScalingFactor = GeneralMath::PiecewiseLinearInterpolator(restrictiveInterpolatorPoints, restrictiveSeverity);
//------------------------------------------------------------------------------------------------------
@@ -4568,16 +4553,6 @@ namespace pulse
restrictiveSeverity = MAX(restrictiveSeverity, Severity);
}
- //------------------------------------------------------------------------------------------------------
- //PBLI
- //Same as ARDS
- if (m_PatientActions->HasPrimaryBlastLungInjury())
- {
- double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
-
- restrictiveSeverity = MAX(restrictiveSeverity, severity);
- }
-
//------------------------------------------------------------------------------------------------------
//ARDS
//Exacerbation will overwrite the condition, even if it means improvement
@@ -4595,6 +4570,16 @@ namespace pulse
restrictiveSeverity = MAX(restrictiveSeverity, severity);
}
+ //------------------------------------------------------------------------------------------------------
+ //PBLI
+ //Same as ARDS
+ if (m_PatientActions->HasPrimaryBlastLungInjury())
+ {
+ double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
+
+ restrictiveSeverity = MAX(restrictiveSeverity, severity);
+ }
+
combinedObstructiveSeverity += obstructiveSeverity * alveoliVolumeRatio;
combinedRestrictiveSeverity += restrictiveSeverity * alveoliVolumeRatio;
}
@@ -4748,16 +4733,6 @@ namespace pulse
//recruitmentScalingFactor = GeneralMath::ExponentialDecayFunction(10, 0.15, 1.0, 1.0 - recruitedFraction);
double combinedSeverity = 0.0;
- //------------------------------------------------------------------------------------------------------
- //PBLI
- //Same as ARDS with a multiplier
- if (m_PatientActions->HasPrimaryBlastLungInjury())
- {
- double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
- double PBLIMultiplier = GeneralMath::LinearInterpolator(0.0, 1.0, 1.0, 0.75, severity);
- damageScalingFactor = MIN(damageScalingFactor, GeneralMath::ExponentialDecayFunction(10, 0.15 * PBLIMultiplier, 1.0, severity));
- }
-
//------------------------------------------------------------------------------------------------------
//ARDS
//Exacerbation will overwrite the condition, even if it means improvement
@@ -4803,6 +4778,19 @@ namespace pulse
combinedSeverity = MAX(combinedSeverity, severity);
}
+ //------------------------------------------------------------------------------------------------------
+ //PBLI
+ //Same as ARDS with a multiplier
+ double PBLIMultiplier = 1.0;
+ if (m_PatientActions->HasPrimaryBlastLungInjury())
+ {
+ double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
+
+ PBLIMultiplier = GeneralMath::LinearInterpolator(0.0, 1.0, 1.0, 0.75, severity);
+
+ combinedSeverity = MAX(combinedSeverity, severity);
+ }
+
std::vector> interpolatorPoints =
{
{0.0, 1.000}, //None
@@ -4812,7 +4800,7 @@ namespace pulse
{1.0, 0.050} //Max
};
- damageScalingFactor = GeneralMath::PiecewiseLinearInterpolator(interpolatorPoints, combinedSeverity);
+ damageScalingFactor = GeneralMath::PiecewiseLinearInterpolator(interpolatorPoints, combinedSeverity) * PBLIMultiplier;
//------------------------------------------------------------------------------------------------------
//Combine effects
@@ -5010,17 +4998,6 @@ namespace pulse
combinedSeverity = MAX(combinedSeverity, severity);
}
- //------------------------------------------------------------------------------------------------------
- //PBLI
- //Use a multiplier on ARDS equation
- double PBLIMultiplier = 1.0;
- if (m_PatientActions->HasPrimaryBlastLungInjury())
- {
- double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
- PBLIMultiplier = GeneralMath::LinearInterpolator(0.0, 1.0, 1.0, 0.5, severity);
- combinedSeverity = MAX(combinedSeverity, severity);
- }
-
//------------------------------------------------------------------------------------------------------
//ARDS
//Exacerbation will overwrite the condition, even if it means improvement
@@ -5039,6 +5016,19 @@ namespace pulse
combinedSeverity = MAX(combinedSeverity, severity);
}
+ //------------------------------------------------------------------------------------------------------
+ //PBLI
+ //Use a multiplier on ARDS equation
+ double PBLIMultiplier = 1.0;
+ if (m_PatientActions->HasPrimaryBlastLungInjury())
+ {
+ double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
+
+ PBLIMultiplier = GeneralMath::LinearInterpolator(0.0, 1.0, 1.0, 0.5, severity);
+
+ combinedSeverity = MAX(combinedSeverity, severity);
+ }
+
//------------------------------------------------------------------------------------------------------
//Combine effects
//Damage factor acts as floor if fully recruited
@@ -5050,7 +5040,7 @@ namespace pulse
{0.9, 0.5}, //Severe
{1.0, 1.0} //Max
};
- damageScalingFactor = GeneralMath::PiecewiseLinearInterpolator(interpolatorPoints, combinedSeverity);
+ double damageScalingFactor = GeneralMath::PiecewiseLinearInterpolator(interpolatorPoints, combinedSeverity) * PBLIMultiplier;
interpolatorPoints =
{
@@ -5271,17 +5261,6 @@ namespace pulse
restrictiveSeverity = MAX(restrictiveSeverity, severity);
}
- //------------------------------------------------------------------------------------------------------
- //PBLI
- //Same as ARDS
- if (m_PatientActions->HasPrimaryBlastLungInjury())
- {
- double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
-
- severity = GeneralMath::LinearInterpolator(0.0, 1.0, 0.0, 0.8, severity);
- combinedSeverity = MAX(combinedSeverity, severity);
- }
-
//------------------------------------------------------------------------------------------------------
//ARDS
//Exacerbation will overwrite the condition, even if it means improvement
@@ -5300,6 +5279,16 @@ namespace pulse
restrictiveSeverity = MAX(restrictiveSeverity, severity);
}
+ //------------------------------------------------------------------------------------------------------
+ //PBLI
+ //Same as ARDS
+ if (m_PatientActions->HasPrimaryBlastLungInjury())
+ {
+ double severity = m_PatientActions->GetPrimaryBlastLungInjury().GetSeverity(cmpt).GetValue();
+
+ restrictiveSeverity = MAX(restrictiveSeverity, severity);
+ }
+
double restrictiveModifier = GeneralMath::LinearInterpolator(0.0, 1.0, 0.0, 0.8, restrictiveSeverity);
//------------------------------------------------------------------------------------------------------
--
GitLab
From ac8d390951595aa9248678d8c11085f3801366b4 Mon Sep 17 00:00:00 2001
From: JeffWebb6
Date: Wed, 7 Aug 2024 13:38:24 -0400
Subject: [PATCH 14/35] Allow respiratory resistance changes for expanded
model.
--
GitLab
From bd2e349daef44f3ad31348711e1f9ec9e8674c7e Mon Sep 17 00:00:00 2001
From: JeffWebb6
Date: Wed, 7 Aug 2024 13:40:44 -0400
Subject: [PATCH 15/35] Update to-dos for future expanded respiratory model
work.
---
.../common/controller/SetupCircuitsAndCompartments.cpp | 4 ++--
.../engine/common/controller/SetupExpandedRespiratory.cpp | 3 +--
src/cpp/engine/common/controller/SubstanceManager.cpp | 2 +-
.../engine/common/system/physiology/CardiovascularModel.cpp | 2 +-
.../engine/common/system/physiology/RespiratoryModel.cpp | 6 +++---
src/cpp/engine/common/system/physiology/TissueModel.cpp | 2 +-
6 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/src/cpp/engine/common/controller/SetupCircuitsAndCompartments.cpp b/src/cpp/engine/common/controller/SetupCircuitsAndCompartments.cpp
index a900db0cd..bb6257686 100644
--- a/src/cpp/engine/common/controller/SetupCircuitsAndCompartments.cpp
+++ b/src/cpp/engine/common/controller/SetupCircuitsAndCompartments.cpp
@@ -2476,7 +2476,7 @@ namespace pulse
///////////////
// Left Lung //
- //jbw - Fix
+ //TODO: Make this work for the expanded model
if (m_Config->UseExpandedRespiratory() == eSwitch::Off)
{
SEFluidCircuitNode* LeftLung1 = cCardiovascular.GetNode(pulse::CardiovascularNode::LeftPulmonaryCapillaries1);
@@ -2720,7 +2720,7 @@ namespace pulse
////////////////
// Right Lung //
- //jbw - Fix
+ //TODO: Make this work for the expanded model
if (m_Config->UseExpandedRespiratory() == eSwitch::Off)
{
SEFluidCircuitNode* RightLung1 = cCardiovascular.GetNode(pulse::CardiovascularNode::RightPulmonaryCapillaries1);
diff --git a/src/cpp/engine/common/controller/SetupExpandedRespiratory.cpp b/src/cpp/engine/common/controller/SetupExpandedRespiratory.cpp
index 9aceaa577..2af95e9ea 100644
--- a/src/cpp/engine/common/controller/SetupExpandedRespiratory.cpp
+++ b/src/cpp/engine/common/controller/SetupExpandedRespiratory.cpp
@@ -52,7 +52,7 @@ namespace pulse
//const double AlveoliDuctResistanceFraction = 0.2;
double functionalResidualCapacity_L = m_InitialPatient->GetFunctionalResidualCapacity(VolumeUnit::L);
- double anatomicDeadSpaceVolume_L = 0.002 * m_InitialPatient->GetWeight(MassUnit::kg); //Should not change with diseases /// \cite Levitzky2013pulmonary
+ double anatomicDeadSpaceVolume_L = 0.002 * m_InitialPatient->GetWeight(MassUnit::kg); /// \cite Levitzky2013pulmonary
double alveolarDeadSpaceVolume_L = 0.001; //Should change with certain diseases /// \cite Levitzky2013pulmonary
double physiologicDeadSpaceVolume_L = anatomicDeadSpaceVolume_L + alveolarDeadSpaceVolume_L;
//double pleuralVolume_L = 20.0 / 1000.0; //this is a liquid volume /// \cite Levitzky2013pulmonary
@@ -2977,7 +2977,6 @@ namespace pulse
gCardiovascular.AddLink(vLeftSuperiorLobeAnteriorShunt);
gCardiovascular.AddLink(vLeftSuperiorLobeApicoposteriorShunt);
- // jbw - What do we do here?
// Remove modifiers of paths we removed
m_Config->GetModifiers().erase(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightPulmonaryCapillaries1);
m_Config->GetModifiers().erase(pulse::CardiovascularPath::RightPulmonaryCapillaries1ToRightPulmonaryVeins1);
diff --git a/src/cpp/engine/common/controller/SubstanceManager.cpp b/src/cpp/engine/common/controller/SubstanceManager.cpp
index d8abad959..107f387f7 100644
--- a/src/cpp/engine/common/controller/SubstanceManager.cpp
+++ b/src/cpp/engine/common/controller/SubstanceManager.cpp
@@ -499,7 +499,7 @@ namespace pulse
InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Fat), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Fat));
InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Gut), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Gut));
InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::LeftKidney), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftKidney));
- //jbw - Fix and make work for all CV setups
+ //TODO: Make this work for the expanded model
if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
{
InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::LeftLung), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftLung));
diff --git a/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp b/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp
index 1064809e6..92cdde08a 100644
--- a/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp
+++ b/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp
@@ -3631,7 +3631,7 @@ namespace pulse
tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::RightKidneyT2ToRightKidneyT1));
}
- //jbw - Fix and make work for all CV setups
+ //TODO: Make this work for the expanded model
if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
{
tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::LeftPulmonaryCapillaries1));
diff --git a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
index 13b173251..9f8011846 100644
--- a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
+++ b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
@@ -981,7 +981,7 @@ namespace pulse
if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
{
- //jbw - Fix
+ //TODO: Make this work for the expanded model
ComputeExposedModelParameters();
}
}
@@ -3060,7 +3060,7 @@ namespace pulse
double RespiratoryModel::VolumeToDriverPressure(double TargetVolume_L)
{
//Calculate as if constant compliances
- //jbw - Either sum all paths or add a configuration value
+ //TODO: Make this work for the expanded model
double leftHealthyLungCompliance_L_Per_cmH2O = 0.1;
double rightHealthyLungCompliance_L_Per_cmH2O = 0.1;
if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
@@ -3176,7 +3176,7 @@ namespace pulse
if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::On)
{
- //jbw - Either sum all paths or add a configuration value
+ //TODO: Make this work for the expanded model
healthyLungCompliance_L_Per_cmH2O = 0.1;
}
else
diff --git a/src/cpp/engine/common/system/physiology/TissueModel.cpp b/src/cpp/engine/common/system/physiology/TissueModel.cpp
index 22694fec2..46d9a2441 100644
--- a/src/cpp/engine/common/system/physiology/TissueModel.cpp
+++ b/src/cpp/engine/common/system/physiology/TissueModel.cpp
@@ -226,7 +226,7 @@ namespace pulse
m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::LeftKidney)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftKidney);
m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::RightKidney)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightKidney);
m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::Liver)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::Liver);
- //jbw - Fix and make work for all CV setups
+ //TODO: Make this work for the expanded model
if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
{
m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::LeftLung)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftLung);
--
GitLab
From 69df58554e6429149c4899003d36077228c16212 Mon Sep 17 00:00:00 2001
From: JeffWebb6
Date: Thu, 8 Aug 2024 08:27:30 -0400
Subject: [PATCH 16/35] =?UTF-8?q?=EF=BB=BFAdd=20a=20HowTo=20to=20analyze?=
=?UTF-8?q?=20patient=20outcomes=20with=20heterogenous=20primary=20blast?=
=?UTF-8?q?=20lung=20injury.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../system/physiology/RespiratoryModel.cpp | 6 +
src/cpp/howto/EngineHowTo.cpp | 3 +-
src/cpp/howto/EngineHowTo.h | 1 +
src/cpp/howto/HowTo-ExpandedRespiratory.cpp | 589 ++++++++++++++++++
4 files changed, 598 insertions(+), 1 deletion(-)
diff --git a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
index 9f8011846..e1d78e8ba 100644
--- a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
+++ b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
@@ -3757,6 +3757,12 @@ namespace pulse
{
//Tuned based on mechanical ventilator validation data
tracheaResistance_cmH2O_s_Per_L *= intubationTracheatracheaResistanceMultiplier_cmH2O_s_Per_L;
+
+ if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::On)
+ {
+ //Trachea resistance was tuned from 1.125 to 0.8 cmH2O-s/L in the circuit setup
+ tracheaResistance_cmH2O_s_Per_L *= 1.125 / 0.8;
+ }
}
break;
diff --git a/src/cpp/howto/EngineHowTo.cpp b/src/cpp/howto/EngineHowTo.cpp
index 1013911b7..ced75a943 100644
--- a/src/cpp/howto/EngineHowTo.cpp
+++ b/src/cpp/howto/EngineHowTo.cpp
@@ -14,7 +14,7 @@ int main()
//HowToSandbox();
- //HowToEngineUse();
+ HowToEngineUse();
//HowToCreateAPatient();
//HowToSerialize();
//HowToPulseEnginePool();
@@ -40,6 +40,7 @@ int main()
//HowToHemorrhage();
//HowToIsoShuntAnalysis();
//HowToExpandedRespiratory();
+ //HowToExpandedRespiratoryAnalysis();
//HowToExpandedVasculature();
//HowToHemorrhage();
//HowToHemothorax();
diff --git a/src/cpp/howto/EngineHowTo.h b/src/cpp/howto/EngineHowTo.h
index 6390b3082..a3a91f2bc 100644
--- a/src/cpp/howto/EngineHowTo.h
+++ b/src/cpp/howto/EngineHowTo.h
@@ -32,6 +32,7 @@ void HowToDehydration();
void HowToEnvironmentChange();
void HowToExercise();
void HowToExpandedRespiratory();
+void HowToExpandedRespiratoryAnalysis();
void HowToExpandedVasculature();
void HowToHemorrhage();
void HowToIsoShuntAnalysis();
diff --git a/src/cpp/howto/HowTo-ExpandedRespiratory.cpp b/src/cpp/howto/HowTo-ExpandedRespiratory.cpp
index 9a060a9f2..4ac80b775 100644
--- a/src/cpp/howto/HowTo-ExpandedRespiratory.cpp
+++ b/src/cpp/howto/HowTo-ExpandedRespiratory.cpp
@@ -20,6 +20,33 @@
#include "cdm/properties/SEScalarVolume.h"
#include "cdm/properties/SEScalarVolumePerTime.h"
#include "cdm/properties/SEScalar0To1.h"
+#include "cdm/system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorPressureControl.h"
+#include "cdm/patient/actions/SEIntubation.h"
+#include "cdm/patient/actions/SEDyspnea.h"
+#include "cdm/engine/SEAdvanceUntilStable.h"
+#include "cdm/compartment/SECompartmentManager.h"
+#include "cdm/compartment/fluid/SEGasCompartment.h"
+#include "cdm/compartment/fluid/SELiquidCompartment.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
void HowToExpandedRespiratory()
{
@@ -117,3 +144,565 @@ void HowToExpandedRespiratory()
pe->GetLogger()->Info(std::stringstream() << "Arterial Oxygen Pressure : " << pe->GetBloodChemistrySystem()->GetArterialOxygenPressure(PressureUnit::mmHg) << PressureUnit::mmHg);
pe->GetLogger()->Info(std::stringstream() << "Arterial Carbon Dioxide Pressure : " << pe->GetBloodChemistrySystem()->GetArterialCarbonDioxidePressure(PressureUnit::mmHg) << PressureUnit::mmHg);
}
+
+void HowToExpandedRespiratoryAnalysisInitialState()
+{
+ std::unique_ptr pe = CreatePulseEngine();
+ pe->GetLogger()->LogToConsole(true);
+ pe->GetLogger()->SetLogFile("./test_results/howto/HowTo_ExpandedRespiratoryAnalysisInitialState.log");
+
+ PulseConfiguration config;
+ config.UseExpandedRespiratory(eSwitch::On);
+ pe->SetConfigurationOverride(&config);
+
+ SEPatientConfiguration pc;
+ pc.SetPatientFile("./patients/StandardMale.json");
+ pe->InitializeEngine(pc);
+
+ //Add a ventilator for proper PaO2/FiO2 analysis
+ SEIntubation intubate;
+ intubate.SetType(eIntubation_Type::Tracheal);
+ pe->ProcessAction(intubate);
+
+ SEMechanicalVentilatorPressureControl pc_cmv;
+ pc_cmv.SetConnection(eSwitch::On);
+ pc_cmv.SetMode(eMechanicalVentilator_PressureControlMode::ContinuousMandatoryVentilation);
+ pc_cmv.SetInspirationWaveform(eDriverWaveform::Square);
+ pc_cmv.GetFractionInspiredOxygen().SetValue(0.21);
+ pc_cmv.GetInspiratoryPeriod().SetValue(1.7, TimeUnit::s);
+ pc_cmv.GetInspiratoryPressure().SetValue(15.5, PressureUnit::cmH2O);
+ pc_cmv.GetPositiveEndExpiratoryPressure().SetValue(5.0, PressureUnit::cmH2O);
+ pc_cmv.GetRespirationRate().SetValue(12.0, FrequencyUnit::Per_min);
+ pe->ProcessAction(pc_cmv);
+
+ //Apneic
+ SEDyspnea Dyspnea;
+ Dyspnea.GetTidalVolumeSeverity().SetValue(1.0);
+ Dyspnea.GetRespirationRateSeverity().SetValue(1.0);
+ pe->ProcessAction(Dyspnea);
+
+ //Run to homestasis
+ SEAdvanceUntilStable RunToStable;
+ pe->ProcessAction(RunToStable);
+
+ pe->GetLogger()->Info(std::stringstream() << "Resulting Tidal Volume: " << pe->GetRespiratorySystem()->GetTidalVolume(VolumeUnit::mL) << VolumeUnit::mL);
+
+ //Serialize to use later
+ pe->SerializeToFile("ExpandedRespiratoryAnalysis.json");
+}
+
+void HowToExpandedRespiratoryAnalysisOriginal()
+{
+ // Settings
+ //std::vector severityList = { 0.0, 0.9 };
+ std::vector severityList = { 0.0 };
+ unsigned int totalRuns = unsigned int(std::pow(severityList.size(), 6));
+
+ // Generate the initial state once to use throughout
+ HowToExpandedRespiratoryAnalysisInitialState();
+
+ // Setup everything
+ std::unique_ptr pe = CreatePulseEngine();
+ pe->GetLogger()->LogToConsole(true);
+ pe->GetLogger()->SetLogFile("./test_results/howto/HowTo_ExpandedRespiratoryAnalysisOriginal.log");
+
+ PulseConfiguration config;
+ config.UseExpandedRespiratory(eSwitch::On);
+ pe->SetConfigurationOverride(&config);
+
+ // Create an ofstream object for output file
+ std::ofstream outFile("./test_results/howto/ExpandedRespiratoryAnalysisOriginalTable.csv");
+ std::stringstream results;
+
+ // Header for the table
+ results << "Right Superior Lobe Apical Severity,"
+ << "Right Superior Lobe Posterior Severity,"
+ << "Right Superior Lobe Anterior Severity,"
+ << "Right Middle Lobe Lateral Severity,"
+ << "Right Middle Lobe Medial Severity,"
+ << "Right Inferior Lobe Superior Severity,"
+ << "Right Inferior Lobe Medial Basal Severity,"
+ << "Right Inferior Lobe Anterior Basal Severity,"
+ << "Right Inferior Lobe Lateral Basal Severity,"
+ << "Right Inferior Lobe Posterior Basal Severity,"
+ << "Left Inferior Lobe Posterior Basal Severity,"
+ << "Left Inferior Lobe Lateral Basal Severity,"
+ << "Left Inferior Lobe Anteromedial Basal Severity,"
+ << "Left Inferior Lobe Superior Severity,"
+ << "Left Superior Lobe Inferior Lingula Severity,"
+ << "Left Superior Lobe Superior Lingula Severity,"
+ << "Left Superior Lobe Anterior Severity,"
+ << "Left Superior Lobe Apicoposterior Severity,"
+ << "Total Pulmonary Ventilation (L/min),"
+ << "Total Pulmonary Perfusion (L/min),"
+ << "Ventilation Perfusion Ratio,"
+ << "PaO2 / FiO2 (mmHg),"
+ << "Capillaries PO2 (mmHg),"
+ << "Capillaries CO2 (mmHg),";
+
+ // Add headers for ventilation and perfusion for all compartments
+ std::vector compartments = {
+ "RightSuperiorLobeApical", "RightSuperiorLobePosterior", "RightSuperiorLobeAnterior",
+ "RightMiddleLobeLateral", "RightMiddleLobeMedial", "RightInferiorLobeSuperior",
+ "RightInferiorLobeMedialBasal", "RightInferiorLobeAnteriorBasal", "RightInferiorLobeLateralBasal",
+ "RightInferiorLobePosteriorBasal", "LeftInferiorLobePosteriorBasal", "LeftInferiorLobeLateralBasal",
+ "LeftInferiorLobeAnteromedialBasal", "LeftInferiorLobeSuperior", "LeftSuperiorLobeInferiorLingula",
+ "LeftSuperiorLobeSuperiorLingula", "LeftSuperiorLobeAnterior", "LeftSuperiorLobeApicoposterior"
+ };
+
+ for (const auto& compartment : compartments) {
+ results << compartment << " Ventilation (L/min),"
+ << compartment << " Perfusion (L/min),"
+ << compartment << " O2 (mmHg),"
+ << compartment << " CO2 (mmHg),";
+ }
+
+ results << "\n";
+
+ unsigned int currentRun = 0;
+
+ // Loop through all combinations
+ for (double RightSuperiorLobeApicalSeverity : severityList) {
+ for (double RightSuperiorLobePosteriorSeverity : severityList) {
+ for (double RightSuperiorLobeAnteriorSeverity : severityList) {
+ for (double RightMiddleLobeLateralSeverity : severityList) {
+ for (double RightMiddleLobeMedialSeverity : severityList) {
+ for (double RightInferiorLobeSuperiorSeverity : severityList) {
+ for (double RightInferiorLobeMedialBasalSeverity : severityList) {
+ for (double RightInferiorLobeAnteriorBasalSeverity : severityList) {
+ for (double RightInferiorLobeLateralBasalSeverity : severityList) {
+ for (double RightInferiorLobePosteriorBasalSeverity : severityList) {
+ for (double LeftInferiorLobePosteriorBasalSeverity : severityList) {
+ for (double LeftInferiorLobeLateralBasalSeverity : severityList) {
+ for (double LeftInferiorLobeAnteromedialBasalSeverity : severityList) {
+ for (double LeftInferiorLobeSuperiorSeverity : severityList) {
+ for (double LeftSuperiorLobeInferiorLingulaSeverity : severityList) {
+ for (double LeftSuperiorLobeSuperiorLingulaSeverity : severityList) {
+ for (double LeftSuperiorLobeAnteriorSeverity : severityList) {
+ for (double LeftSuperiorLobeApicoposteriorSeverity : severityList) {
+
+ double percentCompleted = static_cast(currentRun) / totalRuns * 100.0;
+ pe->GetLogger()->Info(std::stringstream() << "Starting Run " << currentRun << " of " << totalRuns << " total (" << percentCompleted << "% complete)");
+
+ // Load the state to start fresh each run
+ if (!pe->SerializeFromFile("ExpandedRespiratoryAnalysis.json")) {
+ pe->GetLogger()->Error("Could not load state.");
+ continue;
+ }
+
+ SEPrimaryBlastLungInjury pbli;
+ pbli.GetSeverity(eLungCompartment::RightSuperiorLobeApical).SetValue(RightSuperiorLobeApicalSeverity);
+ pbli.GetSeverity(eLungCompartment::RightSuperiorLobePosterior).SetValue(RightSuperiorLobePosteriorSeverity);
+ pbli.GetSeverity(eLungCompartment::RightSuperiorLobeAnterior).SetValue(RightSuperiorLobeAnteriorSeverity);
+ pbli.GetSeverity(eLungCompartment::RightMiddleLobeLateral).SetValue(RightMiddleLobeLateralSeverity);
+ pbli.GetSeverity(eLungCompartment::RightMiddleLobeMedial).SetValue(RightMiddleLobeMedialSeverity);
+ pbli.GetSeverity(eLungCompartment::RightInferiorLobeSuperior).SetValue(RightInferiorLobeSuperiorSeverity);
+ pbli.GetSeverity(eLungCompartment::RightInferiorLobeMedialBasal).SetValue(RightInferiorLobeMedialBasalSeverity);
+ pbli.GetSeverity(eLungCompartment::RightInferiorLobeAnteriorBasal).SetValue(RightInferiorLobeAnteriorBasalSeverity);
+ pbli.GetSeverity(eLungCompartment::RightInferiorLobeLateralBasal).SetValue(RightInferiorLobeLateralBasalSeverity);
+ pbli.GetSeverity(eLungCompartment::RightInferiorLobePosteriorBasal).SetValue(RightInferiorLobePosteriorBasalSeverity);
+ pbli.GetSeverity(eLungCompartment::LeftInferiorLobePosteriorBasal).SetValue(LeftInferiorLobePosteriorBasalSeverity);
+ pbli.GetSeverity(eLungCompartment::LeftInferiorLobeLateralBasal).SetValue(LeftInferiorLobeLateralBasalSeverity);
+ pbli.GetSeverity(eLungCompartment::LeftInferiorLobeAnteromedialBasal).SetValue(LeftInferiorLobeAnteromedialBasalSeverity);
+ pbli.GetSeverity(eLungCompartment::LeftInferiorLobeSuperior).SetValue(LeftInferiorLobeSuperiorSeverity);
+ pbli.GetSeverity(eLungCompartment::LeftSuperiorLobeInferiorLingula).SetValue(LeftSuperiorLobeInferiorLingulaSeverity);
+ pbli.GetSeverity(eLungCompartment::LeftSuperiorLobeSuperiorLingula).SetValue(LeftSuperiorLobeSuperiorLingulaSeverity);
+ pbli.GetSeverity(eLungCompartment::LeftSuperiorLobeAnterior).SetValue(LeftSuperiorLobeAnteriorSeverity);
+ pbli.GetSeverity(eLungCompartment::LeftSuperiorLobeApicoposterior).SetValue(LeftSuperiorLobeApicoposteriorSeverity);
+ pe->ProcessAction(pbli);
+
+ // Run to homestasis
+ SEAdvanceUntilStable RunToStable;
+ RunToStable.SetCriteria("AnalysisAdvanceUntilStable");
+ pe->ProcessAction(RunToStable);
+
+ // Log the combination
+ const SELiquidCompartment* PulmonaryCapillaries = pe->GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::PulmonaryCapillaries);
+ const SESubstance* O2 = pe->GetSubstanceManager().GetSubstance("Oxygen");
+ const SESubstance* CO2 = pe->GetSubstanceManager().GetSubstance("CarbonDioxide");
+
+ results << RightSuperiorLobeApicalSeverity << ","
+ << RightSuperiorLobePosteriorSeverity << ","
+ << RightSuperiorLobeAnteriorSeverity << ","
+ << RightMiddleLobeLateralSeverity << ","
+ << RightMiddleLobeMedialSeverity << ","
+ << RightInferiorLobeSuperiorSeverity << ","
+ << RightInferiorLobeMedialBasalSeverity << ","
+ << RightInferiorLobeAnteriorBasalSeverity << ","
+ << RightInferiorLobeLateralBasalSeverity << ","
+ << RightInferiorLobePosteriorBasalSeverity << ","
+ << LeftInferiorLobePosteriorBasalSeverity << ","
+ << LeftInferiorLobeLateralBasalSeverity << ","
+ << LeftInferiorLobeAnteromedialBasalSeverity << ","
+ << LeftInferiorLobeSuperiorSeverity << ","
+ << LeftSuperiorLobeInferiorLingulaSeverity << ","
+ << LeftSuperiorLobeSuperiorLingulaSeverity << ","
+ << LeftSuperiorLobeAnteriorSeverity << ","
+ << LeftSuperiorLobeApicoposteriorSeverity << ","
+ << pe->GetRespiratorySystem()->GetTotalPulmonaryVentilation(VolumePerTimeUnit::L_Per_min) << ","
+ << pe->GetCardiovascularSystem()->GetTotalPulmonaryPerfusion(VolumePerTimeUnit::L_Per_min) << ","
+ << pe->GetRespiratorySystem()->GetVentilationPerfusionRatio() << ","
+ << pe->GetRespiratorySystem()->GetHorowitzIndex(PressureUnit::mmHg) << ","
+ << PulmonaryCapillaries->GetSubstanceQuantity(*O2)->GetPartialPressure(PressureUnit::mmHg) << ","
+ << PulmonaryCapillaries->GetSubstanceQuantity(*CO2)->GetPartialPressure(PressureUnit::mmHg) << ",";
+
+ // Add ventilation and perfusion values for each compartment
+ for (const auto& compartment : compartments) {
+ const SEGasCompartment* alveoli = pe->GetCompartments().GetGasCompartment(compartment + "Alveoli");
+ const SELiquidCompartment* pulmonaryCapillaries = pe->GetCompartments().GetLiquidCompartment(compartment + "PulmonaryCapillaries");
+
+ results << alveoli->GetVentilation(VolumePerTimeUnit::L_Per_min) << ","
+ << pulmonaryCapillaries->GetPerfusion(VolumePerTimeUnit::L_Per_min) << ","
+ << pulmonaryCapillaries->GetSubstanceQuantity(*O2)->GetPartialPressure(PressureUnit::mmHg) << ","
+ << pulmonaryCapillaries->GetSubstanceQuantity(*CO2)->GetPartialPressure(PressureUnit::mmHg) << ",";
+ }
+
+ results << "\n";
+
+ // Output the results
+ outFile << results.str(); // Output to file
+ outFile.flush(); // Flush after each write
+ results.str(""); // Clear the stringstream for the next iteration
+
+ currentRun++;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // Close the file stream
+ outFile.close();
+}
+
+
+class SilentLogger : public LoggerForward
+{
+public:
+ SilentLogger(std::atomic& successfulRuns, std::atomic& unsuccessfulRuns)
+ : successfulRuns(successfulRuns), unsuccessfulRuns(unsuccessfulRuns) {}
+
+ void ForwardDebug(const std::string& msg) override {}
+ void ForwardInfo(const std::string& msg) override {}
+ void ForwardWarning(const std::string& msg) override {}
+ void ForwardError(const std::string& msg) override {}
+ void ForwardFatal(const std::string& msg) override {
+ // Increment the unsuccessful runs counter silently
+ unsuccessfulRuns++;
+ }
+
+private:
+ std::atomic& successfulRuns;
+ std::atomic& unsuccessfulRuns;
+};
+
+// Function to print a status bar with additional information
+void printStatusBar(unsigned int completed, unsigned int total, unsigned int successful, unsigned int unsuccessful)
+{
+ const int barWidth = 50;
+ float progress = (float)completed / total;
+ int pos = barWidth * progress;
+
+ std::cout << "[";
+ for (int i = 0; i < barWidth; ++i) {
+ if (i < pos) std::cout << "=";
+ else if (i == pos) std::cout << ">";
+ else std::cout << " ";
+ }
+ std::cout << "] " << int(progress * 100.0) << " % "
+ << "Completed: " << completed << "/" << total
+ << " | Successful: " << successful
+ << " | Unsuccessful: " << unsuccessful << "\r";
+ std::cout.flush();
+}
+
+// Thread pool class to manage a fixed number of threads
+class ThreadPool
+{
+public:
+ ThreadPool(size_t numThreads)
+ : stop(false)
+ {
+ for (size_t i = 0; i < numThreads; ++i)
+ workers.emplace_back(
+ [this]
+ {
+ for (;;)
+ {
+ std::function task;
+ {
+ std::unique_lock lock(this->queueMutex);
+ this->condition.wait(lock,
+ [this] { return this->stop || !this->tasks.empty(); });
+ if (this->stop && this->tasks.empty())
+ return;
+ task = std::move(this->tasks.front());
+ this->tasks.pop();
+ }
+ task();
+ }
+ }
+ );
+ }
+
+ template
+ auto enqueue(F&& f, Args&&... args)
+ -> std::future::type>
+ {
+ using return_type = typename std::result_of::type;
+
+ auto task = std::make_shared>(
+ std::bind(std::forward(f), std::forward(args)...)
+ );
+
+ std::future res = task->get_future();
+ {
+ std::unique_lock lock(queueMutex);
+
+ // Don't allow enqueueing after stopping the pool
+ if (stop)
+ throw std::runtime_error("enqueue on stopped ThreadPool");
+
+ tasks.emplace([task]() { (*task)(); });
+ }
+ condition.notify_one();
+ return res;
+ }
+
+ ~ThreadPool()
+ {
+ {
+ std::unique_lock lock(queueMutex);
+ stop = true;
+ }
+ condition.notify_all();
+ for (std::thread& worker : workers)
+ worker.join();
+ }
+
+private:
+ std::vector workers;
+ std::queue> tasks;
+
+ std::mutex queueMutex;
+ std::condition_variable condition;
+ bool stop;
+};
+
+// Function to generate Latin Hypercube Samples
+std::vector> generateLHSamples(int numSamples, int numParameters) {
+ std::vector> samples(numSamples, std::vector(numParameters));
+ std::random_device rd;
+ std::mt19937 gen(rd());
+ std::uniform_real_distribution<> dis(0.0, 1.0);
+
+ for (int i = 0; i < numParameters; ++i) {
+ std::vector perm(numSamples);
+ std::iota(perm.begin(), perm.end(), 0);
+ std::shuffle(perm.begin(), perm.end(), gen);
+ for (int j = 0; j < numSamples; ++j) {
+ samples[j][i] = (perm[j] + dis(gen)) / numSamples;
+ }
+ }
+
+ return samples;
+}
+
+void HowToExpandedRespiratoryAnalysis()
+{
+ int numSamples = 1000; // Adjust the number of samples for LHS
+ int numParameters = 18; // Number of compartments
+ auto lhsSamples = generateLHSamples(numSamples, numParameters);
+ unsigned int totalRuns = lhsSamples.size();
+
+ // Generate the initial state once to use throughout
+ HowToExpandedRespiratoryAnalysisInitialState();
+
+ // Store the healthy values
+ HowToExpandedRespiratoryAnalysisOriginal();
+
+ // Create an ofstream object for output file
+ std::ofstream outFile("./test_results/howto/ExpandedRespiratoryAnalysisTable.csv");
+
+ // Header for the table
+ std::stringstream results;
+ results << "Right Superior Lobe Apical Severity,"
+ << "Right Superior Lobe Posterior Severity,"
+ << "Right Superior Lobe Anterior Severity,"
+ << "Right Middle Lobe Lateral Severity,"
+ << "Right Middle Lobe Medial Severity,"
+ << "Right Inferior Lobe Superior Severity,"
+ << "Right Inferior Lobe Medial Basal Severity,"
+ << "Right Inferior Lobe Anterior Basal Severity,"
+ << "Right Inferior Lobe Lateral Basal Severity,"
+ << "Right Inferior Lobe Posterior Basal Severity,"
+ << "Left Inferior Lobe Posterior Basal Severity,"
+ << "Left Inferior Lobe Lateral Basal Severity,"
+ << "Left Inferior Lobe Anteromedial Basal Severity,"
+ << "Left Inferior Lobe Superior Severity,"
+ << "Left Superior Lobe Inferior Lingula Severity,"
+ << "Left Superior Lobe Superior Lingula Severity,"
+ << "Left Superior Lobe Anterior Severity,"
+ << "Left Superior Lobe Apicoposterior Severity,"
+ << "Total Pulmonary Ventilation (L/min),"
+ << "Total Pulmonary Perfusion (L/min),"
+ << "Ventilation Perfusion Ratio,"
+ << "PaO2 / FiO2 (mmHg),"
+ << "Capillaries PO2 (mmHg),"
+ << "Capillaries CO2 (mmHg),";
+
+ // Add headers for ventilation and perfusion for all compartments
+ std::vector compartments = {
+ "RightSuperiorLobeApical", "RightSuperiorLobePosterior", "RightSuperiorLobeAnterior",
+ "RightMiddleLobeLateral", "RightMiddleLobeMedial", "RightInferiorLobeSuperior",
+ "RightInferiorLobeMedialBasal", "RightInferiorLobeAnteriorBasal", "RightInferiorLobeLateralBasal",
+ "RightInferiorLobePosteriorBasal", "LeftInferiorLobePosteriorBasal", "LeftInferiorLobeLateralBasal",
+ "LeftInferiorLobeAnteromedialBasal", "LeftInferiorLobeSuperior", "LeftSuperiorLobeInferiorLingula",
+ "LeftSuperiorLobeSuperiorLingula", "LeftSuperiorLobeAnterior", "LeftSuperiorLobeApicoposterior"
+ };
+
+ for (const auto& compartment : compartments) {
+ results << compartment << " Ventilation (L/min),"
+ << compartment << " Perfusion (L/min),";
+ }
+
+ results << "\n";
+ outFile << results.str();
+ results.str(""); // Clear the stringstream for the next iteration
+
+ // Helper function to run a single simulation
+ auto run_simulation = [&](const std::vector& severities, std::atomic& successfulRuns, std::atomic& unsuccessfulRuns) -> std::string {
+ try {
+ std::unique_ptr pe = CreatePulseEngine();
+ pe->GetLogger()->LogToConsole(false);
+ pe->GetLogger()->SetLogFile("");
+
+ SilentLogger myLogger(successfulRuns, unsuccessfulRuns);
+ pe->GetLogger()->AddForward(&myLogger);
+
+ PulseConfiguration config;
+ config.UseExpandedRespiratory(eSwitch::On);
+ pe->SetConfigurationOverride(&config);
+
+ // Load the state to start fresh each run
+ if (!pe->SerializeFromFile("ExpandedRespiratoryAnalysis.json")) {
+ unsuccessfulRuns++;
+ return "";
+ }
+
+ SEPrimaryBlastLungInjury pbli;
+ pbli.GetSeverity(eLungCompartment::RightSuperiorLobeApical).SetValue(severities[0]);
+ pbli.GetSeverity(eLungCompartment::RightSuperiorLobePosterior).SetValue(severities[1]);
+ pbli.GetSeverity(eLungCompartment::RightSuperiorLobeAnterior).SetValue(severities[2]);
+ pbli.GetSeverity(eLungCompartment::RightMiddleLobeLateral).SetValue(severities[3]);
+ pbli.GetSeverity(eLungCompartment::RightMiddleLobeMedial).SetValue(severities[4]);
+ pbli.GetSeverity(eLungCompartment::RightInferiorLobeSuperior).SetValue(severities[5]);
+ pbli.GetSeverity(eLungCompartment::RightInferiorLobeMedialBasal).SetValue(severities[6]);
+ pbli.GetSeverity(eLungCompartment::RightInferiorLobeAnteriorBasal).SetValue(severities[7]);
+ pbli.GetSeverity(eLungCompartment::RightInferiorLobeLateralBasal).SetValue(severities[8]);
+ pbli.GetSeverity(eLungCompartment::RightInferiorLobePosteriorBasal).SetValue(severities[9]);
+ pbli.GetSeverity(eLungCompartment::LeftInferiorLobePosteriorBasal).SetValue(severities[10]);
+ pbli.GetSeverity(eLungCompartment::LeftInferiorLobeLateralBasal).SetValue(severities[11]);
+ pbli.GetSeverity(eLungCompartment::LeftInferiorLobeAnteromedialBasal).SetValue(severities[12]);
+ pbli.GetSeverity(eLungCompartment::LeftInferiorLobeSuperior).SetValue(severities[13]);
+ pbli.GetSeverity(eLungCompartment::LeftSuperiorLobeInferiorLingula).SetValue(severities[14]);
+ pbli.GetSeverity(eLungCompartment::LeftSuperiorLobeSuperiorLingula).SetValue(severities[15]);
+ pbli.GetSeverity(eLungCompartment::LeftSuperiorLobeAnterior).SetValue(severities[16]);
+ pbli.GetSeverity(eLungCompartment::LeftSuperiorLobeApicoposterior).SetValue(severities[17]);
+ pe->ProcessAction(pbli);
+
+ // Run to homestasis
+ SEAdvanceUntilStable RunToStable;
+ RunToStable.SetCriteria("AnalysisAdvanceUntilStable");
+ pe->ProcessAction(RunToStable);
+
+ // Log the combination
+ const SELiquidCompartment* PulmonaryCapillaries = pe->GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::PulmonaryCapillaries);
+ const SESubstance* O2 = pe->GetSubstanceManager().GetSubstance("Oxygen");
+ const SESubstance* CO2 = pe->GetSubstanceManager().GetSubstance("CarbonDioxide");
+
+ std::stringstream result;
+ for (const auto& severity : severities) {
+ result << severity << ",";
+ }
+ result << pe->GetRespiratorySystem()->GetTotalPulmonaryVentilation(VolumePerTimeUnit::L_Per_min) << ","
+ << pe->GetCardiovascularSystem()->GetTotalPulmonaryPerfusion(VolumePerTimeUnit::L_Per_min) << ","
+ << pe->GetRespiratorySystem()->GetVentilationPerfusionRatio() << ","
+ << pe->GetRespiratorySystem()->GetHorowitzIndex(PressureUnit::mmHg) << ","
+ << PulmonaryCapillaries->GetSubstanceQuantity(*O2)->GetPartialPressure(PressureUnit::mmHg) << ","
+ << PulmonaryCapillaries->GetSubstanceQuantity(*CO2)->GetPartialPressure(PressureUnit::mmHg) << ",";
+
+ // Add ventilation and perfusion values for each compartment
+ for (const auto& compartment : compartments) {
+ const SEGasCompartment* alveoli = pe->GetCompartments().GetGasCompartment(compartment + "Alveoli");
+ const SELiquidCompartment* pulmonaryCapillaries = pe->GetCompartments().GetLiquidCompartment(compartment + "PulmonaryCapillaries");
+
+ result << alveoli->GetVentilation(VolumePerTimeUnit::L_Per_min) << ","
+ << pulmonaryCapillaries->GetPerfusion(VolumePerTimeUnit::L_Per_min) << ",";
+ }
+
+ result << "\n";
+ successfulRuns++;
+ return result.str();
+ }
+ catch (...) {
+ unsuccessfulRuns++;
+ return "";
+ }
+ };
+
+ // Vector to hold futures
+ std::vector> futures;
+ std::atomic completedRuns(0);
+ std::atomic successfulRuns(0);
+ std::atomic unsuccessfulRuns(0);
+
+ // Create a thread pool with 10 threads
+ ThreadPool pool(10);
+
+ // Launch tasks in the thread pool
+ for (const auto& sample : lhsSamples) {
+ futures.push_back(pool.enqueue([&] {
+ auto result = run_simulation(sample, successfulRuns, unsuccessfulRuns);
+ completedRuns++;
+ return result;
+ }));
+ }
+
+ // Create a thread to update the status bar
+ std::thread statusThread([&] {
+ while (completedRuns < totalRuns) {
+ printStatusBar(completedRuns, totalRuns, successfulRuns, unsuccessfulRuns);
+ std::this_thread::sleep_for(std::chrono::milliseconds(100));
+ }
+ printStatusBar(completedRuns, totalRuns, successfulRuns, unsuccessfulRuns);
+ std::cout << std::endl; // Move to the next line after the progress bar is complete
+ });
+
+ // Collect results
+ for (auto& future : futures) {
+ auto result = future.get();
+ if (!result.empty()) {
+ outFile << result;
+ }
+ }
+
+ // Wait for the status thread to finish
+ statusThread.join();
+
+ // Close the file stream
+ outFile.close();
+}
--
GitLab
From 325a423583726d1c65d36f2f148df99526ce701b Mon Sep 17 00:00:00 2001
From: Aaron Bray
Date: Tue, 5 Nov 2024 10:14:57 -0500
Subject: [PATCH 17/35] Correct name of C# PBIL action filename Standardize use
of unsigned int
---
src/cpp/howto/HowTo-ExpandedRespiratory.cpp | 2 +-
.../actions/SEPrimaryBlastLungInjury.cs | 59 +++++++++++++++++++
2 files changed, 60 insertions(+), 1 deletion(-)
create mode 100644 src/csharp/pulse/cdm/patient/actions/SEPrimaryBlastLungInjury.cs
diff --git a/src/cpp/howto/HowTo-ExpandedRespiratory.cpp b/src/cpp/howto/HowTo-ExpandedRespiratory.cpp
index 4ac80b775..eab890f29 100644
--- a/src/cpp/howto/HowTo-ExpandedRespiratory.cpp
+++ b/src/cpp/howto/HowTo-ExpandedRespiratory.cpp
@@ -196,7 +196,7 @@ void HowToExpandedRespiratoryAnalysisOriginal()
// Settings
//std::vector severityList = { 0.0, 0.9 };
std::vector severityList = { 0.0 };
- unsigned int totalRuns = unsigned int(std::pow(severityList.size(), 6));
+ size_t totalRuns = std::pow(severityList.size(), 6);
// Generate the initial state once to use throughout
HowToExpandedRespiratoryAnalysisInitialState();
diff --git a/src/csharp/pulse/cdm/patient/actions/SEPrimaryBlastLungInjury.cs b/src/csharp/pulse/cdm/patient/actions/SEPrimaryBlastLungInjury.cs
new file mode 100644
index 000000000..7c248dcf8
--- /dev/null
+++ b/src/csharp/pulse/cdm/patient/actions/SEPrimaryBlastLungInjury.cs
@@ -0,0 +1,59 @@
+/* Distributed under the Apache License, Version 2.0.
+ See accompanying NOTICE file for details.*/
+
+using System.Collections;
+using System.Collections.Generic;
+
+namespace Pulse.CDM
+{
+ using LungImpairmentMap = Dictionary;
+ public class SEPrimaryBlastLungInjury : SEPatientAction
+ {
+ protected LungImpairmentMap severities;
+
+ public SEPrimaryBlastLungInjury()
+ {
+ severities = new LungImpairmentMap();
+ }
+
+ public override void Clear()
+ {
+ base.Clear();
+ foreach (var itr in severities)
+ itr.Value.Invalidate();
+ }
+
+ public override bool IsValid()
+ {
+ return HasSeverity();
+ }
+
+ public bool HasSeverity()
+ {
+ foreach (var itr in severities)
+ if (itr.Value.IsValid())
+ return true;
+ return false;
+ }
+ public bool HasSeverity(eLungCompartment c)
+ {
+ if (!severities.ContainsKey(c))
+ return false;
+ return severities[c].IsValid();
+ }
+ public SEScalar0To1 GetSeverity(eLungCompartment c)
+ {
+ SEScalar0To1 s = severities[c];
+ if(s == null)
+ {
+ s = new SEScalar0To1();
+ severities[c] = s;
+ }
+ return s;
+ }
+ public LungImpairmentMap GetSeverities()
+ {
+ return severities;
+ }
+ }
+}
--
GitLab
From 887006ccc476b3168b2b644fe872c44f6699876a Mon Sep 17 00:00:00 2001
From: Aaron Bray
Date: Mon, 11 Nov 2024 22:26:53 -0500
Subject: [PATCH 18/35] =?UTF-8?q?=EF=BB=BFSeparate=20circuit/cmpt=20expans?=
=?UTF-8?q?ions=20(ExpandedLungs=20and=20ComputationalLife)=20into=20their?=
=?UTF-8?q?=20own=20classes=20These=20classes=20only=20contain=20the=20new?=
=?UTF-8?q?=20additions=20Changed=20expansion=20names=20in=20config:=20-?=
=?UTF-8?q?=20EnableRenal=20to=20ExpandedKidneys=20-=20ExpandedRespiratory?=
=?UTF-8?q?=20to=20ExpandedLungs=20-=20ExpandedCardiovascular=20to=20Compu?=
=?UTF-8?q?tationalLifeExpansion=20Added=20Circuit=20tests=20for=20Expande?=
=?UTF-8?q?dLungs=20in=20various=20other=20circuit=20configurations?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
bin/InitialPatientState.json | 4 +-
src/cpp/engine/PulseConfiguration.cpp | 210 +--
src/cpp/engine/PulseConfiguration.h | 21 +-
src/cpp/engine/PulseEngine.h | 498 ++----
.../engine/common/controller/CircuitManager.h | 249 +--
.../common/controller/CompartmentManager.cpp | 49 +-
.../common/controller/CompartmentManager.h | 18 +-
src/cpp/engine/common/controller/Controller.h | 16 +-
.../SetupCircuitsAndCompartments.cpp | 47 +-
...pp => SetupComputationalLifeExpansion.cpp} | 1414 ++++++++---------
...Respiratory.cpp => SetupExpandedLungs.cpp} | 1002 ++++++------
.../common/controller/SubstanceManager.cpp | 274 ++--
.../system/physiology/BloodChemistryModel.cpp | 4 +-
.../system/physiology/CardiovascularModel.cpp | 636 ++++----
.../system/physiology/RespiratoryModel.cpp | 356 +++--
.../common/system/physiology/TissueModel.cpp | 4 +-
src/cpp/engine/files.cmake | 4 +-
.../controller/CompartmentManager.cpp | 2 +-
.../SetupCircuitsAndCompartments.cpp | 2 +-
.../whole_body/test/AerosolTest.cpp | 2 +-
.../whole_body/test/AnesthesiaCircuit.cpp | 14 +-
.../whole_body/test/CardiovascularCircuit.cpp | 42 +-
.../whole_body/test/EngineTest.cpp | 32 +-
.../human_adult/whole_body/test/EngineTest.h | 27 +-
.../whole_body/test/FourCompartmentTest.cpp | 2 +-
.../test/MechanicalVentilatorCircuit.cpp | 14 +-
.../whole_body/test/NervousTests.cpp | 2 +-
.../whole_body/test/RenalCircuit.cpp | 6 +-
.../whole_body/test/RespiratoryCircuit.cpp | 30 +-
.../whole_body/test/SolverTests.cpp | 2 +-
.../whole_body/test/TemperatureCircuit.cpp | 14 +-
.../engine/io/protobuf/PBConfiguration.cpp | 18 +-
src/cpp/howto/HowTo-ExpandedRespiratory.cpp | 8 +-
src/cpp/howto/HowTo-ExpandedVasculature.cpp | 2 +-
src/cpp/test_driver/main.cpp | 10 +-
.../patient/actions/PrimaryBlastLungInjury.cs | 59 -
.../pulse/engine/bind/Configuration.proto | 86 +-
37 files changed, 2416 insertions(+), 2764 deletions(-)
rename src/cpp/engine/common/controller/{SetupExpandedCardiovascular.cpp => SetupComputationalLifeExpansion.cpp} (81%)
rename src/cpp/engine/common/controller/{SetupExpandedRespiratory.cpp => SetupExpandedLungs.cpp} (84%)
delete mode 100644 src/csharp/pulse/cdm/patient/actions/PrimaryBlastLungInjury.cs
diff --git a/bin/InitialPatientState.json b/bin/InitialPatientState.json
index db1697d64..49b9804c4 100644
--- a/bin/InitialPatientState.json
+++ b/bin/InitialPatientState.json
@@ -1,8 +1,6 @@
{
"Configuration": {
- "WritePatientBaselineFile": "On",
- "CardiovascularConfiguration" : { "UseExpandedVasculature" : "Off" },
- "RespiratoryConfiguration" : { "UseExpandedRespiratory" : "Off" }
+ "RespiratoryConfiguration" : { "ExpandedLungs" : "Off" }
},
"Scenario": {
"Name": "InitialStableState",
diff --git a/src/cpp/engine/PulseConfiguration.cpp b/src/cpp/engine/PulseConfiguration.cpp
index f8f0e7a67..3c77a8e3f 100644
--- a/src/cpp/engine/PulseConfiguration.cpp
+++ b/src/cpp/engine/PulseConfiguration.cpp
@@ -59,13 +59,13 @@ PulseConfiguration::PulseConfiguration(Logger* logger) : SEEngineConfiguration(l
m_StandardOxygenDiffusionCoefficient = nullptr;
// Cardiovascular
+ m_UseComputationalLifeExpansion = eSwitch::NullSwitch;
m_LeftHeartElastanceMaximum = nullptr;
m_LeftHeartElastanceMinimum = nullptr;
m_MinimumBloodVolumeFraction = nullptr;
m_RightHeartElastanceMaximum = nullptr;
m_RightHeartElastanceMinimum = nullptr;
m_StandardPulmonaryCapillaryCoverage = nullptr;
- m_UseExpandedVasculature = eSwitch::NullSwitch;
m_TuneCardiovascularCircuit = eSwitch::On;
m_CardiovascularTuningFile = "";
@@ -145,7 +145,7 @@ PulseConfiguration::PulseConfiguration(Logger* logger) : SEEngineConfiguration(l
m_VenousComplianceDistributedTimeDelay = nullptr;
// Renal
- m_RenalEnabled = eSwitch::On;
+ m_UseExpandedKidneys = eSwitch::On;
m_PlasmaSodiumConcentrationSetPoint = nullptr;
m_PeritubularPotassiumConcentrationSetPoint = nullptr;
m_LeftGlomerularFluidPermeabilityBaseline = nullptr;
@@ -162,6 +162,7 @@ PulseConfiguration::PulseConfiguration(Logger* logger) : SEEngineConfiguration(l
// Respiratory
+ m_UseExpandedLungs = eSwitch::NullSwitch;
m_CentralControllerCO2PressureSetPoint = nullptr;
m_CentralVentilatoryControllerGain = nullptr;
m_MinimumAllowableInpiratoryAndExpiratoryPeriod = nullptr;
@@ -171,7 +172,6 @@ PulseConfiguration::PulseConfiguration(Logger* logger) : SEEngineConfiguration(l
m_PulmonaryVentilationRateMaximum = nullptr;
m_VentilationTidalVolumeIntercept = nullptr;
m_VentilatoryOcclusionPressure = nullptr;
- m_UseExpandedRespiratory = eSwitch::NullSwitch;
// Tissue
m_TissueEnabled = eSwitch::On;
@@ -180,7 +180,6 @@ PulseConfiguration::PulseConfiguration(Logger* logger) : SEEngineConfiguration(l
PulseConfiguration::~PulseConfiguration()
{
SAFE_DELETE(m_TimeStep);
- m_AllowDynamicTimeStep = eSwitch::Off;
m_Overrides.clear();
m_Modifiers.clear();
@@ -197,9 +196,6 @@ PulseConfiguration::~PulseConfiguration()
SAFE_DELETE(m_RightHeartElastanceMaximum);
SAFE_DELETE(m_RightHeartElastanceMinimum);
SAFE_DELETE(m_StandardPulmonaryCapillaryCoverage);
- m_UseExpandedVasculature = eSwitch::NullSwitch;
- m_TuneCardiovascularCircuit = eSwitch::On;
- m_CardiovascularTuningFile = "";
// Circuit
SAFE_DELETE(m_CardiovascularOpenResistance);
@@ -297,7 +293,6 @@ PulseConfiguration::~PulseConfiguration()
SAFE_DELETE(m_PulmonaryVentilationRateMaximum);
SAFE_DELETE(m_VentilationTidalVolumeIntercept);
SAFE_DELETE(m_VentilatoryOcclusionPressure);
- m_UseExpandedRespiratory = eSwitch::NullSwitch;
//Tissue
}
@@ -317,13 +312,13 @@ void PulseConfiguration::Clear()
INVALIDATE_PROPERTY(m_StandardOxygenDiffusionCoefficient);
// Cardiovascular
+ m_UseComputationalLifeExpansion = eSwitch::NullSwitch;
INVALIDATE_PROPERTY(m_LeftHeartElastanceMaximum);
INVALIDATE_PROPERTY(m_LeftHeartElastanceMinimum);
INVALIDATE_PROPERTY(m_MinimumBloodVolumeFraction);
INVALIDATE_PROPERTY(m_RightHeartElastanceMaximum);
INVALIDATE_PROPERTY(m_RightHeartElastanceMinimum);
INVALIDATE_PROPERTY(m_StandardPulmonaryCapillaryCoverage);
- m_UseExpandedVasculature = eSwitch::NullSwitch;
m_TuneCardiovascularCircuit = eSwitch::On;
m_CardiovascularTuningFile = "";
@@ -406,7 +401,7 @@ void PulseConfiguration::Clear()
INVALIDATE_PROPERTY(m_VenousComplianceDistributedTimeDelay);
// Renal
- m_RenalEnabled = eSwitch::On;
+ m_UseExpandedKidneys = eSwitch::On;
INVALIDATE_PROPERTY(m_PlasmaSodiumConcentrationSetPoint);
INVALIDATE_PROPERTY(m_PeritubularPotassiumConcentrationSetPoint);
INVALIDATE_PROPERTY(m_LeftGlomerularFluidPermeabilityBaseline);
@@ -422,6 +417,7 @@ void PulseConfiguration::Clear()
INVALIDATE_PROPERTY(m_TargetSodiumDelivery);
// Respiratory
+ m_UseExpandedLungs = eSwitch::NullSwitch;
INVALIDATE_PROPERTY(m_CentralControllerCO2PressureSetPoint);
INVALIDATE_PROPERTY(m_CentralVentilatoryControllerGain);
INVALIDATE_PROPERTY(m_MinimumAllowableInpiratoryAndExpiratoryPeriod);
@@ -431,7 +427,6 @@ void PulseConfiguration::Clear()
INVALIDATE_PROPERTY(m_PulmonaryVentilationRateMaximum);
INVALIDATE_PROPERTY(m_VentilationTidalVolumeIntercept);
INVALIDATE_PROPERTY(m_VentilatoryOcclusionPressure);
- m_UseExpandedRespiratory = eSwitch::NullSwitch;
//Tissue
m_TissueEnabled = eSwitch::On;
@@ -491,15 +486,16 @@ void PulseConfiguration::Initialize(const std::string& dataDir, SESubstanceManag
GetStandardOxygenDiffusionCoefficient().SetValue(0.00000000246, AreaPerTimePressureUnit::cm2_Per_min_mmHg);
// Cardiovascular
+ m_UseComputationalLifeExpansion = eSwitch::Off;
GetLeftHeartElastanceMaximum().SetValue(2.49, PressurePerVolumeUnit::mmHg_Per_mL);
GetLeftHeartElastanceMinimum().SetValue(0.049, PressurePerVolumeUnit::mmHg_Per_mL);
GetMinimumBloodVolumeFraction().SetValue(0.65); // \cite Guyton 11th ed p.279
GetRightHeartElastanceMaximum().SetValue(0.523, PressurePerVolumeUnit::mmHg_Per_mL);
GetRightHeartElastanceMinimum().SetValue(0.0243, PressurePerVolumeUnit::mmHg_Per_mL);
GetStandardPulmonaryCapillaryCoverage().SetValue(0.70);
- UseExpandedVasculature(eSwitch::Off);// Call the function to set defaults
m_TuneCardiovascularCircuit = eSwitch::On;
m_CardiovascularTuningFile = "";
+ InitializeCardiovascularModifiers();
// Circuits
GetCardiovascularOpenResistance().SetValue(100.0, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
@@ -598,7 +594,7 @@ void PulseConfiguration::Initialize(const std::string& dataDir, SESubstanceManag
GetVenousComplianceDistributedTimeDelay().SetValue(60.0, TimeUnit::s);
// Renal
- m_RenalEnabled = eSwitch::On;
+ m_UseExpandedKidneys = eSwitch::On;
GetPlasmaSodiumConcentrationSetPoint().SetValue(3.23, MassPerVolumeUnit::mg_Per_mL);
GetPeritubularPotassiumConcentrationSetPoint().SetValue(0.0185, MassPerVolumeUnit::g_Per_dL);
GetLeftGlomerularFluidPermeabilityBaseline().SetValue(3.67647, VolumePerTimePressureAreaUnit::mL_Per_min_mmHg_m2);
@@ -615,6 +611,7 @@ void PulseConfiguration::Initialize(const std::string& dataDir, SESubstanceManag
GetTargetSodiumDelivery().SetValue(0.201, MassPerTimeUnit::g_Per_min);
// Respiratory
+ m_UseExpandedLungs = eSwitch::Off;
GetCentralControllerCO2PressureSetPoint().SetValue(35.5, PressureUnit::mmHg);
GetCentralVentilatoryControllerGain().SetValue(1.44); //How much to add to the amplitude when the CO2 is off
GetMinimumAllowableInpiratoryAndExpiratoryPeriod().SetValue(0.25, TimeUnit::s);
@@ -624,7 +621,6 @@ void PulseConfiguration::Initialize(const std::string& dataDir, SESubstanceManag
GetPulmonaryVentilationRateMaximum().SetValue(150.0, VolumePerTimeUnit::L_Per_min);
GetVentilationTidalVolumeIntercept().SetValue(0.3, VolumeUnit::L);
GetVentilatoryOcclusionPressure().SetValue(0.75, PressureUnit::cmH2O); //This increases the absolute max driver pressure
- UseExpandedRespiratory(eSwitch::Off);
// Tissue
m_TissueEnabled = eSwitch::On;
@@ -728,6 +724,88 @@ const SEScalarProperties& PulseConfiguration::GetModifiers() const
{
return m_Modifiers;
}
+void PulseConfiguration::InitializeCardiovascularModifiers()
+{
+ m_Modifiers.clear();
+ // Circuit Modifiers
+ if (m_UseComputationalLifeExpansion == eSwitch::On)
+ {
+ // Circuit Modifiers
+ m_Modifiers[pulse::CardiovascularPath::Aorta3ToAorta1] = SEScalarPair(1.2902894293208438);// 1.12
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmBone1] = SEScalarPair(1.0923362183174377);// 1.15
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmFat1] = SEScalarPair(1.0923362183174377);// 1.15
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmMicrovasculature1] = SEScalarPair(1.0923362183174377);// 1.15
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmMuscle1] = SEScalarPair(1.0923362183174377);// 1.15
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmSkin1] = SEScalarPair(1.0923362183174377);// 1.15
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmFat1] = SEScalarPair(1.0923362199627225);// 1.15
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmMuscle1] = SEScalarPair(1.0923362199627225);// 1.15
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmSkin1] = SEScalarPair(1.0923362199627225);// 1.15
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmBone1] = SEScalarPair(1.0923362199627225);// 1.15
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmMicrovasculature1] = SEScalarPair(1.0923362199627225);// 1.15
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::Extracranial1ToExtracranial2] = SEScalarPair(0.99455963021629035);// 1.0
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::Intracranial1ToIntracranial2] = SEScalarPair(0.99455963021629035);// 1.0
+ m_Modifiers[pulse::CardiovascularPath::VenaCava1ToRightHeart2] = SEScalarPair(0.009);
+ m_Modifiers[pulse::CardiovascularPath::LeftKidney1ToLeftKidney2] = SEScalarPair(1.5);
+ m_Modifiers[pulse::CardiovascularPath::RightKidney1ToRightKidney2] = SEScalarPair(1.5);
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::Gut1ToLargeIntestine1] = SEScalarPair(0.98471147698642625);// 1.05
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegBone1] = SEScalarPair(1.055513327833395);// 1.1
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegFat1] = SEScalarPair(1.055513327833395);// 1.1
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegMicrovasculature1] = SEScalarPair(1.055513327833395);// 1.1
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegMuscle1] = SEScalarPair(1.055513327833395);// 1.1
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegSkin1] = SEScalarPair(1.055513327833395);// 1.1
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegBone1] = SEScalarPair(1.0555133289980438);// 1.1
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegFat1] = SEScalarPair(1.0555133289980438);// 1.1
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegMicrovasculature1] = SEScalarPair(1.0555133289980438);// 1.1
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegMuscle1] = SEScalarPair(1.0555133289980438);// 1.1
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegSkin1] = SEScalarPair(1.0555133289980438);// 1.1
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::Gut1ToLiver1] = SEScalarPair(1.5008836959051552);// 1.1
+ m_Modifiers[pulse::CardiovascularPath::Myocardium1ToMyocardium2] = SEScalarPair(0.9623041322717929);// 0.95
+ m_Modifiers[pulse::CardiovascularPath::RightPulmonaryArteries1ToRightPulmonaryCapillaries1] = SEScalarPair(0.79184301394230017);// 1.0
+ m_Modifiers[pulse::CardiovascularPath::RightPulmonaryCapillaries1ToRightPulmonaryVeins1] = SEScalarPair(1.0917195273914668);// 1.0
+ m_Modifiers[pulse::CardiovascularPath::RightIntermediatePulmonaryArteries1ToRightPulmonaryArteries1] = SEScalarPair(1.0);
+ m_Modifiers[pulse::CardiovascularPath::LeftIntermediatePulmonaryArteries1ToLeftPulmonaryArteries1] = SEScalarPair(1.0);
+ m_Modifiers[pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1] = SEScalarPair(0.84990272641328168);// 1.0
+ m_Modifiers[pulse::CardiovascularPath::LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1] = SEScalarPair(1.0802879539709094);// 1.0
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::Gut1ToSmallIntestine1] = SEScalarPair(0.97271586393584319);// 1.14
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::Gut1ToSplanchnic1] = SEScalarPair(0.98750749786051784);// 0.95
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::Gut1ToSpleen1] = SEScalarPair(0.96800874795093717);// 0.95
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::Torso1ToTorsoBone1] = SEScalarPair(1.0265141845356056);// 1.02
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::Torso1ToTorsoFat1] = SEScalarPair(1.0154101337135821);// 1.02
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::Torso1ToTorsoMuscle1] = SEScalarPair(1.0968290345983671);// 1.15
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::TorsoMuscle1ToTorso2] = SEScalarPair(0.81318313089396543);// 1.0
+ m_Modifiers[pulse::ComputationalLifeCardiovascularPath::Torso1ToTorsoSkin1] = SEScalarPair(0.99621251983966808);// 1.0
+ m_Modifiers[pulse::CardiovascularPath::VenaCava1ToGround] = SEScalarPair(0.9);
+ }
+ else
+ {
+ m_Modifiers[pulse::CardiovascularPath::Aorta3ToAorta1] = SEScalarPair(1.12);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToLeftArm1] = SEScalarPair(1.15);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToRightArm1] = SEScalarPair(1.15);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToBone1] = SEScalarPair(1.02);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToBrain1] = SEScalarPair(1.0);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToFat1] = SEScalarPair(1.02);
+ m_Modifiers[pulse::CardiovascularPath::VenaCava1ToRightHeart2] = SEScalarPair(0.009);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToLeftKidney1] = SEScalarPair(1.5);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToRightKidney1] = SEScalarPair(1.5);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToLargeIntestine1] = SEScalarPair(1.05);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToLeftLeg1] = SEScalarPair(1.1);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToRightLeg1] = SEScalarPair(1.1);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToLiver1] = SEScalarPair(1.1);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToMuscle1] = SEScalarPair(1.15);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToMyocardium1] = SEScalarPair(0.95);
+ m_Modifiers[pulse::CardiovascularPath::RightPulmonaryArteries1ToRightPulmonaryCapillaries1] = SEScalarPair(1.0);
+ m_Modifiers[pulse::CardiovascularPath::RightPulmonaryCapillaries1ToRightPulmonaryVeins1] = SEScalarPair(1.0);
+ m_Modifiers[pulse::CardiovascularPath::RightIntermediatePulmonaryArteries1ToRightPulmonaryArteries1] = SEScalarPair(1.0);
+ m_Modifiers[pulse::CardiovascularPath::LeftIntermediatePulmonaryArteries1ToLeftPulmonaryArteries1] = SEScalarPair(1.0);
+ m_Modifiers[pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1] = SEScalarPair(1.0);
+ m_Modifiers[pulse::CardiovascularPath::LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1] = SEScalarPair(1.0);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToSkin1] = SEScalarPair(1.0);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToSmallIntestine1] = SEScalarPair(1.14);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToSplanchnic1] = SEScalarPair(0.95);
+ m_Modifiers[pulse::CardiovascularPath::Aorta1ToSpleen1] = SEScalarPair(0.95);
+ m_Modifiers[pulse::CardiovascularPath::VenaCava1ToGround] = SEScalarPair(0.9);
+ }
+}
//////////////////////
/** Blood Chemistry */
@@ -838,89 +916,12 @@ double PulseConfiguration::GetLeftHeartElastanceMinimum(const PressurePerVolumeU
return m_LeftHeartElastanceMinimum->GetValue(unit);
}
-void PulseConfiguration::UseExpandedVasculature(eSwitch s)
+void PulseConfiguration::UseComputationalLifeExpansion(eSwitch s)
{
if (s == eSwitch::NullSwitch)
return;
- m_UseExpandedVasculature = s;
- // Circuit Modifiers
- if (m_UseExpandedVasculature == eSwitch::On)
- {
- // Circuit Modifiers
- m_Modifiers[pulse::ExpandedCardiovascularPath::Aorta3ToAorta1] = SEScalarPair(1.2902894293208438);// 1.12
- m_Modifiers[pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmBone1] = SEScalarPair(1.0923362183174377);// 1.15
- m_Modifiers[pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmFat1] = SEScalarPair(1.0923362183174377);// 1.15
- m_Modifiers[pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmMicrovasculature1] = SEScalarPair(1.0923362183174377);// 1.15
- m_Modifiers[pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmMuscle1] = SEScalarPair(1.0923362183174377);// 1.15
- m_Modifiers[pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmSkin1] = SEScalarPair(1.0923362183174377);// 1.15
- m_Modifiers[pulse::ExpandedCardiovascularPath::RightArm1ToRightArmFat1] = SEScalarPair(1.0923362199627225);// 1.15
- m_Modifiers[pulse::ExpandedCardiovascularPath::RightArm1ToRightArmMuscle1] = SEScalarPair(1.0923362199627225);// 1.15
- m_Modifiers[pulse::ExpandedCardiovascularPath::RightArm1ToRightArmSkin1] = SEScalarPair(1.0923362199627225);// 1.15
- m_Modifiers[pulse::ExpandedCardiovascularPath::RightArm1ToRightArmBone1] = SEScalarPair(1.0923362199627225);// 1.15
- m_Modifiers[pulse::ExpandedCardiovascularPath::RightArm1ToRightArmMicrovasculature1] = SEScalarPair(1.0923362199627225);// 1.15
- m_Modifiers[pulse::ExpandedCardiovascularPath::Extracranial1ToExtracranial2] = SEScalarPair(0.99455963021629035);// 1.0
- m_Modifiers[pulse::ExpandedCardiovascularPath::Intracranial1ToIntracranial2] = SEScalarPair(0.99455963021629035);// 1.0
- m_Modifiers[pulse::ExpandedCardiovascularPath::VenaCava1ToRightHeart2] = SEScalarPair(0.009);
- m_Modifiers[pulse::ExpandedCardiovascularPath::LeftKidney1ToLeftKidney2] = SEScalarPair(1.5);
- m_Modifiers[pulse::ExpandedCardiovascularPath::RightKidney1ToRightKidney2] = SEScalarPair(1.5);
- m_Modifiers[pulse::ExpandedCardiovascularPath::Gut1ToLargeIntestine1] = SEScalarPair(0.98471147698642625);// 1.05
- m_Modifiers[pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegBone1] = SEScalarPair(1.055513327833395);// 1.1
- m_Modifiers[pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegFat1] = SEScalarPair(1.055513327833395);// 1.1
- m_Modifiers[pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegMicrovasculature1] = SEScalarPair(1.055513327833395);// 1.1
- m_Modifiers[pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegMuscle1] = SEScalarPair(1.055513327833395);// 1.1
- m_Modifiers[pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegSkin1] = SEScalarPair(1.055513327833395);// 1.1
- m_Modifiers[pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegBone1] = SEScalarPair(1.0555133289980438);// 1.1
- m_Modifiers[pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegFat1] = SEScalarPair(1.0555133289980438);// 1.1
- m_Modifiers[pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegMicrovasculature1] = SEScalarPair(1.0555133289980438);// 1.1
- m_Modifiers[pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegMuscle1] = SEScalarPair(1.0555133289980438);// 1.1
- m_Modifiers[pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegSkin1] = SEScalarPair(1.0555133289980438);// 1.1
- m_Modifiers[pulse::ExpandedCardiovascularPath::Gut1ToLiver1] = SEScalarPair(1.5008836959051552);// 1.1
- m_Modifiers[pulse::ExpandedCardiovascularPath::Myocardium1ToMyocardium2] = SEScalarPair(0.9623041322717929);// 0.95
- m_Modifiers[pulse::ExpandedCardiovascularPath::RightPulmonaryArteries1ToRightPulmonaryCapillaries1] = SEScalarPair(0.79184301394230017);// 1.0
- m_Modifiers[pulse::ExpandedCardiovascularPath::RightPulmonaryCapillaries1ToRightPulmonaryVeins1] = SEScalarPair(1.0917195273914668);// 1.0
- m_Modifiers[pulse::ExpandedCardiovascularPath::RightIntermediatePulmonaryArteries1ToRightPulmonaryArteries1] = SEScalarPair(1.0);
- m_Modifiers[pulse::ExpandedCardiovascularPath::LeftIntermediatePulmonaryArteries1ToLeftPulmonaryArteries1] = SEScalarPair(1.0);
- m_Modifiers[pulse::ExpandedCardiovascularPath::LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1] = SEScalarPair(0.84990272641328168);// 1.0
- m_Modifiers[pulse::ExpandedCardiovascularPath::LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1] = SEScalarPair(1.0802879539709094);// 1.0
- m_Modifiers[pulse::ExpandedCardiovascularPath::Gut1ToSmallIntestine1] = SEScalarPair(0.97271586393584319);// 1.14
- m_Modifiers[pulse::ExpandedCardiovascularPath::Gut1ToSplanchnic1] = SEScalarPair(0.98750749786051784);// 0.95
- m_Modifiers[pulse::ExpandedCardiovascularPath::Gut1ToSpleen1] = SEScalarPair(0.96800874795093717);// 0.95
- m_Modifiers[pulse::ExpandedCardiovascularPath::Torso1ToTorsoBone1] = SEScalarPair(1.0265141845356056);// 1.02
- m_Modifiers[pulse::ExpandedCardiovascularPath::Torso1ToTorsoFat1] = SEScalarPair(1.0154101337135821);// 1.02
- m_Modifiers[pulse::ExpandedCardiovascularPath::Torso1ToTorsoMuscle1] = SEScalarPair(1.0968290345983671);// 1.15
- m_Modifiers[pulse::ExpandedCardiovascularPath::TorsoMuscle1ToTorso2] = SEScalarPair(0.81318313089396543);// 1.0
- m_Modifiers[pulse::ExpandedCardiovascularPath::Torso1ToTorsoSkin1] = SEScalarPair(0.99621251983966808);// 1.0
- m_Modifiers[pulse::ExpandedCardiovascularPath::VenaCava1ToGround] = SEScalarPair(0.9);
- }
- else
- {
- m_Modifiers[pulse::CardiovascularPath::Aorta3ToAorta1] = SEScalarPair(1.12);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToLeftArm1] = SEScalarPair(1.15);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToRightArm1] = SEScalarPair(1.15);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToBone1] = SEScalarPair(1.02);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToBrain1] = SEScalarPair(1.0);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToFat1] = SEScalarPair(1.02);
- m_Modifiers[pulse::CardiovascularPath::VenaCava1ToRightHeart2] = SEScalarPair(0.009);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToLeftKidney1] = SEScalarPair(1.5);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToRightKidney1] = SEScalarPair(1.5);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToLargeIntestine1] = SEScalarPair(1.05);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToLeftLeg1] = SEScalarPair(1.1);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToRightLeg1] = SEScalarPair(1.1);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToLiver1] = SEScalarPair(1.1);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToMuscle1] = SEScalarPair(1.15);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToMyocardium1] = SEScalarPair(0.95);
- m_Modifiers[pulse::CardiovascularPath::RightPulmonaryArteries1ToRightPulmonaryCapillaries1] = SEScalarPair(1.0);
- m_Modifiers[pulse::CardiovascularPath::RightPulmonaryCapillaries1ToRightPulmonaryVeins1] = SEScalarPair(1.0);
- m_Modifiers[pulse::CardiovascularPath::RightIntermediatePulmonaryArteries1ToRightPulmonaryArteries1] = SEScalarPair(1.0);
- m_Modifiers[pulse::CardiovascularPath::LeftIntermediatePulmonaryArteries1ToLeftPulmonaryArteries1] = SEScalarPair(1.0);
- m_Modifiers[pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1] = SEScalarPair(1.0);
- m_Modifiers[pulse::CardiovascularPath::LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1] = SEScalarPair(1.0);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToSkin1] = SEScalarPair(1.0);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToSmallIntestine1] = SEScalarPair(1.14);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToSplanchnic1] = SEScalarPair(0.95);
- m_Modifiers[pulse::CardiovascularPath::Aorta1ToSpleen1] = SEScalarPair(0.95);
- m_Modifiers[pulse::CardiovascularPath::VenaCava1ToGround] = SEScalarPair(0.9);
- }
+ m_UseComputationalLifeExpansion = s;
+ InitializeCardiovascularModifiers();
}
bool PulseConfiguration::HasMinimumBloodVolumeFraction() const
@@ -1952,6 +1953,13 @@ double PulseConfiguration::GetVenousComplianceDistributedTimeDelay(const TimeUni
/** Renal */
////////////
+void PulseConfiguration::UseExpandedKidneys(eSwitch s)
+{
+ if (s == eSwitch::NullSwitch)
+ return;
+ m_UseExpandedKidneys = s;
+}
+
bool PulseConfiguration::HasPlasmaSodiumConcentrationSetPoint() const
{
return m_PlasmaSodiumConcentrationSetPoint == nullptr ? false : m_PlasmaSodiumConcentrationSetPoint->IsValid();
@@ -2170,6 +2178,14 @@ SEScalarMassPerTime& PulseConfiguration::GetTargetSodiumDelivery()
//////////////////
/** Respiratory */
//////////////////
+
+void PulseConfiguration::UseExpandedLungs(eSwitch s)
+{
+ if (s == eSwitch::NullSwitch)
+ return;
+ m_UseExpandedLungs = s;
+}
+
bool PulseConfiguration::HasCentralControllerCO2PressureSetPoint() const
{
return m_CentralControllerCO2PressureSetPoint == nullptr ? false : m_CentralControllerCO2PressureSetPoint->IsValid();
@@ -2323,9 +2339,3 @@ double PulseConfiguration::GetVentilationTidalVolumeIntercept(const VolumeUnit&
return m_VentilationTidalVolumeIntercept->GetValue(unit);
}
-void PulseConfiguration::UseExpandedRespiratory(eSwitch s)
-{
- if (s == eSwitch::NullSwitch)
- return;
- m_UseExpandedRespiratory = s;
-}
diff --git a/src/cpp/engine/PulseConfiguration.h b/src/cpp/engine/PulseConfiguration.h
index 31f359dd4..2ee85e74e 100644
--- a/src/cpp/engine/PulseConfiguration.h
+++ b/src/cpp/engine/PulseConfiguration.h
@@ -64,6 +64,7 @@ public:
virtual SEScalarProperties& GetModifiers();
virtual const SEScalarProperties& GetModifiers() const;
protected:
+ virtual void InitializeCardiovascularModifiers();
SEScalarTime* m_TimeStep;
eSwitch m_AllowDynamicTimeStep;
@@ -126,8 +127,8 @@ public:
virtual SEScalar& GetStandardPulmonaryCapillaryCoverage();
virtual double GetStandardPulmonaryCapillaryCoverage() const;
- virtual eSwitch UseExpandedVasculature() const { return m_UseExpandedVasculature; }
- virtual void UseExpandedVasculature(eSwitch s);
+ virtual eSwitch UseComputationalLifeExpansion() const { return m_UseComputationalLifeExpansion; }
+ virtual void UseComputationalLifeExpansion(eSwitch s);
virtual eSwitch TuneCardiovascularCircuit() const { return m_TuneCardiovascularCircuit; }
virtual void TuneCardiovascularCircuit(eSwitch s) { m_TuneCardiovascularCircuit = s; }
@@ -142,7 +143,7 @@ protected:
SEScalarPressurePerVolume* m_RightHeartElastanceMaximum;
SEScalarPressurePerVolume* m_RightHeartElastanceMinimum;
SEScalar* m_StandardPulmonaryCapillaryCoverage;
- eSwitch m_UseExpandedVasculature;
+ eSwitch m_UseComputationalLifeExpansion;
eSwitch m_TuneCardiovascularCircuit;
std::string m_CardiovascularTuningFile;
@@ -487,8 +488,8 @@ protected:
/** Renal */
////////////
public:
- virtual bool IsRenalEnabled() const { return m_RenalEnabled == eSwitch::On; }
- virtual void EnableRenal(eSwitch s) { m_RenalEnabled = (s == eSwitch::NullSwitch) ? eSwitch::On : s; }
+ virtual eSwitch UseExpandedKidneys() const { return m_UseExpandedKidneys; }
+ virtual void UseExpandedKidneys(eSwitch s);
virtual bool HasPlasmaSodiumConcentrationSetPoint() const;
virtual SEScalarMassPerVolume& GetPlasmaSodiumConcentrationSetPoint();
@@ -541,7 +542,7 @@ public:
virtual bool HasTargetSodiumDelivery();
virtual SEScalarMassPerTime& GetTargetSodiumDelivery();
protected:
- eSwitch m_RenalEnabled;
+ eSwitch m_UseExpandedKidneys;
SEScalarMassPerVolume* m_PlasmaSodiumConcentrationSetPoint;
SEScalarMassPerVolume* m_PeritubularPotassiumConcentrationSetPoint;
@@ -566,6 +567,9 @@ protected:
/** Respiratory */
//////////////////
public:
+ virtual eSwitch UseExpandedLungs() const { return m_UseExpandedLungs; }
+ virtual void UseExpandedLungs(eSwitch s);
+
virtual bool HasCentralControllerCO2PressureSetPoint() const;
virtual SEScalarPressure& GetCentralControllerCO2PressureSetPoint();
virtual double GetCentralControllerCO2PressureSetPoint(const PressureUnit& unit) const;
@@ -603,10 +607,8 @@ public:
virtual SEScalarPressure& GetVentilatoryOcclusionPressure();
virtual double GetVentilatoryOcclusionPressure(const PressureUnit& unit) const;
- virtual eSwitch UseExpandedRespiratory() const { return m_UseExpandedRespiratory; }
- virtual void UseExpandedRespiratory(eSwitch s);
-
protected:
+ eSwitch m_UseExpandedLungs;
SEScalarPressure* m_CentralControllerCO2PressureSetPoint;
SEScalar* m_CentralVentilatoryControllerGain;
SEScalarTime* m_MinimumAllowableInpiratoryAndExpiratoryPeriod;
@@ -616,7 +618,6 @@ protected:
SEScalarVolumePerTime* m_PulmonaryVentilationRateMaximum;
SEScalarVolume* m_VentilationTidalVolumeIntercept;
SEScalarPressure* m_VentilatoryOcclusionPressure;
- eSwitch m_UseExpandedRespiratory;
/////////////
/** Tissue */
diff --git a/src/cpp/engine/PulseEngine.h b/src/cpp/engine/PulseEngine.h
index 803f72cea..2550a7fb2 100644
--- a/src/cpp/engine/PulseEngine.h
+++ b/src/cpp/engine/PulseEngine.h
@@ -337,7 +337,7 @@ namespace pulse
static std::vector _values;
};
- class ExpandedPulmonaryCompartment
+ class ExpandedLungsPulmonaryCompartment
{
public:
DEFINE_STATIC_STRING(RightBranches);
@@ -523,7 +523,7 @@ namespace pulse
static std::vector _values;
};
- class ExpandedPulmonaryLink
+ class ExpandedLungsPulmonaryLink
{
public:
DEFINE_STATIC_STRING(CarinaToRightMainBronchus);
@@ -908,26 +908,6 @@ namespace pulse
DEFINE_STATIC_STRING(Ground);
- DEFINE_STATIC_STRING(RightSuperiorLobeApicalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightSuperiorLobePosteriorPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightMiddleLobeLateralPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightMiddleLobeMedialPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightInferiorLobeSuperiorPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalPulmonaryCapillaries);
-
- DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
-
static const std::vector& GetValues()
{
@@ -991,26 +971,6 @@ namespace pulse
_values.push_back(RightArm);
_values.push_back(RightLeg);
//_values.push_back(Ground);
-
- _values.push_back(RightSuperiorLobeApicalPulmonaryCapillaries);
- _values.push_back(RightSuperiorLobePosteriorPulmonaryCapillaries);
- _values.push_back(RightSuperiorLobeAnteriorPulmonaryCapillaries);
- _values.push_back(RightMiddleLobeLateralPulmonaryCapillaries);
- _values.push_back(RightMiddleLobeMedialPulmonaryCapillaries);
- _values.push_back(RightInferiorLobeSuperiorPulmonaryCapillaries);
- _values.push_back(RightInferiorLobeMedialBasalPulmonaryCapillaries);
- _values.push_back(RightInferiorLobeAnteriorBasalPulmonaryCapillaries);
- _values.push_back(RightInferiorLobeLateralBasalPulmonaryCapillaries);
- _values.push_back(RightInferiorLobePosteriorBasalPulmonaryCapillaries);
-
- _values.push_back(LeftInferiorLobePosteriorBasalPulmonaryCapillaries);
- _values.push_back(LeftInferiorLobeLateralBasalPulmonaryCapillaries);
- _values.push_back(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
- _values.push_back(LeftInferiorLobeSuperiorPulmonaryCapillaries);
- _values.push_back(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
- _values.push_back(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
- _values.push_back(LeftSuperiorLobeAnteriorPulmonaryCapillaries);
- _values.push_back(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
}
return _values;
}
@@ -1143,67 +1103,6 @@ namespace pulse
DEFINE_STATIC_STRING(RightPeritubularCapillariesToRenalVein);
// Reusing 'RightKidneyToVenaCava' to connect the Right Renal Vein To Vena Cava);
- DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightSuperiorLobeApicalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightSuperiorLobePosteriorPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightSuperiorLobeAnteriorPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightMiddleLobeLateralPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightMiddleLobeMedialPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightInferiorLobeSuperiorPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightInferiorLobeMedialBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightInferiorLobeAnteriorBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightInferiorLobeLateralBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightInferiorLobePosteriorBasalPulmonaryCapillaries);
-
- DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftInferiorLobePosteriorBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftInferiorLobeLateralBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftInferiorLobeSuperiorPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftSuperiorLobeAnteriorPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
-
- DEFINE_STATIC_STRING(RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins);
- DEFINE_STATIC_STRING(RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins);
- DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins);
- DEFINE_STATIC_STRING(RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins);
- DEFINE_STATIC_STRING(RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins);
- DEFINE_STATIC_STRING(RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins);
- DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins);
- DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins);
- DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins);
- DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins);
-
- DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins);
- DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins);
- DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins);
- DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins);
- DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins);
- DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins);
- DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins);
- DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins);
-
- DEFINE_STATIC_STRING(RightSuperiorLobeApicalShunt);
- DEFINE_STATIC_STRING(RightSuperiorLobePosteriorShunt);
- DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorShunt);
- DEFINE_STATIC_STRING(RightMiddleLobeLateralShunt);
- DEFINE_STATIC_STRING(RightMiddleLobeMedialShunt);
- DEFINE_STATIC_STRING(RightInferiorLobeSuperiorShunt);
- DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalShunt);
- DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalShunt);
- DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalShunt);
- DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalShunt);
-
- DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalShunt);
- DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalShunt);
- DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalShunt);
- DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorShunt);
- DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaShunt);
- DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaShunt);
- DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorShunt);
- DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorShunt);
-
-
static const std::vector& GetValues()
{
ScopedMutex lock;
@@ -1290,7 +1189,161 @@ namespace pulse
_values.push_back(RightTubulesToPeritubularCapillaries);
_values.push_back(RightEfferentArterioleToPeritubularCapillaries);
_values.push_back(RightPeritubularCapillariesToRenalVein);
+ }
+ return _values;
+ }
+ static bool HasValue(const std::string& v)
+ {
+ return std::find(_values.begin(), _values.end(), v) != _values.end();
+ }
+ static void AddValue(const std::string& v)
+ {
+ if (!HasValue(v))
+ {
+ ScopedMutex lock;
+ _values.push_back(v);
+ }
+ }
+ protected:
+ static std::vector _values;
+ };
+
+ class ExpandedLungsVascularCompartment
+ {
+ public:
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
+
+ static const std::vector& GetValues()
+ {
+ ScopedMutex lock;
+ if (_values.empty())
+ {
+ _values.push_back(RightSuperiorLobeApicalPulmonaryCapillaries);
+ _values.push_back(RightSuperiorLobePosteriorPulmonaryCapillaries);
+ _values.push_back(RightSuperiorLobeAnteriorPulmonaryCapillaries);
+ _values.push_back(RightMiddleLobeLateralPulmonaryCapillaries);
+ _values.push_back(RightMiddleLobeMedialPulmonaryCapillaries);
+ _values.push_back(RightInferiorLobeSuperiorPulmonaryCapillaries);
+ _values.push_back(RightInferiorLobeMedialBasalPulmonaryCapillaries);
+ _values.push_back(RightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ _values.push_back(RightInferiorLobeLateralBasalPulmonaryCapillaries);
+ _values.push_back(RightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ _values.push_back(LeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ _values.push_back(LeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ _values.push_back(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ _values.push_back(LeftInferiorLobeSuperiorPulmonaryCapillaries);
+ _values.push_back(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ _values.push_back(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ _values.push_back(LeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ _values.push_back(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+ }
+ return _values;
+ }
+ static bool HasValue(const std::string& v)
+ {
+ return std::find(_values.begin(), _values.end(), v) != _values.end();
+ }
+ static void AddValue(const std::string& v)
+ {
+ if (!HasValue(v))
+ {
+ ScopedMutex lock;
+ _values.push_back(v);
+ }
+ }
+ protected:
+ static std::vector _values;
+ };
+
+ class ExpandedLungsVascularLink
+ {
+ public:
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightSuperiorLobeApicalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightSuperiorLobePosteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightSuperiorLobeAnteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightMiddleLobeLateralPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightMiddleLobeMedialPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightInferiorLobeSuperiorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightInferiorLobeMedialBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightInferiorLobeLateralBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightPulmonaryArteriesToRightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftInferiorLobeSuperiorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftPulmonaryArteriesToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins);
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalShunt);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorShunt);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorShunt);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralShunt);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialShunt);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorShunt);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalShunt);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalShunt);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalShunt);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalShunt);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalShunt);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalShunt);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalShunt);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorShunt);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaShunt);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaShunt);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorShunt);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorShunt);
+
+
+ static const std::vector& GetValues()
+ {
+ ScopedMutex lock;
+ if (_values.empty())
+ {
_values.push_back(RightPulmonaryArteriesToRightSuperiorLobeApicalPulmonaryCapillaries);
_values.push_back(RightPulmonaryArteriesToRightSuperiorLobePosteriorPulmonaryCapillaries);
_values.push_back(RightPulmonaryArteriesToRightSuperiorLobeAnteriorPulmonaryCapillaries);
@@ -1369,66 +1422,17 @@ namespace pulse
static std::vector _values;
};
- class ExpandedVascularCompartment
+ class ComputationalLifeVascularCompartment
{
public:
- // Cardio
- DEFINE_STATIC_STRING(Aorta);
DEFINE_STATIC_STRING(ArterialBuffer);
- DEFINE_STATIC_STRING(Heart);
- /**/DEFINE_STATIC_STRING_EX(Myocardium, MyocardiumVasculature);
- /**/DEFINE_STATIC_STRING(LeftHeart);
- /**/DEFINE_STATIC_STRING(RightHeart);
- /**/DEFINE_STATIC_STRING(Pericardium);
- DEFINE_STATIC_STRING(VenaCava);
DEFINE_STATIC_STRING(VenousBuffer);
- // Pulmonary
- DEFINE_STATIC_STRING(PulmonaryArteries);
- DEFINE_STATIC_STRING(PulmonaryCapillaries);
- DEFINE_STATIC_STRING(PulmonaryVeins);
- DEFINE_STATIC_STRING_EX(Lungs, LungsVasculature);
- /**/DEFINE_STATIC_STRING_EX(LeftLung, LeftLungVasculature);
- /***/DEFINE_STATIC_STRING(LeftPulmonaryArteries);
- /***/DEFINE_STATIC_STRING(LeftPulmonaryCapillaries);
- /***/DEFINE_STATIC_STRING(LeftPulmonaryVeins);
- /**/DEFINE_STATIC_STRING_EX(RightLung, RightLungVasculature);
- /***/DEFINE_STATIC_STRING(RightPulmonaryArteries);
- /***/DEFINE_STATIC_STRING(RightPulmonaryCapillaries);
- /***/DEFINE_STATIC_STRING(RightPulmonaryVeins);
- // Renal
- DEFINE_STATIC_STRING_EX(Kidneys, KidneyVasculature);
- /**/DEFINE_STATIC_STRING_EX(LeftKidney, LeftKidneyVasculature);
- /***/DEFINE_STATIC_STRING(LeftRenalArtery);
- /***/DEFINE_STATIC_STRING(LeftNephron);
- /*********/DEFINE_STATIC_STRING(LeftAfferentArteriole);
- /*********/DEFINE_STATIC_STRING(LeftGlomerularCapillaries);
- /*********/DEFINE_STATIC_STRING(LeftEfferentArteriole);
- /*********/DEFINE_STATIC_STRING(LeftPeritubularCapillaries);
- /*********/DEFINE_STATIC_STRING(LeftBowmansCapsules);
- /*********/DEFINE_STATIC_STRING(LeftTubules);
- /***/DEFINE_STATIC_STRING(LeftRenalVein);
- /**/DEFINE_STATIC_STRING_EX(RightKidney, RightKidneyVasculature);
- /***/DEFINE_STATIC_STRING(RightRenalArtery);
- /***/DEFINE_STATIC_STRING(RightNephron);
- /*********/DEFINE_STATIC_STRING(RightAfferentArteriole);
- /*********/DEFINE_STATIC_STRING(RightGlomerularCapillaries);
- /*********/DEFINE_STATIC_STRING(RightEfferentArteriole);
- /*********/DEFINE_STATIC_STRING(RightPeritubularCapillaries);
- /*********/DEFINE_STATIC_STRING(RightBowmansCapsules);
- /*********/DEFINE_STATIC_STRING(RightTubules);
- /***/DEFINE_STATIC_STRING(RightRenalVein);
- // General Organs and Periphery
- DEFINE_STATIC_STRING_EX(Bone, BoneVasculature);
+
DEFINE_STATIC_STRING_EX(Head, HeadVasculature);
/**/DEFINE_STATIC_STRING_EX(Extracranial, ExtracranialVasculature);
/**/DEFINE_STATIC_STRING_EX(Intracranial, IntracranialVasculature);
- DEFINE_STATIC_STRING_EX(Fat, FatVasculature);
- DEFINE_STATIC_STRING_EX(Gut, GutVasculature);
+
/**/DEFINE_STATIC_STRING_EX(Gut1, Gut1Vasculature);
- /**/DEFINE_STATIC_STRING_EX(Splanchnic, SplanchnicVasculature);
- /**/DEFINE_STATIC_STRING_EX(SmallIntestine, SmallIntestineVasculature);
- /**/DEFINE_STATIC_STRING_EX(LargeIntestine, LargeIntestineVasculature);
- DEFINE_STATIC_STRING_EX(LeftArm, LeftArmVasculature);
/**/DEFINE_STATIC_STRING_EX(LeftArmArterioles, LeftArmArteriolesVasculature);
/**/DEFINE_STATIC_STRING_EX(LeftArmBone, LeftArmBoneVasculature);
/**/DEFINE_STATIC_STRING_EX(LeftArmFat, LeftArmFatVasculature);
@@ -1436,7 +1440,6 @@ namespace pulse
/**/DEFINE_STATIC_STRING_EX(LeftArmMuscle, LeftArmMuscleVasculature);
/**/DEFINE_STATIC_STRING_EX(LeftArmSkin, LeftArmSkinVasculature);
/**/DEFINE_STATIC_STRING_EX(LeftArmVenules, LeftArmVenulesVasculature);
- DEFINE_STATIC_STRING_EX(LeftLeg, LeftLegVasculature);
/**/DEFINE_STATIC_STRING_EX(LeftLegArterioles, LeftLegArteriolesVasculature);
/**/DEFINE_STATIC_STRING_EX(LeftLegBone, LeftLegBoneVasculature);
/**/DEFINE_STATIC_STRING_EX(LeftLegFat, LeftLegFatVasculature);
@@ -1444,9 +1447,6 @@ namespace pulse
/**/DEFINE_STATIC_STRING_EX(LeftLegMuscle, LeftLegMuscleVasculature);
/**/DEFINE_STATIC_STRING_EX(LeftLegSkin, LeftLegSkinVasculature);
/**/DEFINE_STATIC_STRING_EX(LeftLegVenules, LeftLegVenulesVasculature);
- DEFINE_STATIC_STRING_EX(Liver, LiverVasculature);
- DEFINE_STATIC_STRING_EX(Muscle, MuscleVasculature);
- DEFINE_STATIC_STRING_EX(RightArm, RightArmVasculature);
/**/DEFINE_STATIC_STRING_EX(RightArmArterioles, RightArmArteriolesVasculature);
/**/DEFINE_STATIC_STRING_EX(RightArmBone, RightArmBoneVasculature);
/**/DEFINE_STATIC_STRING_EX(RightArmFat, RightArmFatVasculature);
@@ -1454,7 +1454,6 @@ namespace pulse
/**/DEFINE_STATIC_STRING_EX(RightArmMuscle, RightArmMuscleVasculature);
/**/DEFINE_STATIC_STRING_EX(RightArmSkin, RightArmSkinVasculature);
/**/DEFINE_STATIC_STRING_EX(RightArmVenules, RightArmVenulesVasculature);
- DEFINE_STATIC_STRING_EX(RightLeg, RightLegVasculature);
/**/DEFINE_STATIC_STRING_EX(RightLegArterioles, RightLegArteriolesVasculature);
/**/DEFINE_STATIC_STRING_EX(RightLegBone, RightLegBoneVasculature);
/**/DEFINE_STATIC_STRING_EX(RightLegFat, RightLegFatVasculature);
@@ -1462,8 +1461,6 @@ namespace pulse
/**/DEFINE_STATIC_STRING_EX(RightLegMuscle, RightLegMuscleVasculature);
/**/DEFINE_STATIC_STRING_EX(RightLegSkin, RightLegSkinVasculature);
/**/DEFINE_STATIC_STRING_EX(RightLegVenules, RightLegVenulesVasculature);
- DEFINE_STATIC_STRING_EX(Skin, SkinVasculature);
- DEFINE_STATIC_STRING_EX(Spleen, SpleenVasculature);
DEFINE_STATIC_STRING_EX(Torso, TorsoVasculature);
/**/DEFINE_STATIC_STRING_EX(TorsoArterioles, TorsoArteriolesVasculature);
/**/DEFINE_STATIC_STRING_EX(TorsoBone, TorsoBoneVasculature);
@@ -1472,10 +1469,6 @@ namespace pulse
/**/DEFINE_STATIC_STRING_EX(TorsoMuscle, TorsoMuscleVasculature);
/**/DEFINE_STATIC_STRING_EX(TorsoSkin, TorsoSkinVasculature);
/**/DEFINE_STATIC_STRING_EX(TorsoVenules, TorsoVenulesVasculature);
- DEFINE_STATIC_STRING(Abdomen);
- /**/DEFINE_STATIC_STRING(AbdominalCavity);
-
- DEFINE_STATIC_STRING(Ground);
static const std::vector& GetValues()
@@ -1483,64 +1476,12 @@ namespace pulse
ScopedMutex lock;
if (_values.empty())
{
- _values.push_back(Aorta);
_values.push_back(ArterialBuffer);
- _values.push_back(Abdomen);
- _values.push_back(Heart);
- _values.push_back(Myocardium);
- _values.push_back(LeftHeart);
- _values.push_back(RightHeart);
- _values.push_back(Pericardium);
- _values.push_back(VenaCava);
_values.push_back(VenousBuffer);
- _values.push_back(PulmonaryArteries);
- _values.push_back(PulmonaryCapillaries);
- _values.push_back(PulmonaryVeins);
- _values.push_back(Lungs);
- _values.push_back(LeftLung);
- _values.push_back(LeftPulmonaryArteries);
- _values.push_back(LeftPulmonaryCapillaries);
- _values.push_back(LeftPulmonaryVeins);
- _values.push_back(RightLung);
- _values.push_back(RightPulmonaryArteries);
- _values.push_back(RightPulmonaryCapillaries);
- _values.push_back(RightPulmonaryVeins);
- _values.push_back(Kidneys);
- _values.push_back(LeftKidney);
- _values.push_back(LeftRenalArtery);
- _values.push_back(LeftNephron);
- _values.push_back(LeftAfferentArteriole);
- _values.push_back(LeftGlomerularCapillaries);
- _values.push_back(LeftEfferentArteriole);
- _values.push_back(LeftPeritubularCapillaries);
- _values.push_back(LeftBowmansCapsules);
- _values.push_back(LeftTubules);
- _values.push_back(LeftRenalVein);
- _values.push_back(RightKidney);
- _values.push_back(RightRenalArtery);
- _values.push_back(RightNephron);
- _values.push_back(RightAfferentArteriole);
- _values.push_back(RightGlomerularCapillaries);
- _values.push_back(RightEfferentArteriole);
- _values.push_back(RightPeritubularCapillaries);
- _values.push_back(RightBowmansCapsules);
- _values.push_back(RightTubules);
- _values.push_back(RightRenalVein);
- _values.push_back(Bone);
_values.push_back(Head);
_values.push_back(Extracranial);
_values.push_back(Intracranial);
- _values.push_back(Fat);
- _values.push_back(Gut);
_values.push_back(Gut1);
- _values.push_back(Splanchnic);
- _values.push_back(SmallIntestine);
- _values.push_back(LargeIntestine);
- _values.push_back(Liver);
- _values.push_back(Spleen);
- _values.push_back(Skin);
- _values.push_back(Muscle);
- _values.push_back(LeftArm);
_values.push_back(LeftArmArterioles);
_values.push_back(LeftArmFat);
_values.push_back(LeftArmMuscle);
@@ -1548,7 +1489,6 @@ namespace pulse
_values.push_back(LeftArmBone);
_values.push_back(LeftArmMicrovasculature);
_values.push_back(LeftArmVenules);
- _values.push_back(LeftLeg);
_values.push_back(LeftLegArterioles);
_values.push_back(LeftLegFat);
_values.push_back(LeftLegMuscle);
@@ -1556,7 +1496,6 @@ namespace pulse
_values.push_back(LeftLegBone);
_values.push_back(LeftLegMicrovasculature);
_values.push_back(LeftLegVenules);
- _values.push_back(RightArm);
_values.push_back(RightArmArterioles);
_values.push_back(RightArmFat);
_values.push_back(RightArmMuscle);
@@ -1564,7 +1503,6 @@ namespace pulse
_values.push_back(RightArmBone);
_values.push_back(RightArmMicrovasculature);
_values.push_back(RightArmVenules);
- _values.push_back(RightLeg);
_values.push_back(RightLegArterioles);
_values.push_back(RightLegFat);
_values.push_back(RightLegMuscle);
@@ -1580,7 +1518,6 @@ namespace pulse
_values.push_back(TorsoMuscle);
_values.push_back(TorsoSkin);
_values.push_back(TorsoVenules);
- //_values.push_back(Ground);
}
return _values;
}
@@ -1600,24 +1537,11 @@ namespace pulse
static std::vector _values;
};
- class ExpandedVascularLink
+ class ComputationalLifeVascularLink
{
public:
// Heart and Lungs
-
DEFINE_STATIC_STRING(VenousBufferToVenaCava);
- DEFINE_STATIC_STRING(VenaCavaToRightHeart);
- DEFINE_STATIC_STRING(RightHeartToLeftPulmonaryArteries);
- DEFINE_STATIC_STRING(LeftPulmonaryArteriesToCapillaries);
- DEFINE_STATIC_STRING(LeftPulmonaryArteriesToVeins);
- DEFINE_STATIC_STRING(LeftPulmonaryCapillariesToVeins);
- DEFINE_STATIC_STRING(LeftPulmonaryVeinsToLeftHeart);
- DEFINE_STATIC_STRING(RightHeartToRightPulmonaryArteries);
- DEFINE_STATIC_STRING(RightPulmonaryArteriesToCapillaries);
- DEFINE_STATIC_STRING(RightPulmonaryArteriesToVeins);
- DEFINE_STATIC_STRING(RightPulmonaryCapillariesToVeins);
- DEFINE_STATIC_STRING(RightPulmonaryVeinsToLeftHeart);
- DEFINE_STATIC_STRING(LeftHeartToAorta);
DEFINE_STATIC_STRING(AortaToArterialBuffer);
// Head
DEFINE_STATIC_STRING(AortaToIntracranial);
@@ -1639,9 +1563,6 @@ namespace pulse
DEFINE_STATIC_STRING(LeftArmSkinToLeftArmVenules);
DEFINE_STATIC_STRING(LeftArmVenulesToVenaCava);
- // Left Kidney
- DEFINE_STATIC_STRING(AortaToLeftKidney);
- DEFINE_STATIC_STRING(LeftKidneyToVenaCava);
// Left Leg
DEFINE_STATIC_STRING(AortaToLeftLegArterioles);
DEFINE_STATIC_STRING(LeftLegArteriolesToLeftLegBone);
@@ -1656,26 +1577,10 @@ namespace pulse
DEFINE_STATIC_STRING(LeftLegMuscleToLeftLegVenules);
DEFINE_STATIC_STRING(LeftLegSkinToLeftLegVenules);
DEFINE_STATIC_STRING(LeftLegVenulesToVenaCava);
+
// Gut
DEFINE_STATIC_STRING(AortaToGut);
- //// Large Intestine
- DEFINE_STATIC_STRING(AortaToLargeIntestine);
- DEFINE_STATIC_STRING(LargeIntestineToLiver);
- //// Small Intestine
- DEFINE_STATIC_STRING(AortaToSmallIntestine);
- DEFINE_STATIC_STRING(SmallIntestineToLiver);
- //// Splanchnic
- DEFINE_STATIC_STRING(AortaToSplanchnic);
- DEFINE_STATIC_STRING(SplanchnicToLiver);
- //// Spleen
- DEFINE_STATIC_STRING(AortaToSpleen);
- DEFINE_STATIC_STRING(SpleenToLiver);
- //// Liver
- DEFINE_STATIC_STRING(AortaToLiver);
- DEFINE_STATIC_STRING(LiverToVenaCava);
- // Myocardium
- DEFINE_STATIC_STRING(AortaToMyocardium);
- DEFINE_STATIC_STRING(MyocardiumToVenaCava);
+
// Right Arm
DEFINE_STATIC_STRING(AortaToRightArmArterioles);
DEFINE_STATIC_STRING(RightArmArteriolesToRightArmBone);
@@ -1691,9 +1596,6 @@ namespace pulse
DEFINE_STATIC_STRING(RightArmSkinToRightArmVenules);
DEFINE_STATIC_STRING(RightArmVenulesToVenaCava);
- // Right Kidney
- DEFINE_STATIC_STRING(AortaToRightKidney);
- DEFINE_STATIC_STRING(RightKidneyToVenaCava);
// Right Leg
DEFINE_STATIC_STRING(AortaToRightLegArterioles);
DEFINE_STATIC_STRING(RightLegArteriolesToRightLegBone);
@@ -1723,8 +1625,6 @@ namespace pulse
DEFINE_STATIC_STRING(TorsoFatToTorsoVenules);
DEFINE_STATIC_STRING(TorsoBoneToTorsoVenules);
DEFINE_STATIC_STRING(TorsoVenulesToVenaCava);
- // Hemorrhage and IV
- DEFINE_STATIC_STRING(VenaCavaIV);
// Vascular To Tissue Links
DEFINE_STATIC_STRING(TorsoBoneVascularToTissue);
@@ -1759,92 +1659,40 @@ namespace pulse
DEFINE_STATIC_STRING(RightLegSkinVascularToTissue);
DEFINE_STATIC_STRING(SpleenVascularToTissue);
- // Renal Links
- // Reusing 'AortaToLeftKidney' to connect the Aorta To Left Renal Artery
- DEFINE_STATIC_STRING(LeftRenalArteryToAfferentArteriole);
- DEFINE_STATIC_STRING(LeftAfferentArterioleToGlomerularCapillaries);
- DEFINE_STATIC_STRING(LeftGlomerularCapillariesToEfferentArteriole);
- DEFINE_STATIC_STRING(LeftGlomerularCapillariesToBowmansCapsules);
- DEFINE_STATIC_STRING(LeftBowmansCapsulesToTubules);
- DEFINE_STATIC_STRING(LeftTubulesToPeritubularCapillaries);
- DEFINE_STATIC_STRING(LeftEfferentArterioleToPeritubularCapillaries);
- DEFINE_STATIC_STRING(LeftPeritubularCapillariesToRenalVein);
- // Reusing 'LeftKidneyToVenaCava' to connect the Left Renal Vein To Vena Cava
-
- // Reusing 'AortaToRightKidney' to connect the Aorta To Right Renal Artery
- DEFINE_STATIC_STRING(RightRenalArteryToAfferentArteriole);
- DEFINE_STATIC_STRING(RightAfferentArterioleToGlomerularCapillaries);
- DEFINE_STATIC_STRING(RightGlomerularCapillariesToEfferentArteriole);
- DEFINE_STATIC_STRING(RightGlomerularCapillariesToBowmansCapsules);
- DEFINE_STATIC_STRING(RightBowmansCapsulesToTubules);
- DEFINE_STATIC_STRING(RightTubulesToPeritubularCapillaries);
- DEFINE_STATIC_STRING(RightEfferentArterioleToPeritubularCapillaries);
- DEFINE_STATIC_STRING(RightPeritubularCapillariesToRenalVein);
- // Reusing 'RightKidneyToVenaCava' to connect the Right Renal Vein To Vena Cava);
-
-
static const std::vector& GetValues()
{
ScopedMutex lock;
if (_values.empty())
{
- _values.push_back(VenaCavaToRightHeart);
- _values.push_back(RightHeartToLeftPulmonaryArteries);
- _values.push_back(LeftPulmonaryArteriesToCapillaries);
- _values.push_back(LeftPulmonaryArteriesToVeins);
- _values.push_back(LeftPulmonaryCapillariesToVeins);
- _values.push_back(LeftPulmonaryVeinsToLeftHeart);
- _values.push_back(RightHeartToRightPulmonaryArteries);
- _values.push_back(RightPulmonaryArteriesToCapillaries);
- _values.push_back(RightPulmonaryArteriesToVeins);
- _values.push_back(RightPulmonaryCapillariesToVeins);
- _values.push_back(RightPulmonaryVeinsToLeftHeart);
- _values.push_back(LeftHeartToAorta);
_values.push_back(AortaToIntracranial);
_values.push_back(IntracranialToVenaCava);
_values.push_back(AortaToExtracranial);
_values.push_back(ExtracranialToVenaCava);
- _values.push_back(AortaToLargeIntestine);
- _values.push_back(LargeIntestineToLiver);
+
_values.push_back(LeftArmArteriolesToLeftArmBone);
_values.push_back(LeftArmArteriolesToLeftArmFat);
_values.push_back(LeftArmArteriolesToLeftArmMicrovasculature);
_values.push_back(LeftArmArteriolesToLeftArmMuscle);
_values.push_back(LeftArmArteriolesToLeftArmSkin);
- _values.push_back(AortaToLeftKidney);
- _values.push_back(LeftKidneyToVenaCava);
_values.push_back(LeftLegArteriolesToLeftLegBone);
_values.push_back(LeftLegArteriolesToLeftLegFat);
_values.push_back(LeftLegArteriolesToLeftLegMicrovasculature);
_values.push_back(LeftLegArteriolesToLeftLegMuscle);
_values.push_back(LeftLegArteriolesToLeftLegSkin);
- _values.push_back(AortaToLiver);
- _values.push_back(LiverToVenaCava);
- _values.push_back(AortaToMyocardium);
- _values.push_back(MyocardiumToVenaCava);
+
_values.push_back(RightArmArteriolesToRightArmBone);
_values.push_back(RightArmArteriolesToRightArmFat);
_values.push_back(RightArmArteriolesToRightArmMicrovasculature);
_values.push_back(RightArmArteriolesToRightArmMuscle);
_values.push_back(RightArmArteriolesToRightArmSkin);
- _values.push_back(AortaToRightKidney);
- _values.push_back(RightKidneyToVenaCava);
_values.push_back(RightLegArteriolesToRightLegBone);
_values.push_back(RightLegArteriolesToRightLegFat);
_values.push_back(RightLegArteriolesToRightLegMicrovasculature);
_values.push_back(RightLegArteriolesToRightLegMuscle);
_values.push_back(RightLegArteriolesToRightLegSkin);
-
-
- _values.push_back(AortaToSmallIntestine);
- _values.push_back(SmallIntestineToLiver);
- _values.push_back(AortaToSplanchnic);
- _values.push_back(SplanchnicToLiver);
- _values.push_back(AortaToSpleen);
- _values.push_back(SpleenToLiver);
_values.push_back(AortaToTorsoArterioles);
_values.push_back(TorsoArteriolesToTorsoBone);
_values.push_back(TorsoArteriolesToTorsoFat);
@@ -1911,23 +1759,6 @@ namespace pulse
_values.push_back(RightArmSkinVascularToTissue);
_values.push_back(RightLegSkinVascularToTissue);
_values.push_back(SpleenVascularToTissue);
-
- _values.push_back(LeftRenalArteryToAfferentArteriole);
- _values.push_back(LeftAfferentArterioleToGlomerularCapillaries);
- _values.push_back(LeftGlomerularCapillariesToEfferentArteriole);
- _values.push_back(LeftGlomerularCapillariesToBowmansCapsules);
- _values.push_back(LeftBowmansCapsulesToTubules);
- _values.push_back(LeftTubulesToPeritubularCapillaries);
- _values.push_back(LeftEfferentArterioleToPeritubularCapillaries);
- _values.push_back(LeftPeritubularCapillariesToRenalVein);
- _values.push_back(RightRenalArteryToAfferentArteriole);
- _values.push_back(RightAfferentArterioleToGlomerularCapillaries);
- _values.push_back(RightGlomerularCapillariesToEfferentArteriole);
- _values.push_back(RightGlomerularCapillariesToBowmansCapsules);
- _values.push_back(RightBowmansCapsulesToTubules);
- _values.push_back(RightTubulesToPeritubularCapillaries);
- _values.push_back(RightEfferentArterioleToPeritubularCapillaries);
- _values.push_back(RightPeritubularCapillariesToRenalVein);
}
return _values;
}
@@ -1947,7 +1778,6 @@ namespace pulse
static std::vector _values;
};
-
class UrineCompartment
{
public:
diff --git a/src/cpp/engine/common/controller/CircuitManager.h b/src/cpp/engine/common/controller/CircuitManager.h
index 37c72cd41..694c6d5a2 100644
--- a/src/cpp/engine/common/controller/CircuitManager.h
+++ b/src/cpp/engine/common/controller/CircuitManager.h
@@ -218,7 +218,7 @@ namespace pulse
DEFINE_STATIC_STRING(StomachToEnvironment);
};
- class ExpandedRespiratoryNode
+ class ExpandedLungsRespiratoryNode
{
public:
DEFINE_STATIC_STRING(RightMainBronchus);
@@ -299,7 +299,7 @@ namespace pulse
DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorAlveoli);
};
- class ExpandedRespiratoryPath
+ class ExpandedLungsRespiratoryPath
{
public:
DEFINE_STATIC_STRING(CarinaToRightMainBronchus);
@@ -778,26 +778,6 @@ namespace pulse
DEFINE_STATIC_STRING(VenaCava1);
DEFINE_STATIC_STRING(Ground);
-
- DEFINE_STATIC_STRING(RightSuperiorLobeApicalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightSuperiorLobePosteriorPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightMiddleLobeLateralPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightMiddleLobeMedialPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightInferiorLobeSuperiorPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalPulmonaryCapillaries);
-
- DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorPulmonaryCapillaries);
- DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
};
class CardiovascularPath
@@ -934,7 +914,35 @@ namespace pulse
// Vena Cava
DEFINE_STATIC_STRING(VenaCava1ToGround);
DEFINE_STATIC_STRING(IVToVenaCava1);
+ };
+ class ExpandedLungsCardiovascularNode
+ {
+ public:
+ DEFINE_STATIC_STRING(RightSuperiorLobeApicalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightSuperiorLobePosteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightSuperiorLobeAnteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightMiddleLobeLateralPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightMiddleLobeMedialPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobeSuperiorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobeMedialBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobeLateralBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(RightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ DEFINE_STATIC_STRING(LeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftInferiorLobeSuperiorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+ };
+
+ class ExpandedLungsCardiovascularPath
+ {
+ public:
DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries);
DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries);
DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightSuperiorLobeAnteriorPulmonaryCapillaries);
@@ -1016,39 +1024,11 @@ namespace pulse
DEFINE_STATIC_STRING(LeftSuperiorLobeApicoposteriorShunt);
};
- class ExpandedCardiovascularNode
+ class ComputationalLifeCardiovascularNode
{
public:
- DEFINE_STATIC_STRING(RightHeart1);
- DEFINE_STATIC_STRING(RightHeart2);
- DEFINE_STATIC_STRING(RightHeart3);
-
- DEFINE_STATIC_STRING(MainPulmonaryArteries1);
- DEFINE_STATIC_STRING(LeftIntermediatePulmonaryArteries1);
- DEFINE_STATIC_STRING(LeftPulmonaryArteries1);
- DEFINE_STATIC_STRING(RightIntermediatePulmonaryArteries1);
- DEFINE_STATIC_STRING(RightPulmonaryArteries1);
-
- DEFINE_STATIC_STRING(LeftPulmonaryCapillaries1);
- DEFINE_STATIC_STRING(RightPulmonaryCapillaries1);
-
- DEFINE_STATIC_STRING(LeftIntermediatePulmonaryVeins1);
- DEFINE_STATIC_STRING(LeftPulmonaryVeins1);
- DEFINE_STATIC_STRING(RightIntermediatePulmonaryVeins1);
- DEFINE_STATIC_STRING(RightPulmonaryVeins1);
-
- DEFINE_STATIC_STRING(LeftHeart1);
- DEFINE_STATIC_STRING(LeftHeart2);
- DEFINE_STATIC_STRING(LeftHeart3);
-
- DEFINE_STATIC_STRING(Aorta1);
- DEFINE_STATIC_STRING(Aorta2);
- DEFINE_STATIC_STRING(Aorta3);
- DEFINE_STATIC_STRING(Aorta4);
DEFINE_STATIC_STRING(Aorta5);
- DEFINE_STATIC_STRING(AbdominalCavity1);
-
DEFINE_STATIC_STRING(Extracranial1);
DEFINE_STATIC_STRING(Extracranial2);
DEFINE_STATIC_STRING(Extracranial3);
@@ -1058,64 +1038,36 @@ namespace pulse
DEFINE_STATIC_STRING(Gut1);
- DEFINE_STATIC_STRING(LargeIntestine1);
-
- DEFINE_STATIC_STRING(Liver1);
- DEFINE_STATIC_STRING(Liver2);
- DEFINE_STATIC_STRING(PortalVein1);
-
- DEFINE_STATIC_STRING(LeftArm1);
- DEFINE_STATIC_STRING(LeftArm2);
DEFINE_STATIC_STRING(LeftArmBone1);
DEFINE_STATIC_STRING(LeftArmFat1);
DEFINE_STATIC_STRING(LeftArmMicroVasculature1);
DEFINE_STATIC_STRING(LeftArmMuscle1);
DEFINE_STATIC_STRING(LeftArmSkin1);
- DEFINE_STATIC_STRING(LeftKidney1);
- DEFINE_STATIC_STRING(LeftKidney2);
DEFINE_STATIC_STRING(LeftKidney3);
- DEFINE_STATIC_STRING(LeftLeg1);
- DEFINE_STATIC_STRING(LeftLeg2);
DEFINE_STATIC_STRING(LeftLegBone1);
DEFINE_STATIC_STRING(LeftLegFat1);
DEFINE_STATIC_STRING(LeftLegMicroVasculature1);
DEFINE_STATIC_STRING(LeftLegMuscle1);
DEFINE_STATIC_STRING(LeftLegSkin1);
- DEFINE_STATIC_STRING(Myocardium1);
- DEFINE_STATIC_STRING(Myocardium2);
DEFINE_STATIC_STRING(Myocardium3);
- DEFINE_STATIC_STRING(Pericardium1);
-
- DEFINE_STATIC_STRING(RightArm1);
- DEFINE_STATIC_STRING(RightArm2);
DEFINE_STATIC_STRING(RightArmBone1);
DEFINE_STATIC_STRING(RightArmFat1);
DEFINE_STATIC_STRING(RightArmMicroVasculature1);
DEFINE_STATIC_STRING(RightArmMuscle1);
DEFINE_STATIC_STRING(RightArmSkin1);
- DEFINE_STATIC_STRING(RightKidney1);
- DEFINE_STATIC_STRING(RightKidney2);
DEFINE_STATIC_STRING(RightKidney3);
- DEFINE_STATIC_STRING(RightLeg1);
- DEFINE_STATIC_STRING(RightLeg2);
DEFINE_STATIC_STRING(RightLegBone1);
DEFINE_STATIC_STRING(RightLegFat1);
DEFINE_STATIC_STRING(RightLegMicroVasculature1);
DEFINE_STATIC_STRING(RightLegMuscle1);
DEFINE_STATIC_STRING(RightLegSkin1);
- DEFINE_STATIC_STRING(SmallIntestine1);
-
- DEFINE_STATIC_STRING(Splanchnic1);
-
- DEFINE_STATIC_STRING(Spleen1);
-
DEFINE_STATIC_STRING(Torso1)
DEFINE_STATIC_STRING(Torso2)
DEFINE_STATIC_STRING(TorsoBone1);
@@ -1124,54 +1076,13 @@ namespace pulse
DEFINE_STATIC_STRING(TorsoMuscle1);
DEFINE_STATIC_STRING(TorsoSkin1);
- DEFINE_STATIC_STRING(VenaCava1);
DEFINE_STATIC_STRING(VenaCava2);
-
- DEFINE_STATIC_STRING(Ground);
};
- class ExpandedCardiovascularPath
+ class ComputationalLifeCardiovascularPath
{
public:
- // Heart and Lungs
- DEFINE_STATIC_STRING(VenaCava1ToRightHeart2);
- DEFINE_STATIC_STRING(RightHeart2ToRightHeart1);
- DEFINE_STATIC_STRING(RightHeart1ToRightHeart3);
- DEFINE_STATIC_STRING(RightHeart3ToGround);
- DEFINE_STATIC_STRING(RightHeart1ToMainPulmonaryArteries1);
- DEFINE_STATIC_STRING(MainPulmonaryArteries1ToRightIntermediatePulmonaryArteries1);
- DEFINE_STATIC_STRING(RightIntermediatePulmonaryArteries1ToRightPulmonaryArteries1);
- DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightPulmonaryVeins1);
- DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightPulmonaryCapillaries1);
- DEFINE_STATIC_STRING(RightPulmonaryArteries1ToGround);
- DEFINE_STATIC_STRING(RightPulmonaryCapillaries1ToRightPulmonaryVeins1);
- DEFINE_STATIC_STRING(RightPulmonaryCapillaries1ToGround);
- DEFINE_STATIC_STRING(RightPulmonaryVeins1ToRightIntermediatePulmonaryVeins1);
- DEFINE_STATIC_STRING(RightPulmonaryVeins1ToGround);
- DEFINE_STATIC_STRING(RightIntermediatePulmonaryVeins1ToLeftHeart2);
- DEFINE_STATIC_STRING(MainPulmonaryArteries1ToLeftIntermediatePulmonaryArteries1);
- DEFINE_STATIC_STRING(LeftIntermediatePulmonaryArteries1ToLeftPulmonaryArteries1);
- DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToLeftPulmonaryVeins1);
- DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1);
- DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToGround);
- DEFINE_STATIC_STRING(LeftPulmonaryCapillaries1ToGround);
- DEFINE_STATIC_STRING(LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1);
- DEFINE_STATIC_STRING(LeftPulmonaryVeins1ToLeftIntermediatePulmonaryVeins1);
- DEFINE_STATIC_STRING(LeftPulmonaryVeins1ToGround);
- DEFINE_STATIC_STRING(LeftIntermediatePulmonaryVeins1ToLeftHeart2)
- DEFINE_STATIC_STRING(LeftHeart2ToLeftHeart1);
- DEFINE_STATIC_STRING(LeftHeart1ToLeftHeart3);
- DEFINE_STATIC_STRING(LeftHeart3ToGround);
- DEFINE_STATIC_STRING(LeftHeart1ToAorta2);
- DEFINE_STATIC_STRING(Aorta2ToAorta3);
- DEFINE_STATIC_STRING(Aorta3ToAorta1);
- DEFINE_STATIC_STRING(Aorta1ToAorta4);
DEFINE_STATIC_STRING(Aorta1ToAorta5);
-
- // Abdominal Cavity
- DEFINE_STATIC_STRING(GroundToAorta4);
- DEFINE_STATIC_STRING(AbdominalCavity1ToGround);
- DEFINE_STATIC_STRING(GroundToAbdominalCavity1);
// Brain
DEFINE_STATIC_STRING(Aorta5ToExtracranial1);
DEFINE_STATIC_STRING(Extracranial1ToGround);
@@ -1192,11 +1103,8 @@ namespace pulse
DEFINE_STATIC_STRING(Gut1ToGround);
// Large Intestine
DEFINE_STATIC_STRING(Gut1ToLargeIntestine1);
- DEFINE_STATIC_STRING(LargeIntestine1ToGround);
- DEFINE_STATIC_STRING(LargeIntestine1ToPortalVein1);
// Left Arm
DEFINE_STATIC_STRING(Aorta5ToLeftArm1);
- DEFINE_STATIC_STRING(LeftArm1ToGround);
DEFINE_STATIC_STRING(LeftArm2ToGround);
DEFINE_STATIC_STRING(LeftArm1ToLeftArmBone1);
DEFINE_STATIC_STRING(LeftArmBone1ToGround);
@@ -1216,15 +1124,12 @@ namespace pulse
DEFINE_STATIC_STRING(LeftArm2ToVenaCava2);
// Left Kidney
DEFINE_STATIC_STRING(Aorta5ToLeftKidney1);
- DEFINE_STATIC_STRING(LeftKidney1ToLeftKidney2);
- DEFINE_STATIC_STRING(LeftKidney1ToGround);
DEFINE_STATIC_STRING(LeftKidney2ToGround);
DEFINE_STATIC_STRING(LeftKidney3ToGround);
DEFINE_STATIC_STRING(LeftKidney2ToLeftKidney3);
DEFINE_STATIC_STRING(LeftKidney3ToVenaCava2);
// Left Leg
DEFINE_STATIC_STRING(Aorta5ToLeftLeg1);
- DEFINE_STATIC_STRING(LeftLeg1ToGround);
DEFINE_STATIC_STRING(LeftLeg2ToGround);
DEFINE_STATIC_STRING(LeftLeg1ToLeftLegBone1);
DEFINE_STATIC_STRING(LeftLegBone1ToGround);
@@ -1244,25 +1149,16 @@ namespace pulse
DEFINE_STATIC_STRING(LeftLeg2ToVenaCava2);
// Liver
DEFINE_STATIC_STRING(Gut1ToLiver1);
- DEFINE_STATIC_STRING(Liver1ToGround);
DEFINE_STATIC_STRING(Liver2ToGround);
- DEFINE_STATIC_STRING(PortalVein1ToLiver1);
- DEFINE_STATIC_STRING(Liver1ToLiver2);
DEFINE_STATIC_STRING(Liver2ToVenaCava2);
// Myocardium
DEFINE_STATIC_STRING(Aorta5ToMyocardium1);
- DEFINE_STATIC_STRING(Myocardium1ToMyocardium2);
- DEFINE_STATIC_STRING(Myocardium1ToGround);
DEFINE_STATIC_STRING(Myocardium2ToGround);
DEFINE_STATIC_STRING(Myocardium3ToGround);
DEFINE_STATIC_STRING(Myocardium2ToMyocardium3);
DEFINE_STATIC_STRING(Myocardium3ToVenaCava2);
- // Pericardium
- DEFINE_STATIC_STRING(Pericardium1ToGround);
- DEFINE_STATIC_STRING(GroundToPericardium1);
// Right Arm
DEFINE_STATIC_STRING(Aorta5ToRightArm1);
- DEFINE_STATIC_STRING(RightArm1ToGround);
DEFINE_STATIC_STRING(RightArm2ToGround);
DEFINE_STATIC_STRING(RightArm1ToRightArmBone1);
DEFINE_STATIC_STRING(RightArmBone1ToGround);
@@ -1282,15 +1178,12 @@ namespace pulse
DEFINE_STATIC_STRING(RightArm2ToVenaCava2);
// Right Kidney
DEFINE_STATIC_STRING(Aorta5ToRightKidney1);
- DEFINE_STATIC_STRING(RightKidney1ToRightKidney2);
- DEFINE_STATIC_STRING(RightKidney1ToGround);
DEFINE_STATIC_STRING(RightKidney2ToGround);
DEFINE_STATIC_STRING(RightKidney3ToGround);
DEFINE_STATIC_STRING(RightKidney2ToRightKidney3);
DEFINE_STATIC_STRING(RightKidney3ToVenaCava2);
// Right Leg
DEFINE_STATIC_STRING(Aorta5ToRightLeg1);
- DEFINE_STATIC_STRING(RightLeg1ToGround);
DEFINE_STATIC_STRING(RightLeg2ToGround);
DEFINE_STATIC_STRING(RightLeg1ToRightLegBone1);
DEFINE_STATIC_STRING(RightLegBone1ToGround);
@@ -1310,16 +1203,10 @@ namespace pulse
DEFINE_STATIC_STRING(RightLeg2ToVenaCava2);
// Small Intestine
DEFINE_STATIC_STRING(Gut1ToSmallIntestine1);
- DEFINE_STATIC_STRING(SmallIntestine1ToGround);
- DEFINE_STATIC_STRING(SmallIntestine1ToPortalVein1);
// Splanchnic
DEFINE_STATIC_STRING(Gut1ToSplanchnic1);
- DEFINE_STATIC_STRING(Splanchnic1ToGround);
- DEFINE_STATIC_STRING(Splanchnic1ToPortalVein1);
// Spleen
DEFINE_STATIC_STRING(Gut1ToSpleen1);
- DEFINE_STATIC_STRING(Spleen1ToGround);
- DEFINE_STATIC_STRING(Spleen1ToPortalVein1);
// Torso
DEFINE_STATIC_STRING(Aorta5ToTorso1);
DEFINE_STATIC_STRING(Torso1ToGround);
@@ -1342,12 +1229,9 @@ namespace pulse
DEFINE_STATIC_STRING(Torso2ToVenaCava2);
// Vena Cava
DEFINE_STATIC_STRING(VenaCava2ToVenaCava1);
- DEFINE_STATIC_STRING(VenaCava1ToGround);
//DEFINE_STATIC_STRING(VenaCava2ToGround);
- DEFINE_STATIC_STRING(IVToVenaCava1);
};
-
///////////////////////////////////////
// Cerebrospinal Fluid Circuit Enums //
///////////////////////////////////////
@@ -1503,7 +1387,7 @@ namespace pulse
DEFINE_STATIC_STRING(SpleenT1ToLymph);
};
- class ExpandedCardiovascularTissuePath
+ class ComputationalLifeTissuePath
{
public:
DEFINE_STATIC_STRING(TorsoBone1ToBoneT2);
@@ -1511,99 +1395,32 @@ namespace pulse
DEFINE_STATIC_STRING(LeftLegBone1ToBoneT2);
DEFINE_STATIC_STRING(RightArmBone1ToBoneT2);
DEFINE_STATIC_STRING(RightLegBone1ToBoneT2);
- DEFINE_STATIC_STRING(BoneT2ToBoneT1);
- DEFINE_STATIC_STRING(BoneT1ToBoneT3);
- DEFINE_STATIC_STRING(GroundToBoneT3);
- DEFINE_STATIC_STRING(BoneT1ToLymph);
DEFINE_STATIC_STRING(Intracranial2ToBrainT2);
- DEFINE_STATIC_STRING(BrainT2ToBrainT1);
- DEFINE_STATIC_STRING(BrainT1ToBrainT3);
- DEFINE_STATIC_STRING(GroundToBrainT3);
- DEFINE_STATIC_STRING(BrainT1ToLymph);
DEFINE_STATIC_STRING(TorsoFat1ToFatT2);
DEFINE_STATIC_STRING(LeftArmFat1ToFatT2);
DEFINE_STATIC_STRING(LeftLegFat1ToFatT2);
DEFINE_STATIC_STRING(RightArmFat1ToFatT2);
DEFINE_STATIC_STRING(RightLegFat1ToFatT2);
- DEFINE_STATIC_STRING(FatT2ToFatT1);
- DEFINE_STATIC_STRING(FatT1ToFatT3);
- DEFINE_STATIC_STRING(GroundToFatT3);
- DEFINE_STATIC_STRING(FatT1ToLymph);
-
- DEFINE_STATIC_STRING(SmallIntestine1ToGutT2);
- DEFINE_STATIC_STRING(LargeIntestine1ToGutT2);
- DEFINE_STATIC_STRING(Splanchnic1ToGutT2);
- DEFINE_STATIC_STRING(GutT2ToGutT1);
- DEFINE_STATIC_STRING(GutT1ToGutT3);
- DEFINE_STATIC_STRING(GroundToGutT3);
- DEFINE_STATIC_STRING(GutT1ToLymph);
-
- DEFINE_STATIC_STRING(Liver1ToLiverT2);
- DEFINE_STATIC_STRING(LiverT2ToLiverT1);
- DEFINE_STATIC_STRING(LiverT1ToLiverT3);
- DEFINE_STATIC_STRING(GroundToLiverT3);
- DEFINE_STATIC_STRING(LiverT1ToLymph);
DEFINE_STATIC_STRING(LeftKidney2ToLeftKidneyT2);
- DEFINE_STATIC_STRING(LeftKidneyT2ToLeftKidneyT1);
- DEFINE_STATIC_STRING(LeftKidneyT1ToLeftKidneyT3);
- DEFINE_STATIC_STRING(GroundToLeftKidneyT3);
- DEFINE_STATIC_STRING(LeftKidneyT1ToLymph);
-
- DEFINE_STATIC_STRING(LeftLung1ToLeftLungT2);
- DEFINE_STATIC_STRING(LeftLungT2ToLeftLungT1);
- DEFINE_STATIC_STRING(LeftLungT1ToLeftLungT3);
- DEFINE_STATIC_STRING(GroundToLeftLungT3);
- DEFINE_STATIC_STRING(LeftLungT1ToLymph);
-
- DEFINE_STATIC_STRING(LymphToVenaCava);
DEFINE_STATIC_STRING(TorsoMuscle1ToMuscleT2);
DEFINE_STATIC_STRING(LeftArmMuscle1ToMuscleT2);
DEFINE_STATIC_STRING(LeftLegMuscle1ToMuscleT2);
DEFINE_STATIC_STRING(RightArmMuscle1ToMuscleT2);
DEFINE_STATIC_STRING(RightLegMuscle1ToMuscleT2);
- DEFINE_STATIC_STRING(MuscleT2ToMuscleT1);
- DEFINE_STATIC_STRING(MuscleT1ToMuscleT3);
- DEFINE_STATIC_STRING(GroundToMuscleT3);
- DEFINE_STATIC_STRING(MuscleT1ToLymph);
DEFINE_STATIC_STRING(Myocardium2ToMyocardiumT2);
- DEFINE_STATIC_STRING(MyocardiumT2ToMyocardiumT1);
- DEFINE_STATIC_STRING(MyocardiumT1ToMyocardiumT3);
- DEFINE_STATIC_STRING(GroundToMyocardiumT3);
- DEFINE_STATIC_STRING(MyocardiumT1ToLymph);
-
- DEFINE_STATIC_STRING(RightLung1ToRightLungT2);
- DEFINE_STATIC_STRING(RightLungT2ToRightLungT1);
- DEFINE_STATIC_STRING(RightLungT1ToRightLungT3);
- DEFINE_STATIC_STRING(GroundToRightLungT3);
- DEFINE_STATIC_STRING(RightLungT1ToLymph);
DEFINE_STATIC_STRING(RightKidney2ToRightKidneyT2);
- DEFINE_STATIC_STRING(RightKidneyT2ToRightKidneyT1);
- DEFINE_STATIC_STRING(RightKidneyT1ToRightKidneyT3);
- DEFINE_STATIC_STRING(GroundToRightKidneyT3);
- DEFINE_STATIC_STRING(RightKidneyT1ToLymph);
DEFINE_STATIC_STRING(TorsoSkin1ToSkinT2);
DEFINE_STATIC_STRING(LeftArmSkin1ToSkinT2);
DEFINE_STATIC_STRING(LeftLegSkin1ToSkinT2);
DEFINE_STATIC_STRING(RightArmSkin1ToSkinT2);
DEFINE_STATIC_STRING(RightLegSkin1ToSkinT2);
- DEFINE_STATIC_STRING(SkinT2ToSkinT1);
- DEFINE_STATIC_STRING(SkinT1ToSkinT3);
- DEFINE_STATIC_STRING(GroundToSkinT3);
- DEFINE_STATIC_STRING(SkinT1ToLymph);
- DEFINE_STATIC_STRING(SkinSweating);
-
- DEFINE_STATIC_STRING(Spleen1ToSpleenT2);
- DEFINE_STATIC_STRING(SpleenT2ToSpleenT1);
- DEFINE_STATIC_STRING(SpleenT1ToSpleenT3);
- DEFINE_STATIC_STRING(GroundToSpleenT3);
- DEFINE_STATIC_STRING(SpleenT1ToLymph);
};
class RenalNode
diff --git a/src/cpp/engine/common/controller/CompartmentManager.cpp b/src/cpp/engine/common/controller/CompartmentManager.cpp
index 61f1d2373..51edeea28 100644
--- a/src/cpp/engine/common/controller/CompartmentManager.cpp
+++ b/src/cpp/engine/common/controller/CompartmentManager.cpp
@@ -26,14 +26,18 @@ std::vector pulse::ChymeCompartment::_values;
//std::vector pulse::ChymeLink::_values;
std::vector pulse::PulmonaryCompartment::_values;
std::vector pulse::PulmonaryLink::_values;
-std::vector pulse::ExpandedPulmonaryCompartment::_values;
+std::vector pulse::ExpandedLungsPulmonaryCompartment::_values;
+std::vector pulse::ExpandedLungsPulmonaryLink::_values;
std::vector pulse::TissueCompartment::_values;
std::vector pulse::ExtravascularCompartment::_values;
std::vector pulse::TemperatureCompartment::_values;
//std::vector pulse::TissueLink::_values;
-std::vector pulse::ExpandedVascularCompartment::_values;
std::vector pulse::VascularCompartment::_values;
std::vector pulse::VascularLink::_values;
+std::vector pulse::ExpandedLungsVascularCompartment::_values;
+std::vector pulse::ExpandedLungsVascularLink::_values;
+std::vector pulse::ComputationalLifeVascularCompartment::_values;
+std::vector pulse::ComputationalLifeVascularLink::_values;
std::vector pulse::UrineCompartment::_values;
std::vector pulse::UrineLink::_values;
std::vector pulse::EnvironmentCompartment::_values;
@@ -96,14 +100,18 @@ namespace pulse
m_ChymeLeafCompartments.clear();
m_PulmonaryCompartments.clear();
m_PulmonaryLeafCompartments.clear();
- m_ExpandedPulmonaryCompartments.clear();
- m_ExpandedPulmonaryLeafCompartments.clear();
+ m_ExpandedLungsPulmonaryCompartments.clear();
+ m_ExpandedLungsPulmonaryLeafCompartments.clear();
m_TissueCompartments.clear();
m_TissueLeafCompartments.clear();
m_UrineCompartments.clear();
m_UrineLeafCompartments.clear();
m_VascularCompartments.clear();
m_VascularLeafCompartments.clear();
+ m_ExpandedLungsVascularCompartments.clear();
+ m_ExpandedLungsVascularLeafCompartments.clear();
+ m_ComputationalLifeVascularCompartments.clear();
+ m_ComputationalLifeVascularLeafCompartments.clear();
m_AnesthesiaMachineCompartments.clear();
m_AnesthesiaMachineLeafCompartments.clear();
m_AerosolCompartments.clear();
@@ -148,22 +156,6 @@ for (const std::string& name : pulse::bin##Compartment::GetValues()) \
m_##bin##LeafCompartments.push_back(cmpt); \
}
-#define SORT_CMPTS_EXPANDED(bin, type) \
-m_##bin##Compartments.clear(); \
-m_##bin##LeafCompartments.clear(); \
-for (const std::string& name : pulse::Expanded##bin##Compartment::GetValues()) \
-{ \
- SE##type##Compartment* cmpt = Get##type##Compartment(name); \
- if (cmpt == nullptr) \
- { \
- Warning("Could not find expected " + std::string(#bin) + " compartment, " + name + " in compartment manager"); \
- continue; \
- } \
- m_##bin##Compartments.push_back(cmpt); \
- if (!cmpt->HasChildren()) \
- m_##bin##LeafCompartments.push_back(cmpt); \
-}
-
void CompartmentManager::StateChange()
{
SECompartmentManager::StateChange();
@@ -172,7 +164,10 @@ for (const std::string& name : pulse::Expanded##bin##Compartment::GetValues()) \
// Anatomy
SORT_CMPTS(Chyme, Liquid);
SORT_CMPTS(Pulmonary, Gas);
- SORT_CMPTS(ExpandedPulmonary, Gas);
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::On)
+ {
+ SORT_CMPTS(ExpandedLungsPulmonary, Gas);
+ }
SORT_CMPTS(Temperature, Thermal);
if (m_data.GetConfiguration().IsTissueEnabled())
{
@@ -183,17 +178,19 @@ for (const std::string& name : pulse::Expanded##bin##Compartment::GetValues()) \
Warning("Could not find expected Extravascular compartment, " + name + " in compartment manager");
}
}
- if (m_data.GetConfiguration().IsRenalEnabled())
+ if (m_data.GetConfiguration().UseExpandedKidneys() == eSwitch::On)
{
SORT_CMPTS(Urine, Liquid);
}
- if (m_data.GetConfiguration().UseExpandedVasculature() == eSwitch::On)
+
+ SORT_CMPTS(Vascular, Liquid);
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::On)
{
- SORT_CMPTS_EXPANDED(Vascular, Liquid);
+ SORT_CMPTS(ExpandedLungsVascular, Liquid);
}
- else
+ else if (m_data.GetConfiguration().UseComputationalLifeExpansion() == eSwitch::On)
{
- SORT_CMPTS(Vascular, Liquid);
+ SORT_CMPTS(ComputationalLifeVascular, Liquid);
}
// Equipment
diff --git a/src/cpp/engine/common/controller/CompartmentManager.h b/src/cpp/engine/common/controller/CompartmentManager.h
index 7d1a4c156..61705309c 100644
--- a/src/cpp/engine/common/controller/CompartmentManager.h
+++ b/src/cpp/engine/common/controller/CompartmentManager.h
@@ -61,8 +61,8 @@ namespace pulse
std::vectorconst& GetPulmonaryCompartments() { return m_PulmonaryCompartments; }
std::vectorconst& GetPulmonaryLeafCompartments() { return m_PulmonaryLeafCompartments; }
- std::vectorconst& GetExpandedPulmonaryCompartments() { return m_ExpandedPulmonaryCompartments; }
- std::vectorconst& GetExpandedPulmonaryLeafCompartments() { return m_ExpandedPulmonaryLeafCompartments; }
+ std::vectorconst& GetExpandedLungsPulmonaryCompartments() { return m_ExpandedLungsPulmonaryCompartments; }
+ std::vectorconst& GetExpandedLungsPulmonaryLeafCompartments() { return m_ExpandedLungsPulmonaryLeafCompartments; }
std::vectorconst& GetTemperatureCompartments() { return m_TemperatureCompartments; }
std::vectorconst& GetTemperatureLeafCompartments() { return m_TemperatureLeafCompartments; }
@@ -76,6 +76,12 @@ namespace pulse
std::vectorconst& GetVascularCompartments() { return m_VascularCompartments; }
std::vectorconst& GetVascularLeafCompartments() { return m_VascularLeafCompartments; }
+ std::vectorconst& GetExpandedLungsVascularCompartments() { return m_ExpandedLungsVascularCompartments; }
+ std::vectorconst& GetExpandedLungsVascularLeafCompartments() { return m_ExpandedLungsVascularLeafCompartments; }
+
+ std::vectorconst& GetComputationalLifeVascularCompartments() { return m_ComputationalLifeVascularCompartments; }
+ std::vectorconst& GetComputationalLifeVascularLeafCompartments() { return m_ComputationalLifeVascularLeafCompartments; }
+
std::vectorconst& GetAnesthesiaMachineCompartments() { return m_AnesthesiaMachineCompartments; }
std::vectorconst& GetAnesthesiaMachineLeafCompartments() { return m_AnesthesiaMachineLeafCompartments; }
@@ -154,8 +160,8 @@ namespace pulse
std::vector m_ChymeLeafCompartments;
std::vector m_PulmonaryCompartments;
std::vector m_PulmonaryLeafCompartments;
- std::vector m_ExpandedPulmonaryCompartments;
- std::vector m_ExpandedPulmonaryLeafCompartments;
+ std::vector m_ExpandedLungsPulmonaryCompartments;
+ std::vector m_ExpandedLungsPulmonaryLeafCompartments;
std::vector m_TemperatureCompartments;
std::vector m_TemperatureLeafCompartments;
std::vector m_TissueCompartments;
@@ -163,6 +169,10 @@ namespace pulse
std::vector m_UrineLeafCompartments;
std::vector m_VascularCompartments;
std::vector m_VascularLeafCompartments;
+ std::vector m_ExpandedLungsVascularCompartments;
+ std::vector m_ExpandedLungsVascularLeafCompartments;
+ std::vector m_ComputationalLifeVascularCompartments;
+ std::vector m_ComputationalLifeVascularLeafCompartments;
std::vector m_AnesthesiaMachineCompartments;
std::vector m_AnesthesiaMachineLeafCompartments;
std::vector m_BagValveMaskCompartments;
diff --git a/src/cpp/engine/common/controller/Controller.h b/src/cpp/engine/common/controller/Controller.h
index cb0a71860..2140e3f8d 100644
--- a/src/cpp/engine/common/controller/Controller.h
+++ b/src/cpp/engine/common/controller/Controller.h
@@ -283,11 +283,11 @@ namespace pulse
virtual void SetupTissue();
virtual void SetupCerebrospinalFluid();
- // Optional Expanded Cardiovascular Circuit Setup Methods
- virtual void SetupExpandedCardiovascular();
- virtual void SetupExpandedCardiovascularRenal();
- virtual void SetupExpandedCardiovascularTissue();
- virtual void SetupExpandedCardiovascularCerebrospinalFluid();
+ // Optional ComputationalLife Expansion Setup Methods
+ virtual void SetupComputationalLifeCardiovascular();
+ virtual void SetupComputationalLifeRenal();
+ virtual void SetupComputationalLifeTissue();
+ virtual void SetupComputationalLifeCerebrospinalFluid();
// Default/Optimal Gastrointestinal
virtual void SetupGastrointestinal();
@@ -295,9 +295,9 @@ namespace pulse
// Default/Optimal Respiratory
virtual void SetupRespiratory();
- // Optional Expanded Respiratory and Cardiovascular Circuit Setup Methods
- virtual void SetupExpandedPulmonaryRespiratory();
- virtual void SetupExpandedPulmonaryCardiovascular();
+ // Optional Expanded Lungs Respiratory and Cardiovascular Circuit Setup Methods
+ virtual void SetupExpandedLungsRespiratory();
+ virtual void SetupExpandedLungsCardiovascular();
// Default/Optimal Equipment
virtual void SetupAnesthesiaMachine();
diff --git a/src/cpp/engine/common/controller/SetupCircuitsAndCompartments.cpp b/src/cpp/engine/common/controller/SetupCircuitsAndCompartments.cpp
index bb6257686..3a3fe1e6d 100644
--- a/src/cpp/engine/common/controller/SetupCircuitsAndCompartments.cpp
+++ b/src/cpp/engine/common/controller/SetupCircuitsAndCompartments.cpp
@@ -38,32 +38,40 @@ namespace pulse
{
bool Controller::CreateCircuitsAndCompartments()
{
+ if (m_Config->UseExpandedLungs() == eSwitch::On &&
+ m_Config->UseComputationalLifeExpansion() == eSwitch::On)
+ {
+ Error("Cannot setup an engine with both ExpangedLungs and ComputationalLifeExpansion");
+ return false;
+ }
m_Circuits->Clear();
m_Compartments->Clear();
m_Compartments->Setup();
- if (m_Config->UseExpandedVasculature() == eSwitch::On)
+
+ if (m_Config->UseComputationalLifeExpansion() == eSwitch::On)
{
- SetupExpandedCardiovascular();
- if(m_Config->IsRenalEnabled())
- SetupExpandedCardiovascularRenal();
+ SetupComputationalLifeCardiovascular();
+ if (m_Config->UseExpandedKidneys() == eSwitch::On)
+ SetupComputationalLifeRenal();
if (m_Config->IsTissueEnabled())
- SetupExpandedCardiovascularTissue();
+ SetupComputationalLifeTissue();
if (m_Config->IsCerebrospinalFluidEnabled())
- SetupExpandedCardiovascularCerebrospinalFluid();
+ SetupComputationalLifeCerebrospinalFluid();
}
else
{
- if (m_Config->UseExpandedRespiratory() == eSwitch::On)
- SetupExpandedPulmonaryCardiovascular();
+ if (m_Config->UseExpandedLungs() == eSwitch::On)
+ SetupExpandedLungsCardiovascular();
else
SetupCardiovascular();
- if (m_Config->IsRenalEnabled())
+ if (m_Config->UseExpandedKidneys() == eSwitch::On)
SetupRenal();
if (m_Config->IsTissueEnabled())
SetupTissue();
if (m_Config->IsCerebrospinalFluidEnabled())
SetupCerebrospinalFluid();
}
+
SetupGastrointestinal();
SetupECMO();
@@ -108,10 +116,11 @@ namespace pulse
m_EnvironmentModel->Clear();
m_EnvironmentModel->Initialize();
- if (m_Config->UseExpandedRespiratory() == eSwitch::On)
- SetupExpandedPulmonaryRespiratory();
+ if (m_Config->UseExpandedLungs() == eSwitch::On)
+ SetupExpandedLungsRespiratory();
else
SetupRespiratory();
+
SetupAnesthesiaMachine();
SetupBagValveMask();
SetupInhaler();
@@ -2425,10 +2434,10 @@ namespace pulse
/////////////////
// Left Kidney //
SEFluidCircuitNode* LeftKidney1;
- if (!m_Config->IsRenalEnabled())
- LeftKidney1 = cCombinedCardiovascular.GetNode(pulse::CardiovascularNode::LeftKidney1);
- else
+ if (m_Config->UseExpandedKidneys() == eSwitch::On)
LeftKidney1 = cCombinedCardiovascular.GetNode(pulse::RenalNode::LeftGlomerularCapillaries);
+ else
+ LeftKidney1 = cCombinedCardiovascular.GetNode(pulse::CardiovascularNode::LeftKidney1);
SEFluidCircuitNode& LeftKidneyT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LeftKidneyT1);
SEFluidCircuitNode& LeftKidneyT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LeftKidneyT2);
@@ -2477,7 +2486,7 @@ namespace pulse
///////////////
// Left Lung //
//TODO: Make this work for the expanded model
- if (m_Config->UseExpandedRespiratory() == eSwitch::Off)
+ if (m_Config->UseExpandedLungs() == eSwitch::Off)
{
SEFluidCircuitNode* LeftLung1 = cCardiovascular.GetNode(pulse::CardiovascularNode::LeftPulmonaryCapillaries1);
SEFluidCircuitNode& LeftLungT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LeftLungT1);
@@ -2669,10 +2678,10 @@ namespace pulse
//////////////////
// Right Kidney //
SEFluidCircuitNode* RightKidney1;
- if (!m_Config->IsRenalEnabled())
- RightKidney1 = cCombinedCardiovascular.GetNode(pulse::CardiovascularNode::RightKidney1);
- else
+ if (m_Config->UseExpandedKidneys() == eSwitch::On)
RightKidney1 = cCombinedCardiovascular.GetNode(pulse::RenalNode::RightGlomerularCapillaries);
+ else
+ RightKidney1 = cCombinedCardiovascular.GetNode(pulse::CardiovascularNode::RightKidney1);
SEFluidCircuitNode& RightKidneyT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::RightKidneyT1);
SEFluidCircuitNode& RightKidneyT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::RightKidneyT2);
@@ -2721,7 +2730,7 @@ namespace pulse
////////////////
// Right Lung //
//TODO: Make this work for the expanded model
- if (m_Config->UseExpandedRespiratory() == eSwitch::Off)
+ if (m_Config->UseExpandedLungs() == eSwitch::Off)
{
SEFluidCircuitNode* RightLung1 = cCardiovascular.GetNode(pulse::CardiovascularNode::RightPulmonaryCapillaries1);
SEFluidCircuitNode& RightLungT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::RightLungT1);
diff --git a/src/cpp/engine/common/controller/SetupExpandedCardiovascular.cpp b/src/cpp/engine/common/controller/SetupComputationalLifeExpansion.cpp
similarity index 81%
rename from src/cpp/engine/common/controller/SetupExpandedCardiovascular.cpp
rename to src/cpp/engine/common/controller/SetupComputationalLifeExpansion.cpp
index 494e610fc..a455a6d06 100644
--- a/src/cpp/engine/common/controller/SetupExpandedCardiovascular.cpp
+++ b/src/cpp/engine/common/controller/SetupComputationalLifeExpansion.cpp
@@ -24,9 +24,9 @@
namespace pulse
{
- void Controller::SetupExpandedCardiovascular()
+ void Controller::SetupComputationalLifeCardiovascular()
{
- Info("Setting Up Expanded Cardiovascular");
+ Info("Setting Up ComputationalLife Cardiovascular");
bool male = m_InitialPatient->GetSex() == ePatient_Sex::Male ? true : false;
double RightLungRatio = m_InitialPatient->GetRightLungRatio().GetValue();
double LeftLungRatio = 1 - RightLungRatio;
@@ -308,64 +308,64 @@ namespace pulse
SEFluidCircuit& cCardiovascular = m_Circuits->GetCardiovascularCircuit();
// Create Nodes, set volume baselines and pressures where appropriate
- SEFluidCircuitNode& RightHeart1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightHeart1);
+ SEFluidCircuitNode& RightHeart1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightHeart1);
RightHeart1.GetPressure().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitNode& RightHeart2 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightHeart2);
- SEFluidCircuitNode& RightHeart3 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightHeart3);
+ SEFluidCircuitNode& RightHeart2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightHeart2);
+ SEFluidCircuitNode& RightHeart3 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightHeart3);
RightHeart3.GetPressure().SetValue(0.0, PressureUnit::mmHg);
RightHeart1.GetVolumeBaseline().SetValue(VolumeFractionHeartRight * bloodVolume_mL, VolumeUnit::mL);
- SEFluidCircuitNode& MainPulmonaryArteries1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::MainPulmonaryArteries1);
+ SEFluidCircuitNode& MainPulmonaryArteries1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::MainPulmonaryArteries1);
- SEFluidCircuitNode& RightIntermediatePulmonaryArteries1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightIntermediatePulmonaryArteries1);
- SEFluidCircuitNode& RightPulmonaryArteries1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightPulmonaryArteries1);
+ SEFluidCircuitNode& RightIntermediatePulmonaryArteries1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightIntermediatePulmonaryArteries1);
+ SEFluidCircuitNode& RightPulmonaryArteries1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightPulmonaryArteries1);
RightPulmonaryArteries1.GetVolumeBaseline().SetValue(VolumeFractionPulmArtRight * bloodVolume_mL, VolumeUnit::mL);
RightPulmonaryArteries1.GetPressure().SetValue(VascularPressureTargetPulmArtRight, PressureUnit::mmHg);
- SEFluidCircuitNode& LeftIntermediatePulmonaryArteries1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftIntermediatePulmonaryArteries1);
- SEFluidCircuitNode& LeftPulmonaryArteries1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftPulmonaryArteries1);
+ SEFluidCircuitNode& LeftIntermediatePulmonaryArteries1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftIntermediatePulmonaryArteries1);
+ SEFluidCircuitNode& LeftPulmonaryArteries1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftPulmonaryArteries1);
LeftPulmonaryArteries1.GetVolumeBaseline().SetValue(VolumeFractionPulmArtLeft * bloodVolume_mL, VolumeUnit::mL);
LeftPulmonaryArteries1.GetPressure().SetValue(VascularPressureTargetPulmArtLeft, PressureUnit::mmHg);
- SEFluidCircuitNode& RightPulmonaryCapillaries1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightPulmonaryCapillaries1);
+ SEFluidCircuitNode& RightPulmonaryCapillaries1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightPulmonaryCapillaries1);
RightPulmonaryCapillaries1.GetVolumeBaseline().SetValue(VolumeFractionPulmCapRight * bloodVolume_mL, VolumeUnit::mL);
RightPulmonaryCapillaries1.GetPressure().SetValue(VascularPressureTargetPulmCapRight, PressureUnit::mmHg);
- SEFluidCircuitNode& LeftPulmonaryCapillaries1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftPulmonaryCapillaries1);
+ SEFluidCircuitNode& LeftPulmonaryCapillaries1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftPulmonaryCapillaries1);
LeftPulmonaryCapillaries1.GetVolumeBaseline().SetValue(VolumeFractionPulmCapLeft * bloodVolume_mL, VolumeUnit::mL);
LeftPulmonaryCapillaries1.GetPressure().SetValue(VascularPressureTargetPulmCapLeft, PressureUnit::mmHg);
- SEFluidCircuitNode& RightIntermediatePulmonaryVeins1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightIntermediatePulmonaryVeins1);
- SEFluidCircuitNode& RightPulmonaryVeins1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightPulmonaryVeins1);
+ SEFluidCircuitNode& RightIntermediatePulmonaryVeins1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightIntermediatePulmonaryVeins1);
+ SEFluidCircuitNode& RightPulmonaryVeins1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightPulmonaryVeins1);
RightPulmonaryVeins1.GetVolumeBaseline().SetValue(VolumeFractionPulmVeinsRight * bloodVolume_mL, VolumeUnit::mL);
RightPulmonaryVeins1.GetPressure().SetValue(VascularPressureTargetPulmVeinsRight, PressureUnit::mmHg);
- SEFluidCircuitNode& LeftIntermediatePulmonaryVeins1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftIntermediatePulmonaryVeins1);
- SEFluidCircuitNode& LeftPulmonaryVeins1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftPulmonaryVeins1);
+ SEFluidCircuitNode& LeftIntermediatePulmonaryVeins1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftIntermediatePulmonaryVeins1);
+ SEFluidCircuitNode& LeftPulmonaryVeins1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftPulmonaryVeins1);
LeftPulmonaryVeins1.GetVolumeBaseline().SetValue(VolumeFractionPulmVeinsLeft * bloodVolume_mL, VolumeUnit::mL);
LeftPulmonaryVeins1.GetPressure().SetValue(VascularPressureTargetPulmVeinsLeft, PressureUnit::mmHg);
- SEFluidCircuitNode& LeftHeart1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftHeart1);
+ SEFluidCircuitNode& LeftHeart1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftHeart1);
LeftHeart1.GetPressure().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitNode& LeftHeart2 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftHeart2);
- SEFluidCircuitNode& LeftHeart3 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftHeart3);
+ SEFluidCircuitNode& LeftHeart2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftHeart2);
+ SEFluidCircuitNode& LeftHeart3 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftHeart3);
LeftHeart3.GetPressure().SetValue(0.0, PressureUnit::mmHg);
LeftHeart1.GetVolumeBaseline().SetValue(VolumeFractionHeartLeft * bloodVolume_mL, VolumeUnit::mL);
- SEFluidCircuitNode& Aorta1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Aorta1);
- SEFluidCircuitNode& Aorta2 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Aorta2);
- SEFluidCircuitNode& Aorta3 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Aorta3);
- SEFluidCircuitNode& Aorta4 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Aorta4);
- SEFluidCircuitNode& Aorta5 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Aorta5);
+ SEFluidCircuitNode& Aorta1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Aorta1);
+ SEFluidCircuitNode& Aorta2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Aorta2);
+ SEFluidCircuitNode& Aorta3 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Aorta3);
+ SEFluidCircuitNode& Aorta4 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Aorta4);
+ SEFluidCircuitNode& Aorta5 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::Aorta5);
Aorta4.GetPressure().SetValue(0.0, PressureUnit::mmHg);
Aorta1.GetVolumeBaseline().SetValue(70, VolumeUnit::mL);
Aorta1.GetPressure().SetValue(VascularPressureTargetAorta, PressureUnit::mmHg);
Aorta5.GetVolumeBaseline().SetValue(VolumeFractionAorta * bloodVolume_mL, VolumeUnit::mL);
Aorta5.GetPressure().SetValue(VascularPressureTargetAorta, PressureUnit::mmHg);
- SEFluidCircuitNode& Extracranial1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Extracranial1);
- SEFluidCircuitNode& Extracranial2 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Extracranial2);
- SEFluidCircuitNode& Extracranial3 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Extracranial3);
+ SEFluidCircuitNode& Extracranial1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::Extracranial1);
+ SEFluidCircuitNode& Extracranial2 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::Extracranial2);
+ SEFluidCircuitNode& Extracranial3 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::Extracranial3);
Extracranial1.GetVolumeBaseline().SetValue(VolumeFractionExtracranialArterioles * bloodVolume_mL, VolumeUnit::mL);
Extracranial2.GetVolumeBaseline().SetValue(VolumeFractionExtracranialCapillaries * bloodVolume_mL, VolumeUnit::mL);
Extracranial3.GetVolumeBaseline().SetValue(VolumeFractionExtracranialVenules * bloodVolume_mL, VolumeUnit::mL);
@@ -373,9 +373,9 @@ namespace pulse
Extracranial2.GetPressure().SetValue(VascularPressureTargetExtracranial, PressureUnit::mmHg);
Extracranial3.GetPressure().SetValue(VascularPressureTargetVenules, PressureUnit::mmHg);
- SEFluidCircuitNode& Intracranial1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Intracranial1);
- SEFluidCircuitNode& Intracranial2 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Intracranial2);
- SEFluidCircuitNode& Intracranial3 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Intracranial3);
+ SEFluidCircuitNode& Intracranial1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::Intracranial1);
+ SEFluidCircuitNode& Intracranial2 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::Intracranial2);
+ SEFluidCircuitNode& Intracranial3 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::Intracranial3);
Intracranial1.GetVolumeBaseline().SetValue(VolumeFractionIntracranialArterioles * bloodVolume_mL, VolumeUnit::mL);
Intracranial2.GetVolumeBaseline().SetValue(VolumeFractionIntracranialCapillaries * bloodVolume_mL, VolumeUnit::mL);
Intracranial3.GetVolumeBaseline().SetValue(VolumeFractionIntracranialVenules * bloodVolume_mL, VolumeUnit::mL);
@@ -383,13 +383,13 @@ namespace pulse
Intracranial2.GetPressure().SetValue(VascularPressureTargetIntracranial, PressureUnit::mmHg);
Intracranial3.GetPressure().SetValue(VascularPressureTargetVenules, PressureUnit::mmHg);
- SEFluidCircuitNode& LeftArm1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftArm1);
- SEFluidCircuitNode& LeftArmBone1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftArmBone1);
- SEFluidCircuitNode& LeftArmFat1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftArmFat1);
- SEFluidCircuitNode& LeftArmMicrovasculature1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftArmMicroVasculature1);
- SEFluidCircuitNode& LeftArmMuscle1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftArmMuscle1);
- SEFluidCircuitNode& LeftArmSkin1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftArmSkin1);
- SEFluidCircuitNode& LeftArm2 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftArm2);
+ SEFluidCircuitNode& LeftArm1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftArm1);
+ SEFluidCircuitNode& LeftArmBone1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::LeftArmBone1);
+ SEFluidCircuitNode& LeftArmFat1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::LeftArmFat1);
+ SEFluidCircuitNode& LeftArmMicrovasculature1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::LeftArmMicroVasculature1);
+ SEFluidCircuitNode& LeftArmMuscle1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::LeftArmMuscle1);
+ SEFluidCircuitNode& LeftArmSkin1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::LeftArmSkin1);
+ SEFluidCircuitNode& LeftArm2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftArm2);
LeftArm1.GetVolumeBaseline().SetValue(VolumeFractionArmArterioles * bloodVolume_mL, VolumeUnit::mL);
LeftArmBone1.GetVolumeBaseline().SetValue(VolumeFractionArmBone * bloodVolume_mL, VolumeUnit::mL);
LeftArmFat1.GetVolumeBaseline().SetValue(VolumeFractionArmFat * bloodVolume_mL, VolumeUnit::mL);
@@ -405,9 +405,9 @@ namespace pulse
LeftArmSkin1.GetPressure().SetValue(VascularPressureTargetArmSkin, PressureUnit::mmHg);
LeftArm2.GetPressure().SetValue(VascularPressureTargetVenules, PressureUnit::mmHg);
- SEFluidCircuitNode& LeftKidney1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftKidney1);
- SEFluidCircuitNode& LeftKidney2 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftKidney2);
- SEFluidCircuitNode& LeftKidney3 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftKidney3);
+ SEFluidCircuitNode& LeftKidney1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftKidney1);
+ SEFluidCircuitNode& LeftKidney2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftKidney2);
+ SEFluidCircuitNode& LeftKidney3 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::LeftKidney3);
LeftKidney1.GetVolumeBaseline().SetValue(0.5 * VolumeFractionKidneyArterioles * bloodVolume_mL, VolumeUnit::mL);
LeftKidney2.GetVolumeBaseline().SetValue(0.5 * VolumeFractionKidneyCapillaries * bloodVolume_mL, VolumeUnit::mL);
LeftKidney3.GetVolumeBaseline().SetValue(0.5 * VolumeFractionKidneyVenules * bloodVolume_mL, VolumeUnit::mL);
@@ -415,13 +415,13 @@ namespace pulse
LeftKidney2.GetPressure().SetValue(VascularPressureTargetKidney, PressureUnit::mmHg);
LeftKidney3.GetPressure().SetValue(VascularPressureTargetVenules, PressureUnit::mmHg);
- SEFluidCircuitNode& LeftLeg1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftLeg1);
- SEFluidCircuitNode& LeftLegBone1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftLegBone1);
- SEFluidCircuitNode& LeftLegFat1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftLegFat1);
- SEFluidCircuitNode& LeftLegMicrovasculature1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftLegMicroVasculature1);
- SEFluidCircuitNode& LeftLegMuscle1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftLegMuscle1);
- SEFluidCircuitNode& LeftLegSkin1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftLegSkin1);
- SEFluidCircuitNode& LeftLeg2 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LeftLeg2);
+ SEFluidCircuitNode& LeftLeg1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftLeg1);
+ SEFluidCircuitNode& LeftLegBone1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::LeftLegBone1);
+ SEFluidCircuitNode& LeftLegFat1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::LeftLegFat1);
+ SEFluidCircuitNode& LeftLegMicrovasculature1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::LeftLegMicroVasculature1);
+ SEFluidCircuitNode& LeftLegMuscle1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::LeftLegMuscle1);
+ SEFluidCircuitNode& LeftLegSkin1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::LeftLegSkin1);
+ SEFluidCircuitNode& LeftLeg2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftLeg2);
LeftLeg1.GetVolumeBaseline().SetValue(VolumeFractionLegArterioles * bloodVolume_mL, VolumeUnit::mL);
LeftLegBone1.GetVolumeBaseline().SetValue(VolumeFractionLegBone * bloodVolume_mL, VolumeUnit::mL);
LeftLegFat1.GetVolumeBaseline().SetValue(VolumeFractionLegFat * bloodVolume_mL, VolumeUnit::mL);
@@ -437,9 +437,9 @@ namespace pulse
LeftLegSkin1.GetPressure().SetValue(VascularPressureTargetLegSkin, PressureUnit::mmHg);
LeftLeg2.GetPressure().SetValue(VascularPressureTargetVenules, PressureUnit::mmHg);
- SEFluidCircuitNode& Myocardium1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Myocardium1);
- SEFluidCircuitNode& Myocardium2 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Myocardium2);
- SEFluidCircuitNode& Myocardium3 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Myocardium3);
+ SEFluidCircuitNode& Myocardium1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Myocardium1);
+ SEFluidCircuitNode& Myocardium2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Myocardium2);
+ SEFluidCircuitNode& Myocardium3 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::Myocardium3);
Myocardium1.GetVolumeBaseline().SetValue(VolumeFractionMyocardiumArterioles * bloodVolume_mL, VolumeUnit::mL);
Myocardium2.GetVolumeBaseline().SetValue(VolumeFractionMyocardiumCapillaries * bloodVolume_mL, VolumeUnit::mL);
Myocardium3.GetVolumeBaseline().SetValue(VolumeFractionMyocardiumVenules * bloodVolume_mL, VolumeUnit::mL);
@@ -447,15 +447,15 @@ namespace pulse
Myocardium2.GetPressure().SetValue(VascularPressureTargetMyocardium, PressureUnit::mmHg);
Myocardium3.GetPressure().SetValue(VascularPressureTargetVenules, PressureUnit::mmHg);
- SEFluidCircuitNode& PortalVein1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::PortalVein1);
+ SEFluidCircuitNode& PortalVein1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::PortalVein1);
- SEFluidCircuitNode& RightArm1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightArm1);
- SEFluidCircuitNode& RightArmBone1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightArmBone1);
- SEFluidCircuitNode& RightArmFat1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightArmFat1);
- SEFluidCircuitNode& RightArmMicrovasculature1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightArmMicroVasculature1);
- SEFluidCircuitNode& RightArmMuscle1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightArmMuscle1);
- SEFluidCircuitNode& RightArmSkin1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightArmSkin1);
- SEFluidCircuitNode& RightArm2 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightArm2);
+ SEFluidCircuitNode& RightArm1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightArm1);
+ SEFluidCircuitNode& RightArmBone1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::RightArmBone1);
+ SEFluidCircuitNode& RightArmFat1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::RightArmFat1);
+ SEFluidCircuitNode& RightArmMicrovasculature1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::RightArmMicroVasculature1);
+ SEFluidCircuitNode& RightArmMuscle1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::RightArmMuscle1);
+ SEFluidCircuitNode& RightArmSkin1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::RightArmSkin1);
+ SEFluidCircuitNode& RightArm2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightArm2);
RightArm1.GetVolumeBaseline().SetValue(VolumeFractionArmArterioles * bloodVolume_mL, VolumeUnit::mL);
RightArmBone1.GetVolumeBaseline().SetValue(VolumeFractionArmBone * bloodVolume_mL, VolumeUnit::mL);
RightArmFat1.GetVolumeBaseline().SetValue(VolumeFractionArmFat * bloodVolume_mL, VolumeUnit::mL);
@@ -471,9 +471,9 @@ namespace pulse
RightArmSkin1.GetPressure().SetValue(VascularPressureTargetArmSkin, PressureUnit::mmHg);
RightArm2.GetPressure().SetValue(VascularPressureTargetVenules, PressureUnit::mmHg);
- SEFluidCircuitNode& RightKidney1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightKidney1);
- SEFluidCircuitNode& RightKidney2 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightKidney2);
- SEFluidCircuitNode& RightKidney3 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightKidney3);
+ SEFluidCircuitNode& RightKidney1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightKidney1);
+ SEFluidCircuitNode& RightKidney2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightKidney2);
+ SEFluidCircuitNode& RightKidney3 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::RightKidney3);
RightKidney1.GetVolumeBaseline().SetValue(0.5 * VolumeFractionKidneyArterioles * bloodVolume_mL, VolumeUnit::mL);
RightKidney2.GetVolumeBaseline().SetValue(0.5 * VolumeFractionKidneyCapillaries * bloodVolume_mL, VolumeUnit::mL);
RightKidney3.GetVolumeBaseline().SetValue(0.5 * VolumeFractionKidneyVenules * bloodVolume_mL, VolumeUnit::mL);
@@ -481,13 +481,13 @@ namespace pulse
RightKidney2.GetPressure().SetValue(VascularPressureTargetKidney, PressureUnit::mmHg);
RightKidney3.GetPressure().SetValue(VascularPressureTargetVenules, PressureUnit::mmHg);
- SEFluidCircuitNode& RightLeg1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightLeg1);
- SEFluidCircuitNode& RightLegBone1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightLegBone1);
- SEFluidCircuitNode& RightLegFat1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightLegFat1);
- SEFluidCircuitNode& RightLegMicrovasculature1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightLegMicroVasculature1);
- SEFluidCircuitNode& RightLegMuscle1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightLegMuscle1);
- SEFluidCircuitNode& RightLegSkin1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightLegSkin1);
- SEFluidCircuitNode& RightLeg2 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::RightLeg2);
+ SEFluidCircuitNode& RightLeg1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightLeg1);
+ SEFluidCircuitNode& RightLegBone1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::RightLegBone1);
+ SEFluidCircuitNode& RightLegFat1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::RightLegFat1);
+ SEFluidCircuitNode& RightLegMicrovasculature1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::RightLegMicroVasculature1);
+ SEFluidCircuitNode& RightLegMuscle1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::RightLegMuscle1);
+ SEFluidCircuitNode& RightLegSkin1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::RightLegSkin1);
+ SEFluidCircuitNode& RightLeg2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightLeg2);
RightLeg1.GetVolumeBaseline().SetValue(VolumeFractionLegArterioles * bloodVolume_mL, VolumeUnit::mL);
RightLegBone1.GetVolumeBaseline().SetValue(VolumeFractionLegBone * bloodVolume_mL, VolumeUnit::mL);
RightLegFat1.GetVolumeBaseline().SetValue(VolumeFractionLegFat * bloodVolume_mL, VolumeUnit::mL);
@@ -506,40 +506,40 @@ namespace pulse
// Move a little volume from LargeIntestine to Gut1 for substance transport
// LargeIntestine1.GetVolumeBaseline().Increment(-10, VolumeUnit::mL);
- SEFluidCircuitNode& Gut1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Gut1);
+ SEFluidCircuitNode& Gut1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::Gut1);
Gut1.GetVolumeBaseline().SetValue(VolumeFractionGutLiverArterioles * bloodVolume_mL, VolumeUnit::mL);
Gut1.GetPressure().SetValue(VascularPressureTargetArterioles, PressureUnit::mmHg);
- SEFluidCircuitNode& SmallIntestine1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::SmallIntestine1);
+ SEFluidCircuitNode& SmallIntestine1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::SmallIntestine1);
SmallIntestine1.GetVolumeBaseline().SetValue(VolumeFractionSmallIntestine * bloodVolume_mL, VolumeUnit::mL);
SmallIntestine1.GetPressure().SetValue(VascularPressureTargetSmallIntestine, PressureUnit::mmHg);
- SEFluidCircuitNode& Splanchnic1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Splanchnic1);
+ SEFluidCircuitNode& Splanchnic1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Splanchnic1);
Splanchnic1.GetVolumeBaseline().SetValue(VolumeFractionSplanchnic * bloodVolume_mL, VolumeUnit::mL);
Splanchnic1.GetPressure().SetValue(VascularPressureTargetSplanchnic, PressureUnit::mmHg);
- SEFluidCircuitNode& Spleen1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Spleen1);
+ SEFluidCircuitNode& Spleen1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Spleen1);
Spleen1.GetVolumeBaseline().SetValue(VolumeFractionSpleen * bloodVolume_mL, VolumeUnit::mL);
Spleen1.GetPressure().SetValue(VascularPressureTargetSpleen, PressureUnit::mmHg);
- SEFluidCircuitNode& LargeIntestine1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::LargeIntestine1);
+ SEFluidCircuitNode& LargeIntestine1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LargeIntestine1);
LargeIntestine1.GetVolumeBaseline().SetValue(VolumeFractionLargeIntestine * bloodVolume_mL, VolumeUnit::mL);
LargeIntestine1.GetPressure().SetValue(VascularPressureTargetLargeIntestine, PressureUnit::mmHg);
- SEFluidCircuitNode& Liver1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Liver1);
- SEFluidCircuitNode& Liver2 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Liver2);
+ SEFluidCircuitNode& Liver1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Liver1);
+ SEFluidCircuitNode& Liver2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Liver2);
Liver1.GetVolumeBaseline().SetValue(VolumeFractionLiver * bloodVolume_mL, VolumeUnit::mL);
Liver2.GetVolumeBaseline().SetValue(VolumeFractionGutLiverVenules * bloodVolume_mL, VolumeUnit::mL);
Liver1.GetPressure().SetValue(VascularPressureTargetLiver, PressureUnit::mmHg);
Liver2.GetPressure().SetValue(VascularPressureTargetVenules, PressureUnit::mmHg);
- SEFluidCircuitNode& Torso1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Torso1);
- SEFluidCircuitNode& TorsoBone1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::TorsoBone1);
- SEFluidCircuitNode& TorsoFat1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::TorsoFat1);
- SEFluidCircuitNode& TorsoMicrovasculature1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::TorsoMicrovasculature1);
- SEFluidCircuitNode& TorsoMuscle1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::TorsoMuscle1);
- SEFluidCircuitNode& TorsoSkin1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::TorsoSkin1);
- SEFluidCircuitNode& Torso2 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Torso2);
+ SEFluidCircuitNode& Torso1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::Torso1);
+ SEFluidCircuitNode& TorsoBone1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::TorsoBone1);
+ SEFluidCircuitNode& TorsoFat1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::TorsoFat1);
+ SEFluidCircuitNode& TorsoMicrovasculature1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::TorsoMicrovasculature1);
+ SEFluidCircuitNode& TorsoMuscle1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::TorsoMuscle1);
+ SEFluidCircuitNode& TorsoSkin1 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::TorsoSkin1);
+ SEFluidCircuitNode& Torso2 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::Torso2);
Torso1.GetVolumeBaseline().SetValue(VolumeFractionTorsoArterioles * bloodVolume_mL, VolumeUnit::mL);
TorsoBone1.GetVolumeBaseline().SetValue(VolumeFractionTorsoBone * bloodVolume_mL, VolumeUnit::mL);
TorsoFat1.GetVolumeBaseline().SetValue(VolumeFractionTorsoFat * bloodVolume_mL, VolumeUnit::mL);
@@ -556,17 +556,17 @@ namespace pulse
Torso2.GetPressure().SetValue(VascularPressureTargetVenules, PressureUnit::mmHg);
- SEFluidCircuitNode& VenaCava1 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::VenaCava1);
+ SEFluidCircuitNode& VenaCava1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::VenaCava1);
// Move a little volume from VenaCava0 (Vena Cava) to VenaCava1 (Venous Return) for substance transport
VenaCava1.GetVolumeBaseline().SetValue(VolumeFractionVenaCava * bloodVolume_mL, VolumeUnit::mL);
VenaCava1.GetPressure().SetValue(VascularPressureTargetVenules, PressureUnit::mmHg);
- SEFluidCircuitNode& VenaCava2 = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::VenaCava2);
+ SEFluidCircuitNode& VenaCava2 = cCardiovascular.CreateNode(pulse::ComputationalLifeCardiovascularNode::VenaCava2);
VenaCava1.GetVolumeBaseline().Increment(-50, VolumeUnit::mL);
VenaCava2.GetVolumeBaseline().SetValue(50, VolumeUnit::mL);
VenaCava2.GetPressure().SetValue(VascularPressureTargetVenaCava, PressureUnit::mmHg);
- SEFluidCircuitNode& Ground = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Ground);
+ SEFluidCircuitNode& Ground = cCardiovascular.CreateNode(pulse::CardiovascularNode::Ground);
Ground.SetAsReferenceNode();
Ground.GetPressure().SetValue(0.0, PressureUnit::mmHg);
@@ -579,353 +579,353 @@ namespace pulse
if (blood_mL > bloodVolume_mL)
Error("Blood volume greater than total blood volume");
- SEFluidCircuitNode& Pericardium = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::Pericardium1);
+ SEFluidCircuitNode& Pericardium = cCardiovascular.CreateNode(pulse::CardiovascularNode::Pericardium1);
Pericardium.GetVolumeBaseline().SetValue(15.0, VolumeUnit::mL);
Pericardium.GetPressure().SetValue(1.0, PressureUnit::mmHg);
- SEFluidCircuitNode& AbdominalCavity = cCardiovascular.CreateNode(pulse::ExpandedCardiovascularNode::AbdominalCavity1);
+ SEFluidCircuitNode& AbdominalCavity = cCardiovascular.CreateNode(pulse::CardiovascularNode::AbdominalCavity1);
AbdominalCavity.GetVolumeBaseline().SetValue(10.0, VolumeUnit::mL);
AbdominalCavity.GetPressure().SetValue(0.0, PressureUnit::mmHg);
// Create Paths, set switch (diodes), compliances, and resistances where appropriate
- SEFluidCircuitPath& VenaCava1ToRightHeart2 = cCardiovascular.CreatePath(VenaCava1, RightHeart2, pulse::ExpandedCardiovascularPath::VenaCava1ToRightHeart2);
+ SEFluidCircuitPath& VenaCava1ToRightHeart2 = cCardiovascular.CreatePath(VenaCava1, RightHeart2, pulse::CardiovascularPath::VenaCava1ToRightHeart2);
VenaCava1ToRightHeart2.GetResistanceBaseline().SetValue(ResistanceHeartRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightHeart2ToRightHeart1 = cCardiovascular.CreatePath(RightHeart2, RightHeart1, pulse::ExpandedCardiovascularPath::RightHeart2ToRightHeart1);
+ SEFluidCircuitPath& RightHeart2ToRightHeart1 = cCardiovascular.CreatePath(RightHeart2, RightHeart1, pulse::CardiovascularPath::RightHeart2ToRightHeart1);
RightHeart2ToRightHeart1.SetNextValve(eGate::Closed);
- SEFluidCircuitPath& RightHeart1ToRightHeart3 = cCardiovascular.CreatePath(RightHeart1, RightHeart3, pulse::ExpandedCardiovascularPath::RightHeart1ToRightHeart3);
- SEFluidCircuitPath& RightHeart3ToGround = cCardiovascular.CreatePath(Ground, RightHeart3, pulse::ExpandedCardiovascularPath::RightHeart3ToGround);
+ SEFluidCircuitPath& RightHeart1ToRightHeart3 = cCardiovascular.CreatePath(RightHeart1, RightHeart3, pulse::CardiovascularPath::RightHeart1ToRightHeart3);
+ SEFluidCircuitPath& RightHeart3ToGround = cCardiovascular.CreatePath(Ground, RightHeart3, pulse::CardiovascularPath::RightHeart3ToGround);
RightHeart3ToGround.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& RightHeart1ToMainPulmonaryArteries1 = cCardiovascular.CreatePath(RightHeart1, MainPulmonaryArteries1, pulse::ExpandedCardiovascularPath::RightHeart1ToMainPulmonaryArteries1);
+ SEFluidCircuitPath& RightHeart1ToMainPulmonaryArteries1 = cCardiovascular.CreatePath(RightHeart1, MainPulmonaryArteries1, pulse::CardiovascularPath::RightHeart1ToMainPulmonaryArteries1);
RightHeart1ToMainPulmonaryArteries1.SetNextValve(eGate::Closed);
- SEFluidCircuitPath& MainPulmonaryArteries1ToRightIntermediatePulmonaryArteries1 = cCardiovascular.CreatePath(MainPulmonaryArteries1, RightIntermediatePulmonaryArteries1, pulse::ExpandedCardiovascularPath::MainPulmonaryArteries1ToRightIntermediatePulmonaryArteries1);
+ SEFluidCircuitPath& MainPulmonaryArteries1ToRightIntermediatePulmonaryArteries1 = cCardiovascular.CreatePath(MainPulmonaryArteries1, RightIntermediatePulmonaryArteries1, pulse::CardiovascularPath::MainPulmonaryArteries1ToRightIntermediatePulmonaryArteries1);
//MainPulmonaryArteriesToRightIntermediatePulmonaryArteries.SetNextValve(eGate::Closed);
- SEFluidCircuitPath& RightIntermediatePulmonaryArteries1ToRightPulmonaryArteries1 = cCardiovascular.CreatePath(RightIntermediatePulmonaryArteries1, RightPulmonaryArteries1, pulse::ExpandedCardiovascularPath::RightIntermediatePulmonaryArteries1ToRightPulmonaryArteries1);
+ SEFluidCircuitPath& RightIntermediatePulmonaryArteries1ToRightPulmonaryArteries1 = cCardiovascular.CreatePath(RightIntermediatePulmonaryArteries1, RightPulmonaryArteries1, pulse::CardiovascularPath::RightIntermediatePulmonaryArteries1ToRightPulmonaryArteries1);
RightIntermediatePulmonaryArteries1ToRightPulmonaryArteries1.GetResistanceBaseline().SetValue(ResistancePulmArt, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightPulmonaryArteries1ToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::ExpandedCardiovascularPath::RightPulmonaryArteries1ToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightPulmonaryVeins1);
RightPulmonaryArteries1ToRightPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceShuntRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightPulmonaryArteries1ToRightPulmonaryCapillaries1 = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryCapillaries1, pulse::ExpandedCardiovascularPath::RightPulmonaryArteries1ToRightPulmonaryCapillaries1);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightPulmonaryCapillaries1 = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryCapillaries1, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightPulmonaryCapillaries1);
RightPulmonaryArteries1ToRightPulmonaryCapillaries1.GetResistanceBaseline().SetValue(ResistancePulmCapRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightPulmonaryArteries1ToGround = cCardiovascular.CreatePath(RightPulmonaryArteries1, Ground, pulse::ExpandedCardiovascularPath::RightPulmonaryArteries1ToGround);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToGround = cCardiovascular.CreatePath(RightPulmonaryArteries1, Ground, pulse::CardiovascularPath::RightPulmonaryArteries1ToGround);
RightPulmonaryArteries1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& RightPulmonaryCapillaries1ToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightPulmonaryCapillaries1, RightPulmonaryVeins1, pulse::ExpandedCardiovascularPath::RightPulmonaryCapillaries1ToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightPulmonaryCapillaries1ToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightPulmonaryCapillaries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightPulmonaryCapillaries1ToRightPulmonaryVeins1);
RightPulmonaryCapillaries1ToRightPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistancePulmVeinsRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightPulmonaryCapillaries1ToGround = cCardiovascular.CreatePath(RightPulmonaryCapillaries1, Ground, pulse::ExpandedCardiovascularPath::RightPulmonaryCapillaries1ToGround);
+ SEFluidCircuitPath& RightPulmonaryCapillaries1ToGround = cCardiovascular.CreatePath(RightPulmonaryCapillaries1, Ground, pulse::CardiovascularPath::RightPulmonaryCapillaries1ToGround);
RightPulmonaryCapillaries1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& RightPulmonaryVeins1ToRightIntermediatePulmonaryVeins1 = cCardiovascular.CreatePath(RightPulmonaryVeins1, RightIntermediatePulmonaryVeins1, pulse::ExpandedCardiovascularPath::RightPulmonaryVeins1ToRightIntermediatePulmonaryVeins1);
+ SEFluidCircuitPath& RightPulmonaryVeins1ToRightIntermediatePulmonaryVeins1 = cCardiovascular.CreatePath(RightPulmonaryVeins1, RightIntermediatePulmonaryVeins1, pulse::CardiovascularPath::RightPulmonaryVeins1ToRightIntermediatePulmonaryVeins1);
RightPulmonaryVeins1ToRightIntermediatePulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceHeartLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightPulmonaryVeins1ToGround = cCardiovascular.CreatePath(RightPulmonaryVeins1, Ground, pulse::ExpandedCardiovascularPath::RightPulmonaryVeins1ToGround);
+ SEFluidCircuitPath& RightPulmonaryVeins1ToGround = cCardiovascular.CreatePath(RightPulmonaryVeins1, Ground, pulse::CardiovascularPath::RightPulmonaryVeins1ToGround);
RightPulmonaryVeins1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& RightIntermediatePulmonaryVeins1ToLeftHeart2 = cCardiovascular.CreatePath(RightIntermediatePulmonaryVeins1, LeftHeart2, pulse::ExpandedCardiovascularPath::RightIntermediatePulmonaryVeins1ToLeftHeart2);
+ SEFluidCircuitPath& RightIntermediatePulmonaryVeins1ToLeftHeart2 = cCardiovascular.CreatePath(RightIntermediatePulmonaryVeins1, LeftHeart2, pulse::CardiovascularPath::RightIntermediatePulmonaryVeins1ToLeftHeart2);
//RightIntermediatePulmonaryVeins1ToLeftHeart2.SetNextValve(eGate::Closed);
- SEFluidCircuitPath& MainPulmonaryArteries1ToLeftIntermediatePulmonaryArteries1 = cCardiovascular.CreatePath(MainPulmonaryArteries1, LeftIntermediatePulmonaryArteries1, pulse::ExpandedCardiovascularPath::MainPulmonaryArteries1ToLeftIntermediatePulmonaryArteries1);
+ SEFluidCircuitPath& MainPulmonaryArteries1ToLeftIntermediatePulmonaryArteries1 = cCardiovascular.CreatePath(MainPulmonaryArteries1, LeftIntermediatePulmonaryArteries1, pulse::CardiovascularPath::MainPulmonaryArteries1ToLeftIntermediatePulmonaryArteries1);
//MainPulmonaryArteries1ToLeftIntermediatePulmonaryArteries1.SetNextValve(eGate::Closed);
- SEFluidCircuitPath& LeftIntermediatePulmonaryArteries1ToLeftPulmonaryArteries1 = cCardiovascular.CreatePath(LeftIntermediatePulmonaryArteries1, LeftPulmonaryArteries1, pulse::ExpandedCardiovascularPath::LeftIntermediatePulmonaryArteries1ToLeftPulmonaryArteries1);
+ SEFluidCircuitPath& LeftIntermediatePulmonaryArteries1ToLeftPulmonaryArteries1 = cCardiovascular.CreatePath(LeftIntermediatePulmonaryArteries1, LeftPulmonaryArteries1, pulse::CardiovascularPath::LeftIntermediatePulmonaryArteries1ToLeftPulmonaryArteries1);
LeftIntermediatePulmonaryArteries1ToLeftPulmonaryArteries1.GetResistanceBaseline().SetValue(ResistancePulmArt, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::ExpandedCardiovascularPath::LeftPulmonaryArteries1ToLeftPulmonaryVeins1);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftPulmonaryVeins1);
LeftPulmonaryArteries1ToLeftPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceShuntLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1 = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryCapillaries1, pulse::ExpandedCardiovascularPath::LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1 = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryCapillaries1, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1);
LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1.GetResistanceBaseline().SetValue(ResistancePulmCapLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftPulmonaryArteries1ToGround = cCardiovascular.CreatePath(LeftPulmonaryArteries1, Ground, pulse::ExpandedCardiovascularPath::LeftPulmonaryArteries1ToGround);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToGround = cCardiovascular.CreatePath(LeftPulmonaryArteries1, Ground, pulse::CardiovascularPath::LeftPulmonaryArteries1ToGround);
LeftPulmonaryArteries1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& LeftPulmonaryCapillaries1ToGround = cCardiovascular.CreatePath(LeftPulmonaryCapillaries1, Ground, pulse::ExpandedCardiovascularPath::LeftPulmonaryCapillaries1ToGround);
+ SEFluidCircuitPath& LeftPulmonaryCapillaries1ToGround = cCardiovascular.CreatePath(LeftPulmonaryCapillaries1, Ground, pulse::CardiovascularPath::LeftPulmonaryCapillaries1ToGround);
LeftPulmonaryCapillaries1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftPulmonaryCapillaries1, LeftPulmonaryVeins1, pulse::ExpandedCardiovascularPath::LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1);
+ SEFluidCircuitPath& LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftPulmonaryCapillaries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1);
LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1.GetResistanceBaseline().SetValue(ResistancePulmVeinsLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftPulmonaryVeins1ToLeftIntermediatePulmonaryVeins1 = cCardiovascular.CreatePath(LeftPulmonaryVeins1, LeftIntermediatePulmonaryVeins1, pulse::ExpandedCardiovascularPath::LeftPulmonaryVeins1ToLeftIntermediatePulmonaryVeins1);
+ SEFluidCircuitPath& LeftPulmonaryVeins1ToLeftIntermediatePulmonaryVeins1 = cCardiovascular.CreatePath(LeftPulmonaryVeins1, LeftIntermediatePulmonaryVeins1, pulse::CardiovascularPath::LeftPulmonaryVeins1ToLeftIntermediatePulmonaryVeins1);
LeftPulmonaryVeins1ToLeftIntermediatePulmonaryVeins1.GetResistanceBaseline().SetValue(ResistanceHeartLeft, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftPulmonaryVeins1ToGround = cCardiovascular.CreatePath(LeftPulmonaryVeins1, Ground, pulse::ExpandedCardiovascularPath::LeftPulmonaryVeins1ToGround);
+ SEFluidCircuitPath& LeftPulmonaryVeins1ToGround = cCardiovascular.CreatePath(LeftPulmonaryVeins1, Ground, pulse::CardiovascularPath::LeftPulmonaryVeins1ToGround);
LeftPulmonaryVeins1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& LeftIntermediatePulmonaryVeins1ToLeftHeart2 = cCardiovascular.CreatePath(LeftIntermediatePulmonaryVeins1, LeftHeart2, pulse::ExpandedCardiovascularPath::LeftIntermediatePulmonaryVeins1ToLeftHeart2);
+ SEFluidCircuitPath& LeftIntermediatePulmonaryVeins1ToLeftHeart2 = cCardiovascular.CreatePath(LeftIntermediatePulmonaryVeins1, LeftHeart2, pulse::CardiovascularPath::LeftIntermediatePulmonaryVeins1ToLeftHeart2);
//LeftIntermediatePulmonaryVeins1ToLeftHeart2.SetNextValve(eGate::Closed);
- SEFluidCircuitPath& LeftHeart2ToLeftHeart1 = cCardiovascular.CreatePath(LeftHeart2, LeftHeart1, pulse::ExpandedCardiovascularPath::LeftHeart2ToLeftHeart1);
+ SEFluidCircuitPath& LeftHeart2ToLeftHeart1 = cCardiovascular.CreatePath(LeftHeart2, LeftHeart1, pulse::CardiovascularPath::LeftHeart2ToLeftHeart1);
LeftHeart2ToLeftHeart1.SetNextValve(eGate::Closed);
- SEFluidCircuitPath& LeftHeart1ToLeftHeart3 = cCardiovascular.CreatePath(LeftHeart1, LeftHeart3, pulse::ExpandedCardiovascularPath::LeftHeart1ToLeftHeart3);
+ SEFluidCircuitPath& LeftHeart1ToLeftHeart3 = cCardiovascular.CreatePath(LeftHeart1, LeftHeart3, pulse::CardiovascularPath::LeftHeart1ToLeftHeart3);
- SEFluidCircuitPath& LeftHeart3ToGround = cCardiovascular.CreatePath(Ground, LeftHeart3, pulse::ExpandedCardiovascularPath::LeftHeart3ToGround);
+ SEFluidCircuitPath& LeftHeart3ToGround = cCardiovascular.CreatePath(Ground, LeftHeart3, pulse::CardiovascularPath::LeftHeart3ToGround);
LeftHeart3ToGround.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LeftHeart1ToAorta2 = cCardiovascular.CreatePath(LeftHeart1, Aorta2, pulse::ExpandedCardiovascularPath::LeftHeart1ToAorta2);
+ SEFluidCircuitPath& LeftHeart1ToAorta2 = cCardiovascular.CreatePath(LeftHeart1, Aorta2, pulse::CardiovascularPath::LeftHeart1ToAorta2);
LeftHeart1ToAorta2.SetNextValve(eGate::Closed);
- cCardiovascular.CreatePath(Aorta2, Aorta3, pulse::ExpandedCardiovascularPath::Aorta2ToAorta3);
- SEFluidCircuitPath& Aorta3ToAorta1 = cCardiovascular.CreatePath(Aorta3, Aorta1, pulse::ExpandedCardiovascularPath::Aorta3ToAorta1);
+ cCardiovascular.CreatePath(Aorta2, Aorta3, pulse::CardiovascularPath::Aorta2ToAorta3);
+ SEFluidCircuitPath& Aorta3ToAorta1 = cCardiovascular.CreatePath(Aorta3, Aorta1, pulse::CardiovascularPath::Aorta3ToAorta1);
Aorta3ToAorta1.GetResistanceBaseline().SetValue(ResistanceAorta, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Aorta1ToAorta4 = cCardiovascular.CreatePath(Aorta1, Aorta4, pulse::ExpandedCardiovascularPath::Aorta1ToAorta4);
+ SEFluidCircuitPath& Aorta1ToAorta4 = cCardiovascular.CreatePath(Aorta1, Aorta4, pulse::CardiovascularPath::Aorta1ToAorta4);
Aorta1ToAorta4.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& Aorta1ToAorta5 = cCardiovascular.CreatePath(Aorta1, Aorta5, pulse::ExpandedCardiovascularPath::Aorta1ToAorta5);
+ SEFluidCircuitPath& Aorta1ToAorta5 = cCardiovascular.CreatePath(Aorta1, Aorta5, pulse::ComputationalLifeCardiovascularPath::Aorta1ToAorta5);
Aorta1ToAorta5.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArterioles, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Aorta5ToExtracranial1 = cCardiovascular.CreatePath(Aorta5, Extracranial1, pulse::ExpandedCardiovascularPath::Aorta5ToExtracranial1);
- SEFluidCircuitPath& Extracranial1ToExtracranial2 = cCardiovascular.CreatePath(Extracranial1, Extracranial2, pulse::ExpandedCardiovascularPath::Extracranial1ToExtracranial2);
+ SEFluidCircuitPath& Aorta5ToExtracranial1 = cCardiovascular.CreatePath(Aorta5, Extracranial1, pulse::ComputationalLifeCardiovascularPath::Aorta5ToExtracranial1);
+ SEFluidCircuitPath& Extracranial1ToExtracranial2 = cCardiovascular.CreatePath(Extracranial1, Extracranial2, pulse::ComputationalLifeCardiovascularPath::Extracranial1ToExtracranial2);
Extracranial1ToExtracranial2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceExtracranial, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Extracranial2ToGround = cCardiovascular.CreatePath(Extracranial2, Ground, pulse::ExpandedCardiovascularPath::Extracranial2ToGround);
+ SEFluidCircuitPath& Extracranial2ToGround = cCardiovascular.CreatePath(Extracranial2, Ground, pulse::ComputationalLifeCardiovascularPath::Extracranial2ToGround);
Extracranial2ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& Extracranial2ToExtracranial3 = cCardiovascular.CreatePath(Extracranial2, Extracranial3, pulse::ExpandedCardiovascularPath::Extracranial2ToExtracranial3);
+ SEFluidCircuitPath& Extracranial2ToExtracranial3 = cCardiovascular.CreatePath(Extracranial2, Extracranial3, pulse::ComputationalLifeCardiovascularPath::Extracranial2ToExtracranial3);
Extracranial2ToExtracranial3.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceExtracranialVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Extracranial3ToVenaCava2 = cCardiovascular.CreatePath(Extracranial3, VenaCava2, pulse::ExpandedCardiovascularPath::Extracranial3ToVenaCava2);
+ SEFluidCircuitPath& Extracranial3ToVenaCava2 = cCardiovascular.CreatePath(Extracranial3, VenaCava2, pulse::ComputationalLifeCardiovascularPath::Extracranial3ToVenaCava2);
- SEFluidCircuitPath& Aorta5ToIntracranial1 = cCardiovascular.CreatePath(Aorta5, Intracranial1, pulse::ExpandedCardiovascularPath::Aorta5ToIntracranial1);
- SEFluidCircuitPath& Intracranial1ToIntracranial2 = cCardiovascular.CreatePath(Intracranial1, Intracranial2, pulse::ExpandedCardiovascularPath::Intracranial1ToIntracranial2);
+ SEFluidCircuitPath& Aorta5ToIntracranial1 = cCardiovascular.CreatePath(Aorta5, Intracranial1, pulse::ComputationalLifeCardiovascularPath::Aorta5ToIntracranial1);
+ SEFluidCircuitPath& Intracranial1ToIntracranial2 = cCardiovascular.CreatePath(Intracranial1, Intracranial2, pulse::ComputationalLifeCardiovascularPath::Intracranial1ToIntracranial2);
Intracranial1ToIntracranial2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceIntracranial, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Intracranial2ToGround = cCardiovascular.CreatePath(Intracranial2, Ground, pulse::ExpandedCardiovascularPath::Intracranial2ToGround);
+ SEFluidCircuitPath& Intracranial2ToGround = cCardiovascular.CreatePath(Intracranial2, Ground, pulse::ComputationalLifeCardiovascularPath::Intracranial2ToGround);
Intracranial2ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& Intracranial2ToIntracranial3 = cCardiovascular.CreatePath(Intracranial2, Intracranial3, pulse::ExpandedCardiovascularPath::Intracranial2ToIntracranial3);
+ SEFluidCircuitPath& Intracranial2ToIntracranial3 = cCardiovascular.CreatePath(Intracranial2, Intracranial3, pulse::ComputationalLifeCardiovascularPath::Intracranial2ToIntracranial3);
Intracranial2ToIntracranial3.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceIntracranialVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Intracranial3ToVenaCava2 = cCardiovascular.CreatePath(Intracranial3, VenaCava2, pulse::ExpandedCardiovascularPath::Intracranial3ToVenaCava2);
+ SEFluidCircuitPath& Intracranial3ToVenaCava2 = cCardiovascular.CreatePath(Intracranial3, VenaCava2, pulse::ComputationalLifeCardiovascularPath::Intracranial3ToVenaCava2);
- SEFluidCircuitPath& Aorta5ToGut1 = cCardiovascular.CreatePath(Aorta5, Gut1, pulse::ExpandedCardiovascularPath::Aorta5ToGut1);
+ SEFluidCircuitPath& Aorta5ToGut1 = cCardiovascular.CreatePath(Aorta5, Gut1, pulse::ComputationalLifeCardiovascularPath::Aorta5ToGut1);
- SEFluidCircuitPath& Gut1ToLargeIntestine1 = cCardiovascular.CreatePath(Gut1, LargeIntestine1, pulse::ExpandedCardiovascularPath::Gut1ToLargeIntestine1);
+ SEFluidCircuitPath& Gut1ToLargeIntestine1 = cCardiovascular.CreatePath(Gut1, LargeIntestine1, pulse::ComputationalLifeCardiovascularPath::Gut1ToLargeIntestine1);
Gut1ToLargeIntestine1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLargeIntestine, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LargeIntestine1ToGround = cCardiovascular.CreatePath(LargeIntestine1, Ground, pulse::ExpandedCardiovascularPath::LargeIntestine1ToGround);
+ SEFluidCircuitPath& LargeIntestine1ToGround = cCardiovascular.CreatePath(LargeIntestine1, Ground, pulse::CardiovascularPath::LargeIntestine1ToGround);
LargeIntestine1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& LargeIntestine1ToPortalVein1 = cCardiovascular.CreatePath(LargeIntestine1, PortalVein1, pulse::ExpandedCardiovascularPath::LargeIntestine1ToPortalVein1);
+ SEFluidCircuitPath& LargeIntestine1ToPortalVein1 = cCardiovascular.CreatePath(LargeIntestine1, PortalVein1, pulse::CardiovascularPath::LargeIntestine1ToPortalVein1);
LargeIntestine1ToPortalVein1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLargeIntestineVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Aorta5ToLeftArm1 = cCardiovascular.CreatePath(Aorta5, LeftArm1, pulse::ExpandedCardiovascularPath::Aorta5ToLeftArm1);
- SEFluidCircuitPath& LeftArm1ToLeftArmBone1 = cCardiovascular.CreatePath(LeftArm1, LeftArmBone1, pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmBone1);
+ SEFluidCircuitPath& Aorta5ToLeftArm1 = cCardiovascular.CreatePath(Aorta5, LeftArm1, pulse::ComputationalLifeCardiovascularPath::Aorta5ToLeftArm1);
+ SEFluidCircuitPath& LeftArm1ToLeftArmBone1 = cCardiovascular.CreatePath(LeftArm1, LeftArmBone1, pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmBone1);
LeftArm1ToLeftArmBone1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmBone, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftArmBone1ToGround = cCardiovascular.CreatePath(LeftArmBone1, Ground, pulse::ExpandedCardiovascularPath::LeftArmBone1ToGround);
+ SEFluidCircuitPath& LeftArmBone1ToGround = cCardiovascular.CreatePath(LeftArmBone1, Ground, pulse::ComputationalLifeCardiovascularPath::LeftArmBone1ToGround);
LeftArmBone1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& LeftArmBone1ToLeftArm2 = cCardiovascular.CreatePath(LeftArmBone1, LeftArm2, pulse::ExpandedCardiovascularPath::LeftArmBone1ToLeftArm2);
+ SEFluidCircuitPath& LeftArmBone1ToLeftArm2 = cCardiovascular.CreatePath(LeftArmBone1, LeftArm2, pulse::ComputationalLifeCardiovascularPath::LeftArmBone1ToLeftArm2);
LeftArmBone1ToLeftArm2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmBoneVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftArm1ToLeftArmFat1 = cCardiovascular.CreatePath(LeftArm1, LeftArmFat1, pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmFat1);
+ SEFluidCircuitPath& LeftArm1ToLeftArmFat1 = cCardiovascular.CreatePath(LeftArm1, LeftArmFat1, pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmFat1);
LeftArm1ToLeftArmFat1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmFat, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftArmFat1ToGround = cCardiovascular.CreatePath(LeftArmFat1, Ground, pulse::ExpandedCardiovascularPath::LeftArmFat1ToGround);
+ SEFluidCircuitPath& LeftArmFat1ToGround = cCardiovascular.CreatePath(LeftArmFat1, Ground, pulse::ComputationalLifeCardiovascularPath::LeftArmFat1ToGround);
LeftArmFat1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& LeftArmFat1ToLeftArm2 = cCardiovascular.CreatePath(LeftArmFat1, LeftArm2, pulse::ExpandedCardiovascularPath::LeftArmFat1ToLeftArm2);
+ SEFluidCircuitPath& LeftArmFat1ToLeftArm2 = cCardiovascular.CreatePath(LeftArmFat1, LeftArm2, pulse::ComputationalLifeCardiovascularPath::LeftArmFat1ToLeftArm2);
LeftArmFat1ToLeftArm2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmFatVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftArm1ToLeftArmMicrovasculature1 = cCardiovascular.CreatePath(LeftArm1, LeftArmMicrovasculature1, pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmMicrovasculature1);
+ SEFluidCircuitPath& LeftArm1ToLeftArmMicrovasculature1 = cCardiovascular.CreatePath(LeftArm1, LeftArmMicrovasculature1, pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmMicrovasculature1);
LeftArm1ToLeftArmMicrovasculature1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmMicrovasculature, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftArmMicrovasculature1ToGround = cCardiovascular.CreatePath(LeftArmMicrovasculature1, Ground, pulse::ExpandedCardiovascularPath::LeftArmMicrovasculature1ToGround);
+ SEFluidCircuitPath& LeftArmMicrovasculature1ToGround = cCardiovascular.CreatePath(LeftArmMicrovasculature1, Ground, pulse::ComputationalLifeCardiovascularPath::LeftArmMicrovasculature1ToGround);
LeftArmMicrovasculature1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& LeftArmMicrovasculature1ToLeftArm2 = cCardiovascular.CreatePath(LeftArmMicrovasculature1, LeftArm2, pulse::ExpandedCardiovascularPath::LeftArmMicrovasculature1ToLeftArm2);
+ SEFluidCircuitPath& LeftArmMicrovasculature1ToLeftArm2 = cCardiovascular.CreatePath(LeftArmMicrovasculature1, LeftArm2, pulse::ComputationalLifeCardiovascularPath::LeftArmMicrovasculature1ToLeftArm2);
LeftArmMicrovasculature1ToLeftArm2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmMicrovasculatureVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftArm1ToLeftArmMuscle1 = cCardiovascular.CreatePath(LeftArm1, LeftArmMuscle1, pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmMuscle1);
+ SEFluidCircuitPath& LeftArm1ToLeftArmMuscle1 = cCardiovascular.CreatePath(LeftArm1, LeftArmMuscle1, pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmMuscle1);
LeftArm1ToLeftArmMuscle1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmMuscle, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftArmMuscle1ToGround = cCardiovascular.CreatePath(LeftArmMuscle1, Ground, pulse::ExpandedCardiovascularPath::LeftArmMuscle1ToGround);
+ SEFluidCircuitPath& LeftArmMuscle1ToGround = cCardiovascular.CreatePath(LeftArmMuscle1, Ground, pulse::ComputationalLifeCardiovascularPath::LeftArmMuscle1ToGround);
LeftArmMuscle1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& LeftArmMuscle1ToLeftArm2 = cCardiovascular.CreatePath(LeftArmMuscle1, LeftArm2, pulse::ExpandedCardiovascularPath::LeftArmMuscle1ToLeftArm2);
+ SEFluidCircuitPath& LeftArmMuscle1ToLeftArm2 = cCardiovascular.CreatePath(LeftArmMuscle1, LeftArm2, pulse::ComputationalLifeCardiovascularPath::LeftArmMuscle1ToLeftArm2);
LeftArmMuscle1ToLeftArm2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmMuscleVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftArm1ToLeftArmSkin1 = cCardiovascular.CreatePath(LeftArm1, LeftArmSkin1, pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmSkin1);
+ SEFluidCircuitPath& LeftArm1ToLeftArmSkin1 = cCardiovascular.CreatePath(LeftArm1, LeftArmSkin1, pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmSkin1);
LeftArm1ToLeftArmSkin1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmSkin, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftArmSkin1ToGround = cCardiovascular.CreatePath(LeftArmSkin1, Ground, pulse::ExpandedCardiovascularPath::LeftArmSkin1ToGround);
+ SEFluidCircuitPath& LeftArmSkin1ToGround = cCardiovascular.CreatePath(LeftArmSkin1, Ground, pulse::ComputationalLifeCardiovascularPath::LeftArmSkin1ToGround);
LeftArmSkin1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& LeftArmSkin1ToLeftArm2 = cCardiovascular.CreatePath(LeftArmSkin1, LeftArm2, pulse::ExpandedCardiovascularPath::LeftArmSkin1ToLeftArm2);
+ SEFluidCircuitPath& LeftArmSkin1ToLeftArm2 = cCardiovascular.CreatePath(LeftArmSkin1, LeftArm2, pulse::ComputationalLifeCardiovascularPath::LeftArmSkin1ToLeftArm2);
LeftArmSkin1ToLeftArm2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmSkinVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftArm2ToVenaCava2 = cCardiovascular.CreatePath(LeftArm2, VenaCava2, pulse::ExpandedCardiovascularPath::LeftArm2ToVenaCava2);
+ SEFluidCircuitPath& LeftArm2ToVenaCava2 = cCardiovascular.CreatePath(LeftArm2, VenaCava2, pulse::ComputationalLifeCardiovascularPath::LeftArm2ToVenaCava2);
- SEFluidCircuitPath& Aorta5ToLeftKidney1 = cCardiovascular.CreatePath(Aorta5, LeftKidney1, pulse::ExpandedCardiovascularPath::Aorta5ToLeftKidney1);
- SEFluidCircuitPath& LeftKidney1ToLeftKidney2 = cCardiovascular.CreatePath(LeftKidney1, LeftKidney2, pulse::ExpandedCardiovascularPath::LeftKidney1ToLeftKidney2);
+ SEFluidCircuitPath& Aorta5ToLeftKidney1 = cCardiovascular.CreatePath(Aorta5, LeftKidney1, pulse::ComputationalLifeCardiovascularPath::Aorta5ToLeftKidney1);
+ SEFluidCircuitPath& LeftKidney1ToLeftKidney2 = cCardiovascular.CreatePath(LeftKidney1, LeftKidney2, pulse::CardiovascularPath::LeftKidney1ToLeftKidney2);
LeftKidney1ToLeftKidney2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceKidney, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftKidney2ToGround = cCardiovascular.CreatePath(LeftKidney2, Ground, pulse::ExpandedCardiovascularPath::LeftKidney2ToGround);
+ SEFluidCircuitPath& LeftKidney2ToGround = cCardiovascular.CreatePath(LeftKidney2, Ground, pulse::ComputationalLifeCardiovascularPath::LeftKidney2ToGround);
LeftKidney2ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& LeftKidney2ToLeftKidney3 = cCardiovascular.CreatePath(LeftKidney2, LeftKidney3, pulse::ExpandedCardiovascularPath::LeftKidney2ToLeftKidney3);
+ SEFluidCircuitPath& LeftKidney2ToLeftKidney3 = cCardiovascular.CreatePath(LeftKidney2, LeftKidney3, pulse::ComputationalLifeCardiovascularPath::LeftKidney2ToLeftKidney3);
LeftKidney2ToLeftKidney3.GetResistanceBaseline().SetValue(ResistanceKidneyVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftKidney3ToVenaCava2 = cCardiovascular.CreatePath(LeftKidney3, VenaCava2, pulse::ExpandedCardiovascularPath::LeftKidney3ToVenaCava2);
+ SEFluidCircuitPath& LeftKidney3ToVenaCava2 = cCardiovascular.CreatePath(LeftKidney3, VenaCava2, pulse::ComputationalLifeCardiovascularPath::LeftKidney3ToVenaCava2);
- SEFluidCircuitPath& Aorta5ToLeftLeg1 = cCardiovascular.CreatePath(Aorta5, LeftLeg1, pulse::ExpandedCardiovascularPath::Aorta5ToLeftLeg1);
- SEFluidCircuitPath& LeftLeg1ToLeftLegBone1 = cCardiovascular.CreatePath(LeftLeg1, LeftLegBone1, pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegBone1);
+ SEFluidCircuitPath& Aorta5ToLeftLeg1 = cCardiovascular.CreatePath(Aorta5, LeftLeg1, pulse::ComputationalLifeCardiovascularPath::Aorta5ToLeftLeg1);
+ SEFluidCircuitPath& LeftLeg1ToLeftLegBone1 = cCardiovascular.CreatePath(LeftLeg1, LeftLegBone1, pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegBone1);
LeftLeg1ToLeftLegBone1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegBone, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftLegBone1ToGround = cCardiovascular.CreatePath(LeftLegBone1, Ground, pulse::ExpandedCardiovascularPath::LeftLegBone1ToGround);
+ SEFluidCircuitPath& LeftLegBone1ToGround = cCardiovascular.CreatePath(LeftLegBone1, Ground, pulse::ComputationalLifeCardiovascularPath::LeftLegBone1ToGround);
LeftLegBone1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& LeftLegBone1ToLeftLeg2 = cCardiovascular.CreatePath(LeftLegBone1, LeftLeg2, pulse::ExpandedCardiovascularPath::LeftLegBone1ToLeftLeg2);
+ SEFluidCircuitPath& LeftLegBone1ToLeftLeg2 = cCardiovascular.CreatePath(LeftLegBone1, LeftLeg2, pulse::ComputationalLifeCardiovascularPath::LeftLegBone1ToLeftLeg2);
LeftLegBone1ToLeftLeg2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegBoneVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftLeg1ToLeftLegFat1 = cCardiovascular.CreatePath(LeftLeg1, LeftLegFat1, pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegFat1);
+ SEFluidCircuitPath& LeftLeg1ToLeftLegFat1 = cCardiovascular.CreatePath(LeftLeg1, LeftLegFat1, pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegFat1);
LeftLeg1ToLeftLegFat1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegFat, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftLegFat1ToGround = cCardiovascular.CreatePath(LeftLegFat1, Ground, pulse::ExpandedCardiovascularPath::LeftLegFat1ToGround);
+ SEFluidCircuitPath& LeftLegFat1ToGround = cCardiovascular.CreatePath(LeftLegFat1, Ground, pulse::ComputationalLifeCardiovascularPath::LeftLegFat1ToGround);
LeftLegFat1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& LeftLegFat1ToLeftLeg2 = cCardiovascular.CreatePath(LeftLegFat1, LeftLeg2, pulse::ExpandedCardiovascularPath::LeftLegFat1ToLeftLeg2);
+ SEFluidCircuitPath& LeftLegFat1ToLeftLeg2 = cCardiovascular.CreatePath(LeftLegFat1, LeftLeg2, pulse::ComputationalLifeCardiovascularPath::LeftLegFat1ToLeftLeg2);
LeftLegFat1ToLeftLeg2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegFatVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftLeg1ToLeftLegMicrovasculature1 = cCardiovascular.CreatePath(LeftLeg1, LeftLegMicrovasculature1, pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegMicrovasculature1);
+ SEFluidCircuitPath& LeftLeg1ToLeftLegMicrovasculature1 = cCardiovascular.CreatePath(LeftLeg1, LeftLegMicrovasculature1, pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegMicrovasculature1);
LeftLeg1ToLeftLegMicrovasculature1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegMicrovasculature, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftLegMicrovasculature1ToGround = cCardiovascular.CreatePath(LeftLegMicrovasculature1, Ground, pulse::ExpandedCardiovascularPath::LeftLegMicrovasculature1ToGround);
+ SEFluidCircuitPath& LeftLegMicrovasculature1ToGround = cCardiovascular.CreatePath(LeftLegMicrovasculature1, Ground, pulse::ComputationalLifeCardiovascularPath::LeftLegMicrovasculature1ToGround);
LeftLegMicrovasculature1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& LeftLegMicrovasculature1ToLeftLeg2 = cCardiovascular.CreatePath(LeftLegMicrovasculature1, LeftLeg2, pulse::ExpandedCardiovascularPath::LeftLegMicrovasculature1ToLeftLeg2);
+ SEFluidCircuitPath& LeftLegMicrovasculature1ToLeftLeg2 = cCardiovascular.CreatePath(LeftLegMicrovasculature1, LeftLeg2, pulse::ComputationalLifeCardiovascularPath::LeftLegMicrovasculature1ToLeftLeg2);
LeftLegMicrovasculature1ToLeftLeg2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegMicrovasculatureVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftLeg1ToLeftLegMuscle1 = cCardiovascular.CreatePath(LeftLeg1, LeftLegMuscle1, pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegMuscle1);
+ SEFluidCircuitPath& LeftLeg1ToLeftLegMuscle1 = cCardiovascular.CreatePath(LeftLeg1, LeftLegMuscle1, pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegMuscle1);
LeftLeg1ToLeftLegMuscle1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegMuscle, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftLegMuscle1ToGround = cCardiovascular.CreatePath(LeftLegMuscle1, Ground, pulse::ExpandedCardiovascularPath::LeftLegMuscle1ToGround);
+ SEFluidCircuitPath& LeftLegMuscle1ToGround = cCardiovascular.CreatePath(LeftLegMuscle1, Ground, pulse::ComputationalLifeCardiovascularPath::LeftLegMuscle1ToGround);
LeftLegMuscle1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& LeftLegMuscle1ToLeftLeg2 = cCardiovascular.CreatePath(LeftLegMuscle1, LeftLeg2, pulse::ExpandedCardiovascularPath::LeftLegMuscle1ToLeftLeg2);
+ SEFluidCircuitPath& LeftLegMuscle1ToLeftLeg2 = cCardiovascular.CreatePath(LeftLegMuscle1, LeftLeg2, pulse::ComputationalLifeCardiovascularPath::LeftLegMuscle1ToLeftLeg2);
LeftLegMuscle1ToLeftLeg2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegMuscleVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftLeg1ToLeftLegSkin1 = cCardiovascular.CreatePath(LeftLeg1, LeftLegSkin1, pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegSkin1);
+ SEFluidCircuitPath& LeftLeg1ToLeftLegSkin1 = cCardiovascular.CreatePath(LeftLeg1, LeftLegSkin1, pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegSkin1);
LeftLeg1ToLeftLegSkin1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegSkin, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftLegSkin1ToGround = cCardiovascular.CreatePath(LeftLegSkin1, Ground, pulse::ExpandedCardiovascularPath::LeftLegSkin1ToGround);
+ SEFluidCircuitPath& LeftLegSkin1ToGround = cCardiovascular.CreatePath(LeftLegSkin1, Ground, pulse::ComputationalLifeCardiovascularPath::LeftLegSkin1ToGround);
LeftLegSkin1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& LeftLegSkin1ToLeftLeg2 = cCardiovascular.CreatePath(LeftLegSkin1, LeftLeg2, pulse::ExpandedCardiovascularPath::LeftLegSkin1ToLeftLeg2);
+ SEFluidCircuitPath& LeftLegSkin1ToLeftLeg2 = cCardiovascular.CreatePath(LeftLegSkin1, LeftLeg2, pulse::ComputationalLifeCardiovascularPath::LeftLegSkin1ToLeftLeg2);
LeftLegSkin1ToLeftLeg2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegSkinVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftLeg2ToVenaCava2 = cCardiovascular.CreatePath(LeftLeg2, VenaCava2, pulse::ExpandedCardiovascularPath::LeftLeg2ToVenaCava2);
+ SEFluidCircuitPath& LeftLeg2ToVenaCava2 = cCardiovascular.CreatePath(LeftLeg2, VenaCava2, pulse::ComputationalLifeCardiovascularPath::LeftLeg2ToVenaCava2);
- SEFluidCircuitPath& Gut1ToLiver1 = cCardiovascular.CreatePath(Gut1, Liver1, pulse::ExpandedCardiovascularPath::Gut1ToLiver1);
+ SEFluidCircuitPath& Gut1ToLiver1 = cCardiovascular.CreatePath(Gut1, Liver1, pulse::ComputationalLifeCardiovascularPath::Gut1ToLiver1);
Gut1ToLiver1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLiver, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Liver1ToGround = cCardiovascular.CreatePath(Liver1, Ground, pulse::ExpandedCardiovascularPath::Liver1ToGround);
+ SEFluidCircuitPath& Liver1ToGround = cCardiovascular.CreatePath(Liver1, Ground, pulse::CardiovascularPath::Liver1ToGround);
Liver1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& PortalVein1ToLiver1 = cCardiovascular.CreatePath(PortalVein1, Liver1, pulse::ExpandedCardiovascularPath::PortalVein1ToLiver1);
+ SEFluidCircuitPath& PortalVein1ToLiver1 = cCardiovascular.CreatePath(PortalVein1, Liver1, pulse::CardiovascularPath::PortalVein1ToLiver1);
PortalVein1ToLiver1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistancePortalVein, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Liver1ToLiver2 = cCardiovascular.CreatePath(Liver1, Liver2, pulse::ExpandedCardiovascularPath::Liver1ToLiver2);
+ SEFluidCircuitPath& Liver1ToLiver2 = cCardiovascular.CreatePath(Liver1, Liver2, pulse::CardiovascularPath::Liver1ToLiver2);
Liver1ToLiver2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLiverVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Liver2ToVenaCava2 = cCardiovascular.CreatePath(Liver2, VenaCava2, pulse::ExpandedCardiovascularPath::Liver2ToVenaCava2);
+ SEFluidCircuitPath& Liver2ToVenaCava2 = cCardiovascular.CreatePath(Liver2, VenaCava2, pulse::ComputationalLifeCardiovascularPath::Liver2ToVenaCava2);
- SEFluidCircuitPath& Aorta5ToMyocardium1 = cCardiovascular.CreatePath(Aorta5, Myocardium1, pulse::ExpandedCardiovascularPath::Aorta5ToMyocardium1);
- SEFluidCircuitPath& Myocardium1ToMyocardium2 = cCardiovascular.CreatePath(Myocardium1, Myocardium2, pulse::ExpandedCardiovascularPath::Myocardium1ToMyocardium2);
+ SEFluidCircuitPath& Aorta5ToMyocardium1 = cCardiovascular.CreatePath(Aorta5, Myocardium1, pulse::ComputationalLifeCardiovascularPath::Aorta5ToMyocardium1);
+ SEFluidCircuitPath& Myocardium1ToMyocardium2 = cCardiovascular.CreatePath(Myocardium1, Myocardium2, pulse::CardiovascularPath::Myocardium1ToMyocardium2);
Myocardium1ToMyocardium2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceMyocardium, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Myocardium2ToGround = cCardiovascular.CreatePath(Myocardium2, Ground, pulse::ExpandedCardiovascularPath::Myocardium2ToGround);
+ SEFluidCircuitPath& Myocardium2ToGround = cCardiovascular.CreatePath(Myocardium2, Ground, pulse::ComputationalLifeCardiovascularPath::Myocardium2ToGround);
Myocardium2ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& Myocardium2ToMyocardium3 = cCardiovascular.CreatePath(Myocardium2, Myocardium3, pulse::ExpandedCardiovascularPath::Myocardium2ToMyocardium3);
+ SEFluidCircuitPath& Myocardium2ToMyocardium3 = cCardiovascular.CreatePath(Myocardium2, Myocardium3, pulse::ComputationalLifeCardiovascularPath::Myocardium2ToMyocardium3);
Myocardium2ToMyocardium3.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceMyocardiumVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Myocardium3ToVenaCava2 = cCardiovascular.CreatePath(Myocardium3, VenaCava2, pulse::ExpandedCardiovascularPath::Myocardium3ToVenaCava2);
+ SEFluidCircuitPath& Myocardium3ToVenaCava2 = cCardiovascular.CreatePath(Myocardium3, VenaCava2, pulse::ComputationalLifeCardiovascularPath::Myocardium3ToVenaCava2);
- SEFluidCircuitPath& PericardiumToGround = cCardiovascular.CreatePath(Pericardium, Ground, pulse::ExpandedCardiovascularPath::Pericardium1ToGround);
- SEFluidCircuitPath& GroundToPericardium = cCardiovascular.CreatePath(Ground, Pericardium, pulse::ExpandedCardiovascularPath::GroundToPericardium1);
+ SEFluidCircuitPath& PericardiumToGround = cCardiovascular.CreatePath(Pericardium, Ground, pulse::CardiovascularPath::Pericardium1ToGround);
+ SEFluidCircuitPath& GroundToPericardium = cCardiovascular.CreatePath(Ground, Pericardium, pulse::CardiovascularPath::GroundToPericardium1);
GroundToPericardium.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
- SEFluidCircuitPath& Aorta5ToRightArm1 = cCardiovascular.CreatePath(Aorta5, RightArm1, pulse::ExpandedCardiovascularPath::Aorta5ToRightArm1);
- SEFluidCircuitPath& RightArm1ToRightArmBone1 = cCardiovascular.CreatePath(RightArm1, RightArmBone1, pulse::ExpandedCardiovascularPath::RightArm1ToRightArmBone1);
+ SEFluidCircuitPath& Aorta5ToRightArm1 = cCardiovascular.CreatePath(Aorta5, RightArm1, pulse::ComputationalLifeCardiovascularPath::Aorta5ToRightArm1);
+ SEFluidCircuitPath& RightArm1ToRightArmBone1 = cCardiovascular.CreatePath(RightArm1, RightArmBone1, pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmBone1);
RightArm1ToRightArmBone1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmBone, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightArmBone1ToGround = cCardiovascular.CreatePath(RightArmBone1, Ground, pulse::ExpandedCardiovascularPath::RightArmBone1ToGround);
+ SEFluidCircuitPath& RightArmBone1ToGround = cCardiovascular.CreatePath(RightArmBone1, Ground, pulse::ComputationalLifeCardiovascularPath::RightArmBone1ToGround);
RightArmBone1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& RightArmBone1ToRightArm2 = cCardiovascular.CreatePath(RightArmBone1, RightArm2, pulse::ExpandedCardiovascularPath::RightArmBone1ToRightArm2);
+ SEFluidCircuitPath& RightArmBone1ToRightArm2 = cCardiovascular.CreatePath(RightArmBone1, RightArm2, pulse::ComputationalLifeCardiovascularPath::RightArmBone1ToRightArm2);
RightArmBone1ToRightArm2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmBoneVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightArm1ToRightArmFat1 = cCardiovascular.CreatePath(RightArm1, RightArmFat1, pulse::ExpandedCardiovascularPath::RightArm1ToRightArmFat1);
+ SEFluidCircuitPath& RightArm1ToRightArmFat1 = cCardiovascular.CreatePath(RightArm1, RightArmFat1, pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmFat1);
RightArm1ToRightArmFat1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmFat, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightArmFat1ToGround = cCardiovascular.CreatePath(RightArmFat1, Ground, pulse::ExpandedCardiovascularPath::RightArmFat1ToGround);
+ SEFluidCircuitPath& RightArmFat1ToGround = cCardiovascular.CreatePath(RightArmFat1, Ground, pulse::ComputationalLifeCardiovascularPath::RightArmFat1ToGround);
RightArmFat1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& RightArmFat1ToRightArm2 = cCardiovascular.CreatePath(RightArmFat1, RightArm2, pulse::ExpandedCardiovascularPath::RightArmFat1ToRightArm2);
+ SEFluidCircuitPath& RightArmFat1ToRightArm2 = cCardiovascular.CreatePath(RightArmFat1, RightArm2, pulse::ComputationalLifeCardiovascularPath::RightArmFat1ToRightArm2);
RightArmFat1ToRightArm2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmFatVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightArm1ToRightArmMicrovasculature1 = cCardiovascular.CreatePath(RightArm1, RightArmMicrovasculature1, pulse::ExpandedCardiovascularPath::RightArm1ToRightArmMicrovasculature1);
+ SEFluidCircuitPath& RightArm1ToRightArmMicrovasculature1 = cCardiovascular.CreatePath(RightArm1, RightArmMicrovasculature1, pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmMicrovasculature1);
RightArm1ToRightArmMicrovasculature1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmMicrovasculature, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightArmMicrovasculature1ToGround = cCardiovascular.CreatePath(RightArmMicrovasculature1, Ground, pulse::ExpandedCardiovascularPath::RightArmMicrovasculature1ToGround);
+ SEFluidCircuitPath& RightArmMicrovasculature1ToGround = cCardiovascular.CreatePath(RightArmMicrovasculature1, Ground, pulse::ComputationalLifeCardiovascularPath::RightArmMicrovasculature1ToGround);
RightArmMicrovasculature1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& RightArmMicrovasculature1ToRightArm2 = cCardiovascular.CreatePath(RightArmMicrovasculature1, RightArm2, pulse::ExpandedCardiovascularPath::RightArmMicrovasculature1ToRightArm2);
+ SEFluidCircuitPath& RightArmMicrovasculature1ToRightArm2 = cCardiovascular.CreatePath(RightArmMicrovasculature1, RightArm2, pulse::ComputationalLifeCardiovascularPath::RightArmMicrovasculature1ToRightArm2);
RightArmMicrovasculature1ToRightArm2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmMicrovasculatureVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightArm1ToRightArmMuscle1 = cCardiovascular.CreatePath(RightArm1, RightArmMuscle1, pulse::ExpandedCardiovascularPath::RightArm1ToRightArmMuscle1);
+ SEFluidCircuitPath& RightArm1ToRightArmMuscle1 = cCardiovascular.CreatePath(RightArm1, RightArmMuscle1, pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmMuscle1);
RightArm1ToRightArmMuscle1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmMuscle, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightArmMuscle1ToGround = cCardiovascular.CreatePath(RightArmMuscle1, Ground, pulse::ExpandedCardiovascularPath::RightArmMuscle1ToGround);
+ SEFluidCircuitPath& RightArmMuscle1ToGround = cCardiovascular.CreatePath(RightArmMuscle1, Ground, pulse::ComputationalLifeCardiovascularPath::RightArmMuscle1ToGround);
RightArmMuscle1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& RightArmMuscle1ToRightArm2 = cCardiovascular.CreatePath(RightArmMuscle1, RightArm2, pulse::ExpandedCardiovascularPath::RightArmMuscle1ToRightArm2);
+ SEFluidCircuitPath& RightArmMuscle1ToRightArm2 = cCardiovascular.CreatePath(RightArmMuscle1, RightArm2, pulse::ComputationalLifeCardiovascularPath::RightArmMuscle1ToRightArm2);
RightArmMuscle1ToRightArm2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmMuscleVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightArm1ToRightArmSkin1 = cCardiovascular.CreatePath(RightArm1, RightArmSkin1, pulse::ExpandedCardiovascularPath::RightArm1ToRightArmSkin1);
+ SEFluidCircuitPath& RightArm1ToRightArmSkin1 = cCardiovascular.CreatePath(RightArm1, RightArmSkin1, pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmSkin1);
RightArm1ToRightArmSkin1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmSkin, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightArmSkin1ToGround = cCardiovascular.CreatePath(RightArmSkin1, Ground, pulse::ExpandedCardiovascularPath::RightArmSkin1ToGround);
+ SEFluidCircuitPath& RightArmSkin1ToGround = cCardiovascular.CreatePath(RightArmSkin1, Ground, pulse::ComputationalLifeCardiovascularPath::RightArmSkin1ToGround);
RightArmSkin1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& RightArmSkin1ToRightArm2 = cCardiovascular.CreatePath(RightArmSkin1, RightArm2, pulse::ExpandedCardiovascularPath::RightArmSkin1ToRightArm2);
+ SEFluidCircuitPath& RightArmSkin1ToRightArm2 = cCardiovascular.CreatePath(RightArmSkin1, RightArm2, pulse::ComputationalLifeCardiovascularPath::RightArmSkin1ToRightArm2);
RightArmSkin1ToRightArm2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmSkinVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightArm2ToVenaCava2 = cCardiovascular.CreatePath(RightArm2, VenaCava2, pulse::ExpandedCardiovascularPath::RightArm2ToVenaCava2);
+ SEFluidCircuitPath& RightArm2ToVenaCava2 = cCardiovascular.CreatePath(RightArm2, VenaCava2, pulse::ComputationalLifeCardiovascularPath::RightArm2ToVenaCava2);
- SEFluidCircuitPath& Aorta5ToRightKidney1 = cCardiovascular.CreatePath(Aorta5, RightKidney1, pulse::ExpandedCardiovascularPath::Aorta5ToRightKidney1);
- SEFluidCircuitPath& RightKidney1ToRightKidney2 = cCardiovascular.CreatePath(RightKidney1, RightKidney2, pulse::ExpandedCardiovascularPath::RightKidney1ToRightKidney2);
+ SEFluidCircuitPath& Aorta5ToRightKidney1 = cCardiovascular.CreatePath(Aorta5, RightKidney1, pulse::ComputationalLifeCardiovascularPath::Aorta5ToRightKidney1);
+ SEFluidCircuitPath& RightKidney1ToRightKidney2 = cCardiovascular.CreatePath(RightKidney1, RightKidney2, pulse::CardiovascularPath::RightKidney1ToRightKidney2);
RightKidney1ToRightKidney2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceKidney, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightKidney2ToGround = cCardiovascular.CreatePath(RightKidney2, Ground, pulse::ExpandedCardiovascularPath::RightKidney2ToGround);
+ SEFluidCircuitPath& RightKidney2ToGround = cCardiovascular.CreatePath(RightKidney2, Ground, pulse::ComputationalLifeCardiovascularPath::RightKidney2ToGround);
RightKidney2ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& RightKidney2ToRightKidney3 = cCardiovascular.CreatePath(RightKidney2, RightKidney3, pulse::ExpandedCardiovascularPath::RightKidney2ToRightKidney3);
+ SEFluidCircuitPath& RightKidney2ToRightKidney3 = cCardiovascular.CreatePath(RightKidney2, RightKidney3, pulse::ComputationalLifeCardiovascularPath::RightKidney2ToRightKidney3);
RightKidney2ToRightKidney3.GetResistanceBaseline().SetValue(ResistanceKidneyVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightKidney3ToVenaCava2 = cCardiovascular.CreatePath(RightKidney3, VenaCava2, pulse::ExpandedCardiovascularPath::RightKidney3ToVenaCava2);
+ SEFluidCircuitPath& RightKidney3ToVenaCava2 = cCardiovascular.CreatePath(RightKidney3, VenaCava2, pulse::ComputationalLifeCardiovascularPath::RightKidney3ToVenaCava2);
- SEFluidCircuitPath& Aorta5ToRightLeg1 = cCardiovascular.CreatePath(Aorta5, RightLeg1, pulse::ExpandedCardiovascularPath::Aorta5ToRightLeg1);
- SEFluidCircuitPath& RightLeg1ToRightLegBone1 = cCardiovascular.CreatePath(RightLeg1, RightLegBone1, pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegBone1);
+ SEFluidCircuitPath& Aorta5ToRightLeg1 = cCardiovascular.CreatePath(Aorta5, RightLeg1, pulse::ComputationalLifeCardiovascularPath::Aorta5ToRightLeg1);
+ SEFluidCircuitPath& RightLeg1ToRightLegBone1 = cCardiovascular.CreatePath(RightLeg1, RightLegBone1, pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegBone1);
RightLeg1ToRightLegBone1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegBone, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightLegBone1ToGround = cCardiovascular.CreatePath(RightLegBone1, Ground, pulse::ExpandedCardiovascularPath::RightLegBone1ToGround);
+ SEFluidCircuitPath& RightLegBone1ToGround = cCardiovascular.CreatePath(RightLegBone1, Ground, pulse::ComputationalLifeCardiovascularPath::RightLegBone1ToGround);
RightLegBone1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& RightLegBone1ToRightLeg2 = cCardiovascular.CreatePath(RightLegBone1, RightLeg2, pulse::ExpandedCardiovascularPath::RightLegBone1ToRightLeg2);
+ SEFluidCircuitPath& RightLegBone1ToRightLeg2 = cCardiovascular.CreatePath(RightLegBone1, RightLeg2, pulse::ComputationalLifeCardiovascularPath::RightLegBone1ToRightLeg2);
RightLegBone1ToRightLeg2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegBoneVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightLeg1ToRightLegFat1 = cCardiovascular.CreatePath(RightLeg1, RightLegFat1, pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegFat1);
+ SEFluidCircuitPath& RightLeg1ToRightLegFat1 = cCardiovascular.CreatePath(RightLeg1, RightLegFat1, pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegFat1);
RightLeg1ToRightLegFat1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegFat, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightLegFat1ToGround = cCardiovascular.CreatePath(RightLegFat1, Ground, pulse::ExpandedCardiovascularPath::RightLegFat1ToGround);
+ SEFluidCircuitPath& RightLegFat1ToGround = cCardiovascular.CreatePath(RightLegFat1, Ground, pulse::ComputationalLifeCardiovascularPath::RightLegFat1ToGround);
RightLegFat1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& RightLegFat1ToRightLeg2 = cCardiovascular.CreatePath(RightLegFat1, RightLeg2, pulse::ExpandedCardiovascularPath::RightLegFat1ToRightLeg2);
+ SEFluidCircuitPath& RightLegFat1ToRightLeg2 = cCardiovascular.CreatePath(RightLegFat1, RightLeg2, pulse::ComputationalLifeCardiovascularPath::RightLegFat1ToRightLeg2);
RightLegFat1ToRightLeg2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegFatVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightLeg1ToRightLegMicrovasculature1 = cCardiovascular.CreatePath(RightLeg1, RightLegMicrovasculature1, pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegMicrovasculature1);
+ SEFluidCircuitPath& RightLeg1ToRightLegMicrovasculature1 = cCardiovascular.CreatePath(RightLeg1, RightLegMicrovasculature1, pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegMicrovasculature1);
RightLeg1ToRightLegMicrovasculature1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegMicrovasculature, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightLegMicrovasculature1ToGround = cCardiovascular.CreatePath(RightLegMicrovasculature1, Ground, pulse::ExpandedCardiovascularPath::RightLegMicrovasculature1ToGround);
+ SEFluidCircuitPath& RightLegMicrovasculature1ToGround = cCardiovascular.CreatePath(RightLegMicrovasculature1, Ground, pulse::ComputationalLifeCardiovascularPath::RightLegMicrovasculature1ToGround);
RightLegMicrovasculature1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& RightLegMicrovasculature1ToRightLeg2 = cCardiovascular.CreatePath(RightLegMicrovasculature1, RightLeg2, pulse::ExpandedCardiovascularPath::RightLegMicrovasculature1ToRightLeg2);
+ SEFluidCircuitPath& RightLegMicrovasculature1ToRightLeg2 = cCardiovascular.CreatePath(RightLegMicrovasculature1, RightLeg2, pulse::ComputationalLifeCardiovascularPath::RightLegMicrovasculature1ToRightLeg2);
RightLegMicrovasculature1ToRightLeg2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegMicrovasculatureVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightLeg1ToRightLegMuscle1 = cCardiovascular.CreatePath(RightLeg1, RightLegMuscle1, pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegMuscle1);
+ SEFluidCircuitPath& RightLeg1ToRightLegMuscle1 = cCardiovascular.CreatePath(RightLeg1, RightLegMuscle1, pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegMuscle1);
RightLeg1ToRightLegMuscle1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegMuscle, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightLegMuscle1ToGround = cCardiovascular.CreatePath(RightLegMuscle1, Ground, pulse::ExpandedCardiovascularPath::RightLegMuscle1ToGround);
+ SEFluidCircuitPath& RightLegMuscle1ToGround = cCardiovascular.CreatePath(RightLegMuscle1, Ground, pulse::ComputationalLifeCardiovascularPath::RightLegMuscle1ToGround);
RightLegMuscle1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& RightLegMuscle1ToRightLeg2 = cCardiovascular.CreatePath(RightLegMuscle1, RightLeg2, pulse::ExpandedCardiovascularPath::RightLegMuscle1ToRightLeg2);
+ SEFluidCircuitPath& RightLegMuscle1ToRightLeg2 = cCardiovascular.CreatePath(RightLegMuscle1, RightLeg2, pulse::ComputationalLifeCardiovascularPath::RightLegMuscle1ToRightLeg2);
RightLegMuscle1ToRightLeg2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegMuscleVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightLeg1ToRightLegSkin1 = cCardiovascular.CreatePath(RightLeg1, RightLegSkin1, pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegSkin1);
+ SEFluidCircuitPath& RightLeg1ToRightLegSkin1 = cCardiovascular.CreatePath(RightLeg1, RightLegSkin1, pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegSkin1);
RightLeg1ToRightLegSkin1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegSkin, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightLegSkin1ToGround = cCardiovascular.CreatePath(RightLegSkin1, Ground, pulse::ExpandedCardiovascularPath::RightLegSkin1ToGround);
+ SEFluidCircuitPath& RightLegSkin1ToGround = cCardiovascular.CreatePath(RightLegSkin1, Ground, pulse::ComputationalLifeCardiovascularPath::RightLegSkin1ToGround);
RightLegSkin1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& RightLegSkin1ToRightLeg2 = cCardiovascular.CreatePath(RightLegSkin1, RightLeg2, pulse::ExpandedCardiovascularPath::RightLegSkin1ToRightLeg2);
+ SEFluidCircuitPath& RightLegSkin1ToRightLeg2 = cCardiovascular.CreatePath(RightLegSkin1, RightLeg2, pulse::ComputationalLifeCardiovascularPath::RightLegSkin1ToRightLeg2);
RightLegSkin1ToRightLeg2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegSkinVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightLeg2ToVenaCava2 = cCardiovascular.CreatePath(RightLeg2, VenaCava2, pulse::ExpandedCardiovascularPath::RightLeg2ToVenaCava2);
+ SEFluidCircuitPath& RightLeg2ToVenaCava2 = cCardiovascular.CreatePath(RightLeg2, VenaCava2, pulse::ComputationalLifeCardiovascularPath::RightLeg2ToVenaCava2);
- SEFluidCircuitPath& Gut1ToSmallIntestine1 = cCardiovascular.CreatePath(Gut1, SmallIntestine1, pulse::ExpandedCardiovascularPath::Gut1ToSmallIntestine1);
+ SEFluidCircuitPath& Gut1ToSmallIntestine1 = cCardiovascular.CreatePath(Gut1, SmallIntestine1, pulse::ComputationalLifeCardiovascularPath::Gut1ToSmallIntestine1);
Gut1ToSmallIntestine1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceSmallIntestine, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& SmallIntestine1ToGround = cCardiovascular.CreatePath(SmallIntestine1, Ground, pulse::ExpandedCardiovascularPath::SmallIntestine1ToGround);
+ SEFluidCircuitPath& SmallIntestine1ToGround = cCardiovascular.CreatePath(SmallIntestine1, Ground, pulse::CardiovascularPath::SmallIntestine1ToGround);
SmallIntestine1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& SmallIntestine1ToPortalVein1 = cCardiovascular.CreatePath(SmallIntestine1, PortalVein1, pulse::ExpandedCardiovascularPath::SmallIntestine1ToPortalVein1);
+ SEFluidCircuitPath& SmallIntestine1ToPortalVein1 = cCardiovascular.CreatePath(SmallIntestine1, PortalVein1, pulse::CardiovascularPath::SmallIntestine1ToPortalVein1);
SmallIntestine1ToPortalVein1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceSmallIntestineVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Gut1ToSplanchnic1 = cCardiovascular.CreatePath(Gut1, Splanchnic1, pulse::ExpandedCardiovascularPath::Gut1ToSplanchnic1);
+ SEFluidCircuitPath& Gut1ToSplanchnic1 = cCardiovascular.CreatePath(Gut1, Splanchnic1, pulse::ComputationalLifeCardiovascularPath::Gut1ToSplanchnic1);
Gut1ToSplanchnic1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceSplanchnic, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Splanchnic1ToGround = cCardiovascular.CreatePath(Splanchnic1, Ground, pulse::ExpandedCardiovascularPath::Splanchnic1ToGround);
+ SEFluidCircuitPath& Splanchnic1ToGround = cCardiovascular.CreatePath(Splanchnic1, Ground, pulse::CardiovascularPath::Splanchnic1ToGround);
Splanchnic1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& Splanchnic1ToPortalVein1 = cCardiovascular.CreatePath(Splanchnic1, PortalVein1, pulse::ExpandedCardiovascularPath::Splanchnic1ToPortalVein1);
+ SEFluidCircuitPath& Splanchnic1ToPortalVein1 = cCardiovascular.CreatePath(Splanchnic1, PortalVein1, pulse::CardiovascularPath::Splanchnic1ToPortalVein1);
Splanchnic1ToPortalVein1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceSplanchnicVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Gut1ToSpleen1 = cCardiovascular.CreatePath(Gut1, Spleen1, pulse::ExpandedCardiovascularPath::Gut1ToSpleen1);
+ SEFluidCircuitPath& Gut1ToSpleen1 = cCardiovascular.CreatePath(Gut1, Spleen1, pulse::ComputationalLifeCardiovascularPath::Gut1ToSpleen1);
Gut1ToSpleen1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceSpleen, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& SpleenToGround = cCardiovascular.CreatePath(Spleen1, Ground, pulse::ExpandedCardiovascularPath::Spleen1ToGround);
+ SEFluidCircuitPath& SpleenToGround = cCardiovascular.CreatePath(Spleen1, Ground, pulse::CardiovascularPath::Spleen1ToGround);
SpleenToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& Spleen1ToPortalVein1 = cCardiovascular.CreatePath(Spleen1, PortalVein1, pulse::ExpandedCardiovascularPath::Spleen1ToPortalVein1);
+ SEFluidCircuitPath& Spleen1ToPortalVein1 = cCardiovascular.CreatePath(Spleen1, PortalVein1, pulse::CardiovascularPath::Spleen1ToPortalVein1);
Spleen1ToPortalVein1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceSpleenVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Aorta5ToTorso1 = cCardiovascular.CreatePath(Aorta5, Torso1, pulse::ExpandedCardiovascularPath::Aorta5ToTorso1);
- SEFluidCircuitPath& Torso1ToTorsoBone1 = cCardiovascular.CreatePath(Torso1, TorsoBone1, pulse::ExpandedCardiovascularPath::Torso1ToTorsoBone1);
+ SEFluidCircuitPath& Aorta5ToTorso1 = cCardiovascular.CreatePath(Aorta5, Torso1, pulse::ComputationalLifeCardiovascularPath::Aorta5ToTorso1);
+ SEFluidCircuitPath& Torso1ToTorsoBone1 = cCardiovascular.CreatePath(Torso1, TorsoBone1, pulse::ComputationalLifeCardiovascularPath::Torso1ToTorsoBone1);
Torso1ToTorsoBone1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceTorsoBone, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& TorsoBone1ToGround = cCardiovascular.CreatePath(TorsoBone1, Ground, pulse::ExpandedCardiovascularPath::TorsoBone1ToGround);
+ SEFluidCircuitPath& TorsoBone1ToGround = cCardiovascular.CreatePath(TorsoBone1, Ground, pulse::ComputationalLifeCardiovascularPath::TorsoBone1ToGround);
TorsoBone1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& TorsoBone1ToTorso2 = cCardiovascular.CreatePath(TorsoBone1, Torso2, pulse::ExpandedCardiovascularPath::TorsoBone1ToTorso2);
+ SEFluidCircuitPath& TorsoBone1ToTorso2 = cCardiovascular.CreatePath(TorsoBone1, Torso2, pulse::ComputationalLifeCardiovascularPath::TorsoBone1ToTorso2);
TorsoBone1ToTorso2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceTorsoBoneVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Torso1ToTorsoFat1 = cCardiovascular.CreatePath(Torso1, TorsoFat1, pulse::ExpandedCardiovascularPath::Torso1ToTorsoFat1);
+ SEFluidCircuitPath& Torso1ToTorsoFat1 = cCardiovascular.CreatePath(Torso1, TorsoFat1, pulse::ComputationalLifeCardiovascularPath::Torso1ToTorsoFat1);
Torso1ToTorsoFat1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceTorsoFat, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& TorsoFat1ToGround = cCardiovascular.CreatePath(TorsoFat1, Ground, pulse::ExpandedCardiovascularPath::TorsoFat1ToGround);
+ SEFluidCircuitPath& TorsoFat1ToGround = cCardiovascular.CreatePath(TorsoFat1, Ground, pulse::ComputationalLifeCardiovascularPath::TorsoFat1ToGround);
TorsoFat1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& TorsoFat1ToTorso2 = cCardiovascular.CreatePath(TorsoFat1, Torso2, pulse::ExpandedCardiovascularPath::TorsoFat1ToTorso2);
+ SEFluidCircuitPath& TorsoFat1ToTorso2 = cCardiovascular.CreatePath(TorsoFat1, Torso2, pulse::ComputationalLifeCardiovascularPath::TorsoFat1ToTorso2);
TorsoFat1ToTorso2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceTorsoFatVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Torso1ToTorsoMicrovasculature1 = cCardiovascular.CreatePath(Torso1, TorsoMicrovasculature1, pulse::ExpandedCardiovascularPath::Torso1ToTorsoMicrovasculature1);
+ SEFluidCircuitPath& Torso1ToTorsoMicrovasculature1 = cCardiovascular.CreatePath(Torso1, TorsoMicrovasculature1, pulse::ComputationalLifeCardiovascularPath::Torso1ToTorsoMicrovasculature1);
Torso1ToTorsoMicrovasculature1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceTorsoMicrovasculature, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& TorsoMicrovasculature1ToGround = cCardiovascular.CreatePath(TorsoMicrovasculature1, Ground, pulse::ExpandedCardiovascularPath::TorsoMicrovasculature1ToGround);
+ SEFluidCircuitPath& TorsoMicrovasculature1ToGround = cCardiovascular.CreatePath(TorsoMicrovasculature1, Ground, pulse::ComputationalLifeCardiovascularPath::TorsoMicrovasculature1ToGround);
TorsoMicrovasculature1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& TorsoMicrovasculature1ToTorso2 = cCardiovascular.CreatePath(TorsoMicrovasculature1, Torso2, pulse::ExpandedCardiovascularPath::TorsoMicrovasculature1ToTorso2);
+ SEFluidCircuitPath& TorsoMicrovasculature1ToTorso2 = cCardiovascular.CreatePath(TorsoMicrovasculature1, Torso2, pulse::ComputationalLifeCardiovascularPath::TorsoMicrovasculature1ToTorso2);
TorsoMicrovasculature1ToTorso2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceTorsoMicrovasculatureVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Torso1ToTorsoMuscle1 = cCardiovascular.CreatePath(Torso1, TorsoMuscle1, pulse::ExpandedCardiovascularPath::Torso1ToTorsoMuscle1);
+ SEFluidCircuitPath& Torso1ToTorsoMuscle1 = cCardiovascular.CreatePath(Torso1, TorsoMuscle1, pulse::ComputationalLifeCardiovascularPath::Torso1ToTorsoMuscle1);
Torso1ToTorsoMuscle1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceTorsoMuscle, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& TorsoMuscle1ToGround = cCardiovascular.CreatePath(TorsoMuscle1, Ground, pulse::ExpandedCardiovascularPath::TorsoMuscle1ToGround);
+ SEFluidCircuitPath& TorsoMuscle1ToGround = cCardiovascular.CreatePath(TorsoMuscle1, Ground, pulse::ComputationalLifeCardiovascularPath::TorsoMuscle1ToGround);
TorsoMuscle1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& TorsoMuscle1ToTorso2 = cCardiovascular.CreatePath(TorsoMuscle1, Torso2, pulse::ExpandedCardiovascularPath::TorsoMuscle1ToTorso2);
+ SEFluidCircuitPath& TorsoMuscle1ToTorso2 = cCardiovascular.CreatePath(TorsoMuscle1, Torso2, pulse::ComputationalLifeCardiovascularPath::TorsoMuscle1ToTorso2);
TorsoMuscle1ToTorso2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceTorsoMuscleVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Torso1ToTorsoSkin1 = cCardiovascular.CreatePath(Torso1, TorsoSkin1, pulse::ExpandedCardiovascularPath::Torso1ToTorsoSkin1);
+ SEFluidCircuitPath& Torso1ToTorsoSkin1 = cCardiovascular.CreatePath(Torso1, TorsoSkin1, pulse::ComputationalLifeCardiovascularPath::Torso1ToTorsoSkin1);
Torso1ToTorsoSkin1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceTorsoSkin, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& TorsoSkin1ToGround = cCardiovascular.CreatePath(TorsoSkin1, Ground, pulse::ExpandedCardiovascularPath::TorsoSkin1ToGround);
+ SEFluidCircuitPath& TorsoSkin1ToGround = cCardiovascular.CreatePath(TorsoSkin1, Ground, pulse::ComputationalLifeCardiovascularPath::TorsoSkin1ToGround);
TorsoSkin1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& TorsoSkin1ToTorso2 = cCardiovascular.CreatePath(TorsoSkin1, Torso2, pulse::ExpandedCardiovascularPath::TorsoSkin1ToTorso2);
+ SEFluidCircuitPath& TorsoSkin1ToTorso2 = cCardiovascular.CreatePath(TorsoSkin1, Torso2, pulse::ComputationalLifeCardiovascularPath::TorsoSkin1ToTorso2);
TorsoSkin1ToTorso2.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceTorsoSkinVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& Torso2ToVenaCava2 = cCardiovascular.CreatePath(Torso2, VenaCava2, pulse::ExpandedCardiovascularPath::Torso2ToVenaCava2);
+ SEFluidCircuitPath& Torso2ToVenaCava2 = cCardiovascular.CreatePath(Torso2, VenaCava2, pulse::ComputationalLifeCardiovascularPath::Torso2ToVenaCava2);
- SEFluidCircuitPath& AbdominalCavityToGround = cCardiovascular.CreatePath(AbdominalCavity, Ground, pulse::ExpandedCardiovascularPath::AbdominalCavity1ToGround);
- SEFluidCircuitPath& GroundToAbdominalCavity = cCardiovascular.CreatePath(Ground, AbdominalCavity, pulse::ExpandedCardiovascularPath::GroundToAbdominalCavity1);
+ SEFluidCircuitPath& AbdominalCavityToGround = cCardiovascular.CreatePath(AbdominalCavity, Ground, pulse::CardiovascularPath::AbdominalCavity1ToGround);
+ SEFluidCircuitPath& GroundToAbdominalCavity = cCardiovascular.CreatePath(Ground, AbdominalCavity, pulse::CardiovascularPath::GroundToAbdominalCavity1);
GroundToAbdominalCavity.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
- SEFluidCircuitPath& GroundToAorta4 = cCardiovascular.CreatePath(Ground, Aorta4, pulse::ExpandedCardiovascularPath::GroundToAorta4);
+ SEFluidCircuitPath& GroundToAorta4 = cCardiovascular.CreatePath(Ground, Aorta4, pulse::CardiovascularPath::GroundToAorta4);
GroundToAorta4.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& VenaCava2ToVenaCava1 = cCardiovascular.CreatePath(VenaCava2, VenaCava1, pulse::ExpandedCardiovascularPath::VenaCava2ToVenaCava1);
+ SEFluidCircuitPath& VenaCava2ToVenaCava1 = cCardiovascular.CreatePath(VenaCava2, VenaCava1, pulse::ComputationalLifeCardiovascularPath::VenaCava2ToVenaCava1);
VenaCava2ToVenaCava1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceVenules, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& VenaCava1ToGround = cCardiovascular.CreatePath(VenaCava1, Ground, pulse::ExpandedCardiovascularPath::VenaCava1ToGround);
+ SEFluidCircuitPath& VenaCava1ToGround = cCardiovascular.CreatePath(VenaCava1, Ground, pulse::CardiovascularPath::VenaCava1ToGround);
VenaCava1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- //SEFluidCircuitPath& VenaCava2ToGround = cCardiovascular.CreatePath(VenaCava2, Ground, pulse::ExpandedCardiovascularPath::VenaCava2ToGround);
+ //SEFluidCircuitPath& VenaCava2ToGround = cCardiovascular.CreatePath(VenaCava2, Ground, pulse::CardiovascularPath::VenaCava2ToGround);
//VenaCava2ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& IVToVenaCava1 = cCardiovascular.CreatePath(Ground, VenaCava1, pulse::ExpandedCardiovascularPath::IVToVenaCava1);
+ SEFluidCircuitPath& IVToVenaCava1 = cCardiovascular.CreatePath(Ground, VenaCava1, pulse::CardiovascularPath::IVToVenaCava1);
IVToVenaCava1.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
@@ -1121,246 +1121,246 @@ namespace pulse
/////////////////
// Right Heart //
- SELiquidCompartment& vRightHeart = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightHeart);
+ SELiquidCompartment& vRightHeart = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightHeart);
vRightHeart.MapNode(RightHeart1);
vRightHeart.MapNode(RightHeart2);
vRightHeart.MapNode(RightHeart3);
vRightHeart.MapNode(MainPulmonaryArteries1);
//////////////////////////////
// Right Pulmonary Arteries //
- SELiquidCompartment& vRightPulmonaryArteries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightPulmonaryArteries);
+ SELiquidCompartment& vRightPulmonaryArteries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightPulmonaryArteries);
vRightPulmonaryArteries.MapNode(RightPulmonaryArteries1);
vRightPulmonaryArteries.MapNode(RightIntermediatePulmonaryArteries1);
/////////////////////////////
// Left Pulmonary Arteries //
- SELiquidCompartment& vLeftPulmonaryArteries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftPulmonaryArteries);
+ SELiquidCompartment& vLeftPulmonaryArteries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftPulmonaryArteries);
vLeftPulmonaryArteries.MapNode(LeftPulmonaryArteries1);
vLeftPulmonaryArteries.MapNode(LeftIntermediatePulmonaryArteries1);
////////////////////////
// Pulmonary Arteries //
- SELiquidCompartment& vPulmonaryArteries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::PulmonaryArteries);
+ SELiquidCompartment& vPulmonaryArteries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::PulmonaryArteries);
vPulmonaryArteries.AddChild(vRightPulmonaryArteries);
vPulmonaryArteries.AddChild(vLeftPulmonaryArteries);
/////////////////////////////////
// Right Pulmonary Capillaries //
- SELiquidCompartment& vRightPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightPulmonaryCapillaries);
+ SELiquidCompartment& vRightPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightPulmonaryCapillaries);
vRightPulmonaryCapillaries.MapNode(RightPulmonaryCapillaries1);
////////////////////////////////
// Left Pulmonary Capillaries //
- SELiquidCompartment& vLeftPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftPulmonaryCapillaries);
+ SELiquidCompartment& vLeftPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftPulmonaryCapillaries);
vLeftPulmonaryCapillaries.MapNode(LeftPulmonaryCapillaries1);
///////////////////////////
// Pulmonary Capillaries //
- SELiquidCompartment& vPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::PulmonaryCapillaries);
+ SELiquidCompartment& vPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::PulmonaryCapillaries);
vPulmonaryCapillaries.AddChild(vRightPulmonaryCapillaries);
vPulmonaryCapillaries.AddChild(vLeftPulmonaryCapillaries);
///////////////////////////
// Right Pulmonary Veins //
- SELiquidCompartment& vRightPulmonaryVeins = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightPulmonaryVeins);
+ SELiquidCompartment& vRightPulmonaryVeins = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightPulmonaryVeins);
vRightPulmonaryVeins.MapNode(RightPulmonaryVeins1);
//////////////////////////
// Left Pulmonary Veins //
- SELiquidCompartment& vLeftPulmonaryVeins = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftPulmonaryVeins);
+ SELiquidCompartment& vLeftPulmonaryVeins = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftPulmonaryVeins);
vLeftPulmonaryVeins.MapNode(LeftPulmonaryVeins1);
/////////////////////
// Pulmonary Veins //
- SELiquidCompartment& vPulmonaryVeins = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::PulmonaryVeins);
+ SELiquidCompartment& vPulmonaryVeins = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::PulmonaryVeins);
vPulmonaryVeins.AddChild(vRightPulmonaryVeins);
vPulmonaryVeins.AddChild(vLeftPulmonaryVeins);
////////////////
// Left Heart //
- SELiquidCompartment& vLeftHeart = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftHeart);
+ SELiquidCompartment& vLeftHeart = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftHeart);
vLeftHeart.MapNode(LeftHeart1);
vLeftHeart.MapNode(LeftHeart2);
vLeftHeart.MapNode(LeftHeart3);
///////////
// Aorta //
- SELiquidCompartment& vAorta = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Aorta);
+ SELiquidCompartment& vAorta = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Aorta);
vAorta.MapNode(Aorta1);
vAorta.MapNode(Aorta2);
vAorta.MapNode(Aorta3);
vAorta.MapNode(Aorta4);
- SELiquidCompartment& vArterialBuffer = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::ArterialBuffer);
+ SELiquidCompartment& vArterialBuffer = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::ArterialBuffer);
vArterialBuffer.MapNode(Aorta5);
///////////
// Abdominal Cavity //
- SELiquidCompartment& vAbdominalCavity = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::AbdominalCavity);
+ SELiquidCompartment& vAbdominalCavity = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::AbdominalCavity);
vAbdominalCavity.MapNode(AbdominalCavity);
// Head //
- SELiquidCompartment& vExtracranial = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Extracranial);
+ SELiquidCompartment& vExtracranial = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::Extracranial);
vExtracranial.MapNode(Extracranial1);
vExtracranial.MapNode(Extracranial2);
vExtracranial.MapNode(Extracranial3);
- SELiquidCompartment& vIntracranial = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Intracranial);
+ SELiquidCompartment& vIntracranial = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::Intracranial);
vIntracranial.MapNode(Intracranial1);
vIntracranial.MapNode(Intracranial2);
vIntracranial.MapNode(Intracranial3);
/////////////////////
// Large Intestine //
- SELiquidCompartment& vLargeIntestine = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LargeIntestine);
+ SELiquidCompartment& vLargeIntestine = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LargeIntestine);
vLargeIntestine.MapNode(LargeIntestine1);
///////////
// Liver //
- SELiquidCompartment& vLiver = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Liver);
+ SELiquidCompartment& vLiver = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Liver);
vLiver.MapNode(Liver1);
vLiver.MapNode(Liver2);
vLiver.MapNode(PortalVein1);
//////////////
// Left Arm //
- SELiquidCompartment& vLeftArmArterioles = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmArterioles);
+ SELiquidCompartment& vLeftArmArterioles = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmArterioles);
vLeftArmArterioles.MapNode(LeftArm1);
- SELiquidCompartment& vLeftArmBone = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmBone);
+ SELiquidCompartment& vLeftArmBone = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmBone);
vLeftArmBone.MapNode(LeftArmBone1);
- SELiquidCompartment& vLeftArmFat = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmFat);
+ SELiquidCompartment& vLeftArmFat = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmFat);
vLeftArmFat.MapNode(LeftArmFat1);
- SELiquidCompartment& vLeftArmMicrovasculature = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmMicrovasculature);
+ SELiquidCompartment& vLeftArmMicrovasculature = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmMicrovasculature);
vLeftArmMicrovasculature.MapNode(LeftArmMicrovasculature1);
- SELiquidCompartment& vLeftArmMuscle = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmMuscle);
+ SELiquidCompartment& vLeftArmMuscle = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmMuscle);
vLeftArmMuscle.MapNode(LeftArmMuscle1);
- SELiquidCompartment& vLeftArmSkin = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmSkin);
+ SELiquidCompartment& vLeftArmSkin = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmSkin);
vLeftArmSkin.MapNode(LeftArmSkin1);
- SELiquidCompartment& vLeftArmVenules = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmVenules);
+ SELiquidCompartment& vLeftArmVenules = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmVenules);
vLeftArmVenules.MapNode(LeftArm2);
/////////////////
// Left Kidney //
- SELiquidCompartment& vLeftKidney = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftKidney);
+ SELiquidCompartment& vLeftKidney = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftKidney);
vLeftKidney.MapNode(LeftKidney1);
vLeftKidney.MapNode(LeftKidney2);
vLeftKidney.MapNode(LeftKidney3);
//////////////
// Left Leg //
- SELiquidCompartment& vLeftLegArterioles = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegArterioles);
+ SELiquidCompartment& vLeftLegArterioles = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegArterioles);
vLeftLegArterioles.MapNode(LeftLeg1);
- SELiquidCompartment& vLeftLegBone = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegBone);
+ SELiquidCompartment& vLeftLegBone = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegBone);
vLeftLegBone.MapNode(LeftLegBone1);
- SELiquidCompartment& vLeftLegFat = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegFat);
+ SELiquidCompartment& vLeftLegFat = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegFat);
vLeftLegFat.MapNode(LeftLegFat1);
- SELiquidCompartment& vLeftLegMicrovasculature = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegMicrovasculature);
+ SELiquidCompartment& vLeftLegMicrovasculature = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegMicrovasculature);
vLeftLegMicrovasculature.MapNode(LeftLegMicrovasculature1);
- SELiquidCompartment& vLeftLegMuscle = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegMuscle);
+ SELiquidCompartment& vLeftLegMuscle = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegMuscle);
vLeftLegMuscle.MapNode(LeftLegMuscle1);
- SELiquidCompartment& vLeftLegSkin = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegSkin);
+ SELiquidCompartment& vLeftLegSkin = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegSkin);
vLeftLegSkin.MapNode(LeftLegSkin1);
- SELiquidCompartment& vLeftLegVenules = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegVenules);
+ SELiquidCompartment& vLeftLegVenules = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegVenules);
vLeftLegVenules.MapNode(LeftLeg2);
////////////////
// Myocardium //
- SELiquidCompartment& vMyocardium = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Myocardium);
+ SELiquidCompartment& vMyocardium = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Myocardium);
vMyocardium.MapNode(Myocardium1);
vMyocardium.MapNode(Myocardium2);
vMyocardium.MapNode(Myocardium3);
/////////////////
// Pericardium //
- SELiquidCompartment& vPericardium = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Pericardium);
+ SELiquidCompartment& vPericardium = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Pericardium);
vPericardium.MapNode(Pericardium);
///////////////
// Right Arm //
- SELiquidCompartment& vRightArmArterioles = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmArterioles);
+ SELiquidCompartment& vRightArmArterioles = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmArterioles);
vRightArmArterioles.MapNode(RightArm1);
- SELiquidCompartment& vRightArmBone = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmBone);
+ SELiquidCompartment& vRightArmBone = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmBone);
vRightArmBone.MapNode(RightArmBone1);
- SELiquidCompartment& vRightArmFat = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmFat);
+ SELiquidCompartment& vRightArmFat = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmFat);
vRightArmFat.MapNode(RightArmFat1);
- SELiquidCompartment& vRightArmMicrovasculature = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmMicrovasculature);
+ SELiquidCompartment& vRightArmMicrovasculature = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmMicrovasculature);
vRightArmMicrovasculature.MapNode(RightArmMicrovasculature1);
- SELiquidCompartment& vRightArmMuscle = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmMuscle);
+ SELiquidCompartment& vRightArmMuscle = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmMuscle);
vRightArmMuscle.MapNode(RightArmMuscle1);
- SELiquidCompartment& vRightArmSkin = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmSkin);
+ SELiquidCompartment& vRightArmSkin = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmSkin);
vRightArmSkin.MapNode(RightArmSkin1);
- SELiquidCompartment& vRightArmVenules = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmVenules);
+ SELiquidCompartment& vRightArmVenules = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmVenules);
vRightArmVenules.MapNode(RightArm2);
//////////////////
// Right Kidney //
- SELiquidCompartment& vRightKidney = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightKidney);
+ SELiquidCompartment& vRightKidney = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightKidney);
vRightKidney.MapNode(RightKidney1);
vRightKidney.MapNode(RightKidney2);
vRightKidney.MapNode(RightKidney3);
///////////////
// Right Leg //
- SELiquidCompartment& vRightLegArterioles = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegArterioles);
+ SELiquidCompartment& vRightLegArterioles = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegArterioles);
vRightLegArterioles.MapNode(RightLeg1);
- SELiquidCompartment& vRightLegBone = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegBone);
+ SELiquidCompartment& vRightLegBone = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegBone);
vRightLegBone.MapNode(RightLegBone1);
- SELiquidCompartment& vRightLegFat = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegFat);
+ SELiquidCompartment& vRightLegFat = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegFat);
vRightLegFat.MapNode(RightLegFat1);
- SELiquidCompartment& vRightLegMicrovasculature = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegMicrovasculature);
+ SELiquidCompartment& vRightLegMicrovasculature = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegMicrovasculature);
vRightLegMicrovasculature.MapNode(RightLegMicrovasculature1);
- SELiquidCompartment& vRightLegMuscle = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegMuscle);
+ SELiquidCompartment& vRightLegMuscle = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegMuscle);
vRightLegMuscle.MapNode(RightLegMuscle1);
- SELiquidCompartment& vRightLegSkin = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegSkin);
+ SELiquidCompartment& vRightLegSkin = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegSkin);
vRightLegSkin.MapNode(RightLegSkin1);
- SELiquidCompartment& vRightLegVenules = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegVenules);
+ SELiquidCompartment& vRightLegVenules = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegVenules);
vRightLegVenules.MapNode(RightLeg2);
/////////////////////
// Gut1 //
- SELiquidCompartment& vGut1 = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Gut1);
+ SELiquidCompartment& vGut1 = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::Gut1);
vGut1.MapNode(Gut1);
/////////////////////
// Small Intestine //
- SELiquidCompartment& vSmallIntestine = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::SmallIntestine);
+ SELiquidCompartment& vSmallIntestine = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::SmallIntestine);
vSmallIntestine.MapNode(SmallIntestine1);
////////////////
// Splanchnic //
- SELiquidCompartment& vSplanchnic = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Splanchnic);
+ SELiquidCompartment& vSplanchnic = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Splanchnic);
vSplanchnic.MapNode(Splanchnic1);
////////////
// Spleen //
- SELiquidCompartment& vSpleen = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Spleen);
+ SELiquidCompartment& vSpleen = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Spleen);
vSpleen.MapNode(Spleen1);
///////////
// Torso //
- SELiquidCompartment& vTorsoArterioles = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoArterioles);
+ SELiquidCompartment& vTorsoArterioles = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoArterioles);
vTorsoArterioles.MapNode(Torso1);
- SELiquidCompartment& vTorsoBone = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoBone);
+ SELiquidCompartment& vTorsoBone = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoBone);
vTorsoBone.MapNode(TorsoBone1);
- SELiquidCompartment& vTorsoFat = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoFat);
+ SELiquidCompartment& vTorsoFat = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoFat);
vTorsoFat.MapNode(TorsoFat1);
- SELiquidCompartment& vTorsoMicrovasculature = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoMicrovasculature);
+ SELiquidCompartment& vTorsoMicrovasculature = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoMicrovasculature);
vTorsoMicrovasculature.MapNode(TorsoMicrovasculature1);
- SELiquidCompartment& vTorsoMuscle = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoMuscle);
+ SELiquidCompartment& vTorsoMuscle = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoMuscle);
vTorsoMuscle.MapNode(TorsoMuscle1);
- SELiquidCompartment& vTorsoSkin = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoSkin);
+ SELiquidCompartment& vTorsoSkin = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoSkin);
vTorsoSkin.MapNode(TorsoSkin1);
- SELiquidCompartment& vTorsoVenules = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoVenules);
+ SELiquidCompartment& vTorsoVenules = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoVenules);
vTorsoVenules.MapNode(Torso2);
//////////////
// VenaCava //
- SELiquidCompartment& vVenaCava = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::VenaCava);
+ SELiquidCompartment& vVenaCava = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::VenaCava);
vVenaCava.MapNode(VenaCava1);
- SELiquidCompartment& vVenousBuffer = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::VenousBuffer);
+ SELiquidCompartment& vVenousBuffer = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::VenousBuffer);
vVenousBuffer.MapNode(VenaCava2);
////////////
// Ground //
- SELiquidCompartment& vGround = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Ground);
+ SELiquidCompartment& vGround = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Ground);
vGround.MapNode(Ground);
//////////////////////////
// Set up our hierarchy //
//////////////////////////
- SELiquidCompartment& vHead = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Head);
+ SELiquidCompartment& vHead = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::Head);
vHead.AddChild(vExtracranial);
vHead.AddChild(vIntracranial);
- SELiquidCompartment& vKidneys = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Kidneys);
+ SELiquidCompartment& vKidneys = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Kidneys);
vKidneys.AddChild(vLeftKidney);
vKidneys.AddChild(vRightKidney);
- SELiquidCompartment& vHeart = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Heart);
+ SELiquidCompartment& vHeart = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Heart);
vHeart.AddChild(vMyocardium);
vHeart.AddChild(vLeftHeart);
vHeart.AddChild(vRightHeart);
vHeart.AddChild(vPericardium);
- SELiquidCompartment& vLeftLung = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLung);
+ SELiquidCompartment& vLeftLung = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftLung);
vLeftLung.AddChild(vLeftPulmonaryArteries);
vLeftLung.AddChild(vLeftPulmonaryCapillaries);
vLeftLung.AddChild(vLeftPulmonaryVeins);
- SELiquidCompartment& vRightLung = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightLung);
+ SELiquidCompartment& vRightLung = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightLung);
vRightLung.AddChild(vRightPulmonaryArteries);
vRightLung.AddChild(vRightPulmonaryCapillaries);
vRightLung.AddChild(vRightPulmonaryVeins);
- SELiquidCompartment& vLungs = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Lungs);
+ SELiquidCompartment& vLungs = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Lungs);
vLungs.AddChild(vLeftLung);
vLungs.AddChild(vRightLung);
- SELiquidCompartment& vLeftArm = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArm);
+ SELiquidCompartment& vLeftArm = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftArm);
vLeftArm.AddChild(vLeftArmArterioles);
vLeftArm.AddChild(vLeftArmBone);
vLeftArm.AddChild(vLeftArmFat);
@@ -1368,7 +1368,7 @@ namespace pulse
vLeftArm.AddChild(vLeftArmMuscle);
vLeftArm.AddChild(vLeftArmSkin);
vLeftArm.AddChild(vLeftArmVenules);
- SELiquidCompartment& vLeftLeg = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLeg);
+ SELiquidCompartment& vLeftLeg = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftLeg);
vLeftLeg.AddChild(vLeftLegArterioles);
vLeftLeg.AddChild(vLeftLegBone);
vLeftLeg.AddChild(vLeftLegFat);
@@ -1376,7 +1376,7 @@ namespace pulse
vLeftLeg.AddChild(vLeftLegMuscle);
vLeftLeg.AddChild(vLeftLegSkin);
vLeftLeg.AddChild(vLeftLegVenules);
- SELiquidCompartment& vRightArm = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightArm);
+ SELiquidCompartment& vRightArm = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightArm);
vRightArm.AddChild(vRightArmArterioles);
vRightArm.AddChild(vRightArmBone);
vRightArm.AddChild(vRightArmFat);
@@ -1384,7 +1384,7 @@ namespace pulse
vRightArm.AddChild(vRightArmMuscle);
vRightArm.AddChild(vRightArmSkin);
vRightArm.AddChild(vRightArmVenules);
- SELiquidCompartment& vRightLeg = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightLeg);
+ SELiquidCompartment& vRightLeg = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightLeg);
vRightLeg.AddChild(vRightLegArterioles);
vRightLeg.AddChild(vRightLegBone);
vRightLeg.AddChild(vRightLegFat);
@@ -1392,7 +1392,7 @@ namespace pulse
vRightLeg.AddChild(vRightLegMuscle);
vRightLeg.AddChild(vRightLegSkin);
vRightLeg.AddChild(vRightLegVenules);
- SELiquidCompartment& vTorso = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Torso);
+ SELiquidCompartment& vTorso = m_Compartments->CreateLiquidCompartment(pulse::ComputationalLifeVascularCompartment::Torso);
vTorso.AddChild(vTorsoArterioles);
vTorso.AddChild(vTorsoBone);
vTorso.AddChild(vTorsoFat);
@@ -1400,12 +1400,12 @@ namespace pulse
vTorso.AddChild(vTorsoMuscle);
vTorso.AddChild(vTorsoSkin);
vTorso.AddChild(vTorsoVenules);
- SELiquidCompartment& vGut = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Gut);
+ SELiquidCompartment& vGut = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Gut);
vGut.AddChild(vSplanchnic);
vGut.AddChild(vSmallIntestine);
vGut.AddChild(vLargeIntestine);
vGut.AddChild(vGut1);
- SELiquidCompartment& vAbdomen = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Abdomen);
+ SELiquidCompartment& vAbdomen = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Abdomen);
vAbdomen.AddChild(vSplanchnic);
vAbdomen.AddChild(vSmallIntestine);
vAbdomen.AddChild(vLargeIntestine);
@@ -1414,25 +1414,25 @@ namespace pulse
vAbdomen.AddChild(vSpleen);
vAbdomen.AddChild(vLiver);
vAbdomen.AddChild(vAbdominalCavity);
- SELiquidCompartment& vBone = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Bone);
+ SELiquidCompartment& vBone = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Bone);
vBone.AddChild(vLeftArmBone);
vBone.AddChild(vLeftLegBone);
vBone.AddChild(vRightArmBone);
vBone.AddChild(vRightLegBone);
vBone.AddChild(vTorsoBone);
- SELiquidCompartment& vFat = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Fat);
+ SELiquidCompartment& vFat = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Fat);
vFat.AddChild(vLeftArmFat);
vFat.AddChild(vLeftLegFat);
vFat.AddChild(vRightArmFat);
vFat.AddChild(vRightLegFat);
vFat.AddChild(vTorsoFat);
- SELiquidCompartment& vMuscle = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Muscle);
+ SELiquidCompartment& vMuscle = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Muscle);
vMuscle.AddChild(vLeftArmMuscle);
vMuscle.AddChild(vLeftLegMuscle);
vMuscle.AddChild(vRightArmMuscle);
vMuscle.AddChild(vRightLegMuscle);
vMuscle.AddChild(vTorsoMuscle);
- SELiquidCompartment& vSkin = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::Skin);
+ SELiquidCompartment& vSkin = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Skin);
vSkin.AddChild(vLeftArmSkin);
vSkin.AddChild(vLeftLegSkin);
vSkin.AddChild(vRightArmSkin);
@@ -1445,74 +1445,74 @@ namespace pulse
/////////////////////
// Heart and Lungs //
- SELiquidCompartmentLink& vVenousBufferToVenaCava = m_Compartments->CreateLiquidLink(vVenousBuffer, vVenaCava, pulse::ExpandedVascularLink::VenousBufferToVenaCava);
+ SELiquidCompartmentLink& vVenousBufferToVenaCava = m_Compartments->CreateLiquidLink(vVenousBuffer, vVenaCava, pulse::ComputationalLifeVascularLink::VenousBufferToVenaCava);
vVenousBufferToVenaCava.MapPath(VenaCava2ToVenaCava1);
- SELiquidCompartmentLink& vVenaCavaToRightHeart = m_Compartments->CreateLiquidLink(vVenaCava, vRightHeart, pulse::ExpandedVascularLink::VenaCavaToRightHeart);
+ SELiquidCompartmentLink& vVenaCavaToRightHeart = m_Compartments->CreateLiquidLink(vVenaCava, vRightHeart, pulse::VascularLink::VenaCavaToRightHeart);
vVenaCavaToRightHeart.MapPath(VenaCava1ToRightHeart2);
- SELiquidCompartmentLink& vRightHeartToLeftPulmonaryArteries = m_Compartments->CreateLiquidLink(vRightHeart, vLeftPulmonaryArteries, pulse::ExpandedVascularLink::RightHeartToLeftPulmonaryArteries);
+ SELiquidCompartmentLink& vRightHeartToLeftPulmonaryArteries = m_Compartments->CreateLiquidLink(vRightHeart, vLeftPulmonaryArteries, pulse::VascularLink::RightHeartToLeftPulmonaryArteries);
vRightHeartToLeftPulmonaryArteries.MapPath(MainPulmonaryArteries1ToLeftIntermediatePulmonaryArteries1);
- SELiquidCompartmentLink& vLeftPulmonaryArteriesToCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryCapillaries, pulse::ExpandedVascularLink::LeftPulmonaryArteriesToCapillaries);
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToCapillaries);
vLeftPulmonaryArteriesToCapillaries.MapPath(LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1);
- SELiquidCompartmentLink& vLeftPulmonaryArteriesToVeins = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedVascularLink::LeftPulmonaryArteriesToVeins);
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToVeins = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftPulmonaryArteriesToVeins);
vLeftPulmonaryArteriesToVeins.MapPath(LeftPulmonaryArteries1ToLeftPulmonaryVeins1);
- SELiquidCompartmentLink& vLeftPulmonaryCapillariesToVeins = m_Compartments->CreateLiquidLink(vLeftPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::ExpandedVascularLink::LeftPulmonaryCapillariesToVeins);
+ SELiquidCompartmentLink& vLeftPulmonaryCapillariesToVeins = m_Compartments->CreateLiquidLink(vLeftPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftPulmonaryCapillariesToVeins);
vLeftPulmonaryCapillariesToVeins.MapPath(LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1);
- SELiquidCompartmentLink& vLeftPulmonaryVeinsToLeftHeart = m_Compartments->CreateLiquidLink(vLeftPulmonaryVeins, vLeftHeart, pulse::ExpandedVascularLink::LeftPulmonaryVeinsToLeftHeart);
+ SELiquidCompartmentLink& vLeftPulmonaryVeinsToLeftHeart = m_Compartments->CreateLiquidLink(vLeftPulmonaryVeins, vLeftHeart, pulse::VascularLink::LeftPulmonaryVeinsToLeftHeart);
vLeftPulmonaryVeinsToLeftHeart.MapPath(LeftIntermediatePulmonaryVeins1ToLeftHeart2);
- SELiquidCompartmentLink& vRightHeartToRightPulmonaryArteries = m_Compartments->CreateLiquidLink(vRightHeart, vRightPulmonaryArteries, pulse::ExpandedVascularLink::RightHeartToRightPulmonaryArteries);
+ SELiquidCompartmentLink& vRightHeartToRightPulmonaryArteries = m_Compartments->CreateLiquidLink(vRightHeart, vRightPulmonaryArteries, pulse::VascularLink::RightHeartToRightPulmonaryArteries);
vRightHeartToRightPulmonaryArteries.MapPath(MainPulmonaryArteries1ToRightIntermediatePulmonaryArteries1);
- SELiquidCompartmentLink& vRightPulmonaryArteriesToCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightPulmonaryCapillaries, pulse::ExpandedVascularLink::RightPulmonaryArteriesToCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToCapillaries);
vRightPulmonaryArteriesToCapillaries.MapPath(RightPulmonaryArteries1ToRightPulmonaryCapillaries1);
- SELiquidCompartmentLink& vRightPulmonaryArteriesToVeins = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightPulmonaryVeins, pulse::ExpandedVascularLink::RightPulmonaryArteriesToVeins);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToVeins = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightPulmonaryVeins, pulse::VascularLink::RightPulmonaryArteriesToVeins);
vRightPulmonaryArteriesToVeins.MapPath(RightPulmonaryArteries1ToRightPulmonaryVeins1);
- SELiquidCompartmentLink& vRightPulmonaryCapillariesToVeins = m_Compartments->CreateLiquidLink(vRightPulmonaryCapillaries, vRightPulmonaryVeins, pulse::ExpandedVascularLink::RightPulmonaryCapillariesToVeins);
+ SELiquidCompartmentLink& vRightPulmonaryCapillariesToVeins = m_Compartments->CreateLiquidLink(vRightPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightPulmonaryCapillariesToVeins);
vRightPulmonaryCapillariesToVeins.MapPath(RightPulmonaryCapillaries1ToRightPulmonaryVeins1);
- SELiquidCompartmentLink& vRightPulmonaryVeinsToLeftHeart = m_Compartments->CreateLiquidLink(vRightPulmonaryVeins, vLeftHeart, pulse::ExpandedVascularLink::RightPulmonaryVeinsToLeftHeart);
+ SELiquidCompartmentLink& vRightPulmonaryVeinsToLeftHeart = m_Compartments->CreateLiquidLink(vRightPulmonaryVeins, vLeftHeart, pulse::VascularLink::RightPulmonaryVeinsToLeftHeart);
vRightPulmonaryVeinsToLeftHeart.MapPath(RightIntermediatePulmonaryVeins1ToLeftHeart2);
- SELiquidCompartmentLink& vLeftHeartToAorta = m_Compartments->CreateLiquidLink(vLeftHeart, vAorta, pulse::ExpandedVascularLink::LeftHeartToAorta);
+ SELiquidCompartmentLink& vLeftHeartToAorta = m_Compartments->CreateLiquidLink(vLeftHeart, vAorta, pulse::VascularLink::LeftHeartToAorta);
vLeftHeartToAorta.MapPath(LeftHeart1ToAorta2);
- SELiquidCompartmentLink& vAortaToArterialBuffer = m_Compartments->CreateLiquidLink(vAorta, vArterialBuffer, pulse::ExpandedVascularLink::AortaToArterialBuffer);
+ SELiquidCompartmentLink& vAortaToArterialBuffer = m_Compartments->CreateLiquidLink(vAorta, vArterialBuffer, pulse::ComputationalLifeVascularLink::AortaToArterialBuffer);
vAortaToArterialBuffer.MapPath(Aorta1ToAorta5);
///////////
// Head //
- SELiquidCompartmentLink& vAortaToExtracranial = m_Compartments->CreateLiquidLink(vArterialBuffer, vExtracranial, pulse::ExpandedVascularLink::AortaToExtracranial);
+ SELiquidCompartmentLink& vAortaToExtracranial = m_Compartments->CreateLiquidLink(vArterialBuffer, vExtracranial, pulse::ComputationalLifeVascularLink::AortaToExtracranial);
vAortaToExtracranial.MapPath(Aorta5ToExtracranial1);
- SELiquidCompartmentLink& vExtracranialToVenaCava = m_Compartments->CreateLiquidLink(vExtracranial, vVenousBuffer, pulse::ExpandedVascularLink::ExtracranialToVenaCava);
+ SELiquidCompartmentLink& vExtracranialToVenaCava = m_Compartments->CreateLiquidLink(vExtracranial, vVenousBuffer, pulse::ComputationalLifeVascularLink::ExtracranialToVenaCava);
vExtracranialToVenaCava.MapPath(Extracranial3ToVenaCava2);
- SELiquidCompartmentLink& vAortaToIntracranial = m_Compartments->CreateLiquidLink(vArterialBuffer, vIntracranial, pulse::ExpandedVascularLink::AortaToIntracranial);
+ SELiquidCompartmentLink& vAortaToIntracranial = m_Compartments->CreateLiquidLink(vArterialBuffer, vIntracranial, pulse::ComputationalLifeVascularLink::AortaToIntracranial);
vAortaToIntracranial.MapPath(Aorta5ToIntracranial1);
- SELiquidCompartmentLink& vIntracranialToVenaCava = m_Compartments->CreateLiquidLink(vIntracranial, vVenousBuffer, pulse::ExpandedVascularLink::IntracranialToVenaCava);
+ SELiquidCompartmentLink& vIntracranialToVenaCava = m_Compartments->CreateLiquidLink(vIntracranial, vVenousBuffer, pulse::ComputationalLifeVascularLink::IntracranialToVenaCava);
vIntracranialToVenaCava.MapPath(Intracranial3ToVenaCava2);
/////////////////////
// Gut //
- SELiquidCompartmentLink& vAortaToGut = m_Compartments->CreateLiquidLink(vArterialBuffer, vGut1, pulse::ExpandedVascularLink::AortaToGut);
+ SELiquidCompartmentLink& vAortaToGut = m_Compartments->CreateLiquidLink(vArterialBuffer, vGut1, pulse::ComputationalLifeVascularLink::AortaToGut);
vAortaToGut.MapPath(Aorta5ToGut1);
/////////////////////
// Large Intestine //
- SELiquidCompartmentLink& vAortaToLargeIntestine = m_Compartments->CreateLiquidLink(vGut1, vLargeIntestine, pulse::ExpandedVascularLink::AortaToLargeIntestine);
+ SELiquidCompartmentLink& vAortaToLargeIntestine = m_Compartments->CreateLiquidLink(vGut1, vLargeIntestine, pulse::VascularLink::AortaToLargeIntestine);
vAortaToLargeIntestine.MapPath(Gut1ToLargeIntestine1);
- SELiquidCompartmentLink& vLargeIntestineToLiver = m_Compartments->CreateLiquidLink(vLargeIntestine, vLiver, pulse::ExpandedVascularLink::LargeIntestineToLiver);
+ SELiquidCompartmentLink& vLargeIntestineToLiver = m_Compartments->CreateLiquidLink(vLargeIntestine, vLiver, pulse::VascularLink::LargeIntestineToLiver);
vLargeIntestineToLiver.MapPath(LargeIntestine1ToPortalVein1);
///////////
// Liver //
- SELiquidCompartmentLink& vAortaToLiver = m_Compartments->CreateLiquidLink(vGut1, vLiver, pulse::ExpandedVascularLink::AortaToLiver);
+ SELiquidCompartmentLink& vAortaToLiver = m_Compartments->CreateLiquidLink(vGut1, vLiver, pulse::VascularLink::AortaToLiver);
vAortaToLiver.MapPath(Gut1ToLiver1);
- SELiquidCompartmentLink& vLiverToVenaCava = m_Compartments->CreateLiquidLink(vLiver, vVenousBuffer, pulse::ExpandedVascularLink::LiverToVenaCava);
+ SELiquidCompartmentLink& vLiverToVenaCava = m_Compartments->CreateLiquidLink(vLiver, vVenousBuffer, pulse::VascularLink::LiverToVenaCava);
vLiverToVenaCava.MapPath(Liver2ToVenaCava2);
//////////////
// Left Arm //
- SELiquidCompartmentLink& vAortaToLeftArmArterioles = m_Compartments->CreateLiquidLink(vArterialBuffer, vLeftArmArterioles, pulse::ExpandedVascularLink::AortaToLeftArmArterioles);
- SELiquidCompartmentLink& vLeftArmArteriolesToLeftArmBone = m_Compartments->CreateLiquidLink(vLeftArmArterioles, vLeftArmBone, pulse::ExpandedVascularLink::LeftArmArteriolesToLeftArmBone);
- SELiquidCompartmentLink& vLeftArmArteriolesToLeftArmFat = m_Compartments->CreateLiquidLink(vLeftArmArterioles, vLeftArmFat, pulse::ExpandedVascularLink::LeftArmArteriolesToLeftArmFat);
- SELiquidCompartmentLink& vLeftArmArteriolesToLeftArmMicrovasculature = m_Compartments->CreateLiquidLink(vLeftArmArterioles, vLeftArmMicrovasculature, pulse::ExpandedVascularLink::LeftArmArteriolesToLeftArmMicrovasculature);
- SELiquidCompartmentLink& vLeftArmArteriolesToLeftArmMuscle = m_Compartments->CreateLiquidLink(vLeftArmArterioles, vLeftArmMuscle, pulse::ExpandedVascularLink::LeftArmArteriolesToLeftArmMuscle);
- SELiquidCompartmentLink& vLeftArmArteriolesToLeftArmSkin = m_Compartments->CreateLiquidLink(vLeftArmArterioles, vLeftArmSkin, pulse::ExpandedVascularLink::LeftArmArteriolesToLeftArmSkin);
- SELiquidCompartmentLink& vLeftArmBoneToLeftArmVenules = m_Compartments->CreateLiquidLink(vLeftArmBone, vLeftArmVenules, pulse::ExpandedVascularLink::LeftArmBoneToLeftArmVenules);
- SELiquidCompartmentLink& vLeftArmFatToLeftArmVenules = m_Compartments->CreateLiquidLink(vLeftArmFat, vLeftArmVenules, pulse::ExpandedVascularLink::LeftArmFatToLeftArmVenules);
- SELiquidCompartmentLink& vLeftArmMicrovasculatureToLeftArmVenules = m_Compartments->CreateLiquidLink(vLeftArmMicrovasculature, vLeftArmVenules, pulse::ExpandedVascularLink::LeftArmMicrovasculatureToLeftArmVenules);
- SELiquidCompartmentLink& vLeftArmMuscleToLeftArmVenules = m_Compartments->CreateLiquidLink(vLeftArmMuscle, vLeftArmVenules, pulse::ExpandedVascularLink::LeftArmMuscleToLeftArmVenules);
- SELiquidCompartmentLink& vLeftArmSkinToLeftArmVenules = m_Compartments->CreateLiquidLink(vLeftArmSkin, vLeftArmVenules, pulse::ExpandedVascularLink::LeftArmSkinToLeftArmVenules);
- SELiquidCompartmentLink& vLeftArmVenulesToVenaCava = m_Compartments->CreateLiquidLink(vLeftArmVenules, vVenousBuffer, pulse::ExpandedVascularLink::LeftArmVenulesToVenaCava);
+ SELiquidCompartmentLink& vAortaToLeftArmArterioles = m_Compartments->CreateLiquidLink(vArterialBuffer, vLeftArmArterioles, pulse::ComputationalLifeVascularLink::AortaToLeftArmArterioles);
+ SELiquidCompartmentLink& vLeftArmArteriolesToLeftArmBone = m_Compartments->CreateLiquidLink(vLeftArmArterioles, vLeftArmBone, pulse::ComputationalLifeVascularLink::LeftArmArteriolesToLeftArmBone);
+ SELiquidCompartmentLink& vLeftArmArteriolesToLeftArmFat = m_Compartments->CreateLiquidLink(vLeftArmArterioles, vLeftArmFat, pulse::ComputationalLifeVascularLink::LeftArmArteriolesToLeftArmFat);
+ SELiquidCompartmentLink& vLeftArmArteriolesToLeftArmMicrovasculature = m_Compartments->CreateLiquidLink(vLeftArmArterioles, vLeftArmMicrovasculature, pulse::ComputationalLifeVascularLink::LeftArmArteriolesToLeftArmMicrovasculature);
+ SELiquidCompartmentLink& vLeftArmArteriolesToLeftArmMuscle = m_Compartments->CreateLiquidLink(vLeftArmArterioles, vLeftArmMuscle, pulse::ComputationalLifeVascularLink::LeftArmArteriolesToLeftArmMuscle);
+ SELiquidCompartmentLink& vLeftArmArteriolesToLeftArmSkin = m_Compartments->CreateLiquidLink(vLeftArmArterioles, vLeftArmSkin, pulse::ComputationalLifeVascularLink::LeftArmArteriolesToLeftArmSkin);
+ SELiquidCompartmentLink& vLeftArmBoneToLeftArmVenules = m_Compartments->CreateLiquidLink(vLeftArmBone, vLeftArmVenules, pulse::ComputationalLifeVascularLink::LeftArmBoneToLeftArmVenules);
+ SELiquidCompartmentLink& vLeftArmFatToLeftArmVenules = m_Compartments->CreateLiquidLink(vLeftArmFat, vLeftArmVenules, pulse::ComputationalLifeVascularLink::LeftArmFatToLeftArmVenules);
+ SELiquidCompartmentLink& vLeftArmMicrovasculatureToLeftArmVenules = m_Compartments->CreateLiquidLink(vLeftArmMicrovasculature, vLeftArmVenules, pulse::ComputationalLifeVascularLink::LeftArmMicrovasculatureToLeftArmVenules);
+ SELiquidCompartmentLink& vLeftArmMuscleToLeftArmVenules = m_Compartments->CreateLiquidLink(vLeftArmMuscle, vLeftArmVenules, pulse::ComputationalLifeVascularLink::LeftArmMuscleToLeftArmVenules);
+ SELiquidCompartmentLink& vLeftArmSkinToLeftArmVenules = m_Compartments->CreateLiquidLink(vLeftArmSkin, vLeftArmVenules, pulse::ComputationalLifeVascularLink::LeftArmSkinToLeftArmVenules);
+ SELiquidCompartmentLink& vLeftArmVenulesToVenaCava = m_Compartments->CreateLiquidLink(vLeftArmVenules, vVenousBuffer, pulse::ComputationalLifeVascularLink::LeftArmVenulesToVenaCava);
vAortaToLeftArmArterioles.MapPath(Aorta5ToLeftArm1);
vLeftArmArteriolesToLeftArmBone.MapPath(LeftArm1ToLeftArmBone1);
vLeftArmArteriolesToLeftArmFat.MapPath(LeftArm1ToLeftArmFat1);
@@ -1528,24 +1528,24 @@ namespace pulse
/////////////////
// Left Kidney //
- SELiquidCompartmentLink& vAortaToLeftKidney = m_Compartments->CreateLiquidLink(vArterialBuffer, vLeftKidney, pulse::ExpandedVascularLink::AortaToLeftKidney);
+ SELiquidCompartmentLink& vAortaToLeftKidney = m_Compartments->CreateLiquidLink(vArterialBuffer, vLeftKidney, pulse::VascularLink::AortaToLeftKidney);
vAortaToLeftKidney.MapPath(Aorta5ToLeftKidney1);
- SELiquidCompartmentLink& vLeftKidneyToVenaCava = m_Compartments->CreateLiquidLink(vLeftKidney, vVenousBuffer, pulse::ExpandedVascularLink::LeftKidneyToVenaCava);
+ SELiquidCompartmentLink& vLeftKidneyToVenaCava = m_Compartments->CreateLiquidLink(vLeftKidney, vVenousBuffer, pulse::VascularLink::LeftKidneyToVenaCava);
vLeftKidneyToVenaCava.MapPath(LeftKidney3ToVenaCava2);
//////////////
// Left Leg //
- SELiquidCompartmentLink& vAortaToLeftLegArterioles = m_Compartments->CreateLiquidLink(vArterialBuffer, vLeftLegArterioles, pulse::ExpandedVascularLink::AortaToLeftLegArterioles);
- SELiquidCompartmentLink& vLeftLegArteriolesToLeftLegBone = m_Compartments->CreateLiquidLink(vLeftLegArterioles, vLeftLegBone, pulse::ExpandedVascularLink::LeftLegArteriolesToLeftLegBone);
- SELiquidCompartmentLink& vLeftLegArteriolesToLeftLegFat = m_Compartments->CreateLiquidLink(vLeftLegArterioles, vLeftLegFat, pulse::ExpandedVascularLink::LeftLegArteriolesToLeftLegFat);
- SELiquidCompartmentLink& vLeftLegArteriolesToLeftLegMicrovasculature = m_Compartments->CreateLiquidLink(vLeftLegArterioles, vLeftLegMicrovasculature, pulse::ExpandedVascularLink::LeftLegArteriolesToLeftLegMicrovasculature);
- SELiquidCompartmentLink& vLeftLegArteriolesToLeftLegMuscle = m_Compartments->CreateLiquidLink(vLeftLegArterioles, vLeftLegMuscle, pulse::ExpandedVascularLink::LeftLegArteriolesToLeftLegMuscle);
- SELiquidCompartmentLink& vLeftLegArteriolesToLeftLegSkin = m_Compartments->CreateLiquidLink(vLeftLegArterioles, vLeftLegSkin, pulse::ExpandedVascularLink::LeftLegArteriolesToLeftLegSkin);
- SELiquidCompartmentLink& vLeftLegBoneToLeftLegVenules = m_Compartments->CreateLiquidLink(vLeftLegBone, vLeftLegVenules, pulse::ExpandedVascularLink::LeftLegBoneToLeftLegVenules);
- SELiquidCompartmentLink& vLeftLegFatToLeftLegVenules = m_Compartments->CreateLiquidLink(vLeftLegFat, vLeftLegVenules, pulse::ExpandedVascularLink::LeftLegFatToLeftLegVenules);
- SELiquidCompartmentLink& vLeftLegMicrovasculatureToLeftLegVenules = m_Compartments->CreateLiquidLink(vLeftLegMicrovasculature, vLeftLegVenules, pulse::ExpandedVascularLink::LeftLegMicrovasculatureToLeftLegVenules);
- SELiquidCompartmentLink& vLeftLegMuscleToLeftLegVenules = m_Compartments->CreateLiquidLink(vLeftLegMuscle, vLeftLegVenules, pulse::ExpandedVascularLink::LeftLegMuscleToLeftLegVenules);
- SELiquidCompartmentLink& vLeftLegSkinToLeftLegVenules = m_Compartments->CreateLiquidLink(vLeftLegSkin, vLeftLegVenules, pulse::ExpandedVascularLink::LeftLegSkinToLeftLegVenules);
- SELiquidCompartmentLink& vLeftLegVenulesToVenaCava = m_Compartments->CreateLiquidLink(vLeftLegVenules, vVenousBuffer, pulse::ExpandedVascularLink::LeftLegVenulesToVenaCava);
+ SELiquidCompartmentLink& vAortaToLeftLegArterioles = m_Compartments->CreateLiquidLink(vArterialBuffer, vLeftLegArterioles, pulse::ComputationalLifeVascularLink::AortaToLeftLegArterioles);
+ SELiquidCompartmentLink& vLeftLegArteriolesToLeftLegBone = m_Compartments->CreateLiquidLink(vLeftLegArterioles, vLeftLegBone, pulse::ComputationalLifeVascularLink::LeftLegArteriolesToLeftLegBone);
+ SELiquidCompartmentLink& vLeftLegArteriolesToLeftLegFat = m_Compartments->CreateLiquidLink(vLeftLegArterioles, vLeftLegFat, pulse::ComputationalLifeVascularLink::LeftLegArteriolesToLeftLegFat);
+ SELiquidCompartmentLink& vLeftLegArteriolesToLeftLegMicrovasculature = m_Compartments->CreateLiquidLink(vLeftLegArterioles, vLeftLegMicrovasculature, pulse::ComputationalLifeVascularLink::LeftLegArteriolesToLeftLegMicrovasculature);
+ SELiquidCompartmentLink& vLeftLegArteriolesToLeftLegMuscle = m_Compartments->CreateLiquidLink(vLeftLegArterioles, vLeftLegMuscle, pulse::ComputationalLifeVascularLink::LeftLegArteriolesToLeftLegMuscle);
+ SELiquidCompartmentLink& vLeftLegArteriolesToLeftLegSkin = m_Compartments->CreateLiquidLink(vLeftLegArterioles, vLeftLegSkin, pulse::ComputationalLifeVascularLink::LeftLegArteriolesToLeftLegSkin);
+ SELiquidCompartmentLink& vLeftLegBoneToLeftLegVenules = m_Compartments->CreateLiquidLink(vLeftLegBone, vLeftLegVenules, pulse::ComputationalLifeVascularLink::LeftLegBoneToLeftLegVenules);
+ SELiquidCompartmentLink& vLeftLegFatToLeftLegVenules = m_Compartments->CreateLiquidLink(vLeftLegFat, vLeftLegVenules, pulse::ComputationalLifeVascularLink::LeftLegFatToLeftLegVenules);
+ SELiquidCompartmentLink& vLeftLegMicrovasculatureToLeftLegVenules = m_Compartments->CreateLiquidLink(vLeftLegMicrovasculature, vLeftLegVenules, pulse::ComputationalLifeVascularLink::LeftLegMicrovasculatureToLeftLegVenules);
+ SELiquidCompartmentLink& vLeftLegMuscleToLeftLegVenules = m_Compartments->CreateLiquidLink(vLeftLegMuscle, vLeftLegVenules, pulse::ComputationalLifeVascularLink::LeftLegMuscleToLeftLegVenules);
+ SELiquidCompartmentLink& vLeftLegSkinToLeftLegVenules = m_Compartments->CreateLiquidLink(vLeftLegSkin, vLeftLegVenules, pulse::ComputationalLifeVascularLink::LeftLegSkinToLeftLegVenules);
+ SELiquidCompartmentLink& vLeftLegVenulesToVenaCava = m_Compartments->CreateLiquidLink(vLeftLegVenules, vVenousBuffer, pulse::ComputationalLifeVascularLink::LeftLegVenulesToVenaCava);
vAortaToLeftLegArterioles.MapPath(Aorta5ToLeftLeg1);
vLeftLegArteriolesToLeftLegBone.MapPath(LeftLeg1ToLeftLegBone1);
vLeftLegArteriolesToLeftLegFat.MapPath(LeftLeg1ToLeftLegFat1);
@@ -1561,24 +1561,24 @@ namespace pulse
////////////////
// Myocardium //
- SELiquidCompartmentLink& vAortaToMyocardium = m_Compartments->CreateLiquidLink(vArterialBuffer, vMyocardium, pulse::ExpandedVascularLink::AortaToMyocardium);
+ SELiquidCompartmentLink& vAortaToMyocardium = m_Compartments->CreateLiquidLink(vArterialBuffer, vMyocardium, pulse::VascularLink::AortaToMyocardium);
vAortaToMyocardium.MapPath(Aorta5ToMyocardium1);
- SELiquidCompartmentLink& vMyocardiumToVenaCava = m_Compartments->CreateLiquidLink(vMyocardium, vVenousBuffer, pulse::ExpandedVascularLink::MyocardiumToVenaCava);
+ SELiquidCompartmentLink& vMyocardiumToVenaCava = m_Compartments->CreateLiquidLink(vMyocardium, vVenousBuffer, pulse::VascularLink::MyocardiumToVenaCava);
vMyocardiumToVenaCava.MapPath(Myocardium3ToVenaCava2);
///////////////
// Right Arm //
- SELiquidCompartmentLink& vAortaToRightArmArterioles = m_Compartments->CreateLiquidLink(vArterialBuffer, vRightArmArterioles, pulse::ExpandedVascularLink::AortaToRightArmArterioles);
- SELiquidCompartmentLink& vRightArmArteriolesToRightArmBone = m_Compartments->CreateLiquidLink(vRightArmArterioles, vRightArmBone, pulse::ExpandedVascularLink::RightArmArteriolesToRightArmBone);
- SELiquidCompartmentLink& vRightArmArteriolesToRightArmFat = m_Compartments->CreateLiquidLink(vRightArmArterioles, vRightArmFat, pulse::ExpandedVascularLink::RightArmArteriolesToRightArmFat);
- SELiquidCompartmentLink& vRightArmArteriolesToRightArmMicrovasculature = m_Compartments->CreateLiquidLink(vRightArmArterioles, vRightArmMicrovasculature, pulse::ExpandedVascularLink::RightArmArteriolesToRightArmMicrovasculature);
- SELiquidCompartmentLink& vRightArmArteriolesToRightArmMuscle = m_Compartments->CreateLiquidLink(vRightArmArterioles, vRightArmMuscle, pulse::ExpandedVascularLink::RightArmArteriolesToRightArmMuscle);
- SELiquidCompartmentLink& vRightArmArteriolesToRightArmSkin = m_Compartments->CreateLiquidLink(vRightArmArterioles, vRightArmSkin, pulse::ExpandedVascularLink::RightArmArteriolesToRightArmSkin);
- SELiquidCompartmentLink& vRightArmBoneToRightArmVenules = m_Compartments->CreateLiquidLink(vRightArmBone, vRightArmVenules, pulse::ExpandedVascularLink::RightArmBoneToRightArmVenules);
- SELiquidCompartmentLink& vRightArmFatToRightArmVenules = m_Compartments->CreateLiquidLink(vRightArmFat, vRightArmVenules, pulse::ExpandedVascularLink::RightArmFatToRightArmVenules);
- SELiquidCompartmentLink& vRightArmMicrovasculatureToRightArmVenules = m_Compartments->CreateLiquidLink(vRightArmMicrovasculature, vRightArmVenules, pulse::ExpandedVascularLink::RightArmMicrovasculatureToRightArmVenules);
- SELiquidCompartmentLink& vRightArmMuscleToRightArmVenules = m_Compartments->CreateLiquidLink(vRightArmMuscle, vRightArmVenules, pulse::ExpandedVascularLink::RightArmMuscleToRightArmVenules);
- SELiquidCompartmentLink& vRightArmSkinToRightArmVenules = m_Compartments->CreateLiquidLink(vRightArmSkin, vRightArmVenules, pulse::ExpandedVascularLink::RightArmSkinToRightArmVenules);
- SELiquidCompartmentLink& vRightArmVenulesToVenaCava = m_Compartments->CreateLiquidLink(vRightArmVenules, vVenousBuffer, pulse::ExpandedVascularLink::RightArmVenulesToVenaCava);
+ SELiquidCompartmentLink& vAortaToRightArmArterioles = m_Compartments->CreateLiquidLink(vArterialBuffer, vRightArmArterioles, pulse::ComputationalLifeVascularLink::AortaToRightArmArterioles);
+ SELiquidCompartmentLink& vRightArmArteriolesToRightArmBone = m_Compartments->CreateLiquidLink(vRightArmArterioles, vRightArmBone, pulse::ComputationalLifeVascularLink::RightArmArteriolesToRightArmBone);
+ SELiquidCompartmentLink& vRightArmArteriolesToRightArmFat = m_Compartments->CreateLiquidLink(vRightArmArterioles, vRightArmFat, pulse::ComputationalLifeVascularLink::RightArmArteriolesToRightArmFat);
+ SELiquidCompartmentLink& vRightArmArteriolesToRightArmMicrovasculature = m_Compartments->CreateLiquidLink(vRightArmArterioles, vRightArmMicrovasculature, pulse::ComputationalLifeVascularLink::RightArmArteriolesToRightArmMicrovasculature);
+ SELiquidCompartmentLink& vRightArmArteriolesToRightArmMuscle = m_Compartments->CreateLiquidLink(vRightArmArterioles, vRightArmMuscle, pulse::ComputationalLifeVascularLink::RightArmArteriolesToRightArmMuscle);
+ SELiquidCompartmentLink& vRightArmArteriolesToRightArmSkin = m_Compartments->CreateLiquidLink(vRightArmArterioles, vRightArmSkin, pulse::ComputationalLifeVascularLink::RightArmArteriolesToRightArmSkin);
+ SELiquidCompartmentLink& vRightArmBoneToRightArmVenules = m_Compartments->CreateLiquidLink(vRightArmBone, vRightArmVenules, pulse::ComputationalLifeVascularLink::RightArmBoneToRightArmVenules);
+ SELiquidCompartmentLink& vRightArmFatToRightArmVenules = m_Compartments->CreateLiquidLink(vRightArmFat, vRightArmVenules, pulse::ComputationalLifeVascularLink::RightArmFatToRightArmVenules);
+ SELiquidCompartmentLink& vRightArmMicrovasculatureToRightArmVenules = m_Compartments->CreateLiquidLink(vRightArmMicrovasculature, vRightArmVenules, pulse::ComputationalLifeVascularLink::RightArmMicrovasculatureToRightArmVenules);
+ SELiquidCompartmentLink& vRightArmMuscleToRightArmVenules = m_Compartments->CreateLiquidLink(vRightArmMuscle, vRightArmVenules, pulse::ComputationalLifeVascularLink::RightArmMuscleToRightArmVenules);
+ SELiquidCompartmentLink& vRightArmSkinToRightArmVenules = m_Compartments->CreateLiquidLink(vRightArmSkin, vRightArmVenules, pulse::ComputationalLifeVascularLink::RightArmSkinToRightArmVenules);
+ SELiquidCompartmentLink& vRightArmVenulesToVenaCava = m_Compartments->CreateLiquidLink(vRightArmVenules, vVenousBuffer, pulse::ComputationalLifeVascularLink::RightArmVenulesToVenaCava);
vAortaToRightArmArterioles.MapPath(Aorta5ToRightArm1);
vRightArmArteriolesToRightArmBone.MapPath(RightArm1ToRightArmBone1);
vRightArmArteriolesToRightArmFat.MapPath(RightArm1ToRightArmFat1);
@@ -1594,24 +1594,24 @@ namespace pulse
//////////////////
// Right Kidney //
- SELiquidCompartmentLink& vAortaToRightKidney = m_Compartments->CreateLiquidLink(vArterialBuffer, vRightKidney, pulse::ExpandedVascularLink::AortaToRightKidney);
+ SELiquidCompartmentLink& vAortaToRightKidney = m_Compartments->CreateLiquidLink(vArterialBuffer, vRightKidney, pulse::VascularLink::AortaToRightKidney);
vAortaToRightKidney.MapPath(Aorta5ToRightKidney1);
- SELiquidCompartmentLink& vRightKidneyToVenaCava = m_Compartments->CreateLiquidLink(vRightKidney, vVenousBuffer, pulse::ExpandedVascularLink::RightKidneyToVenaCava);
+ SELiquidCompartmentLink& vRightKidneyToVenaCava = m_Compartments->CreateLiquidLink(vRightKidney, vVenousBuffer, pulse::VascularLink::RightKidneyToVenaCava);
vRightKidneyToVenaCava.MapPath(RightKidney3ToVenaCava2);
///////////////
// Right Leg //
- SELiquidCompartmentLink& vAortaToRightLegArterioles = m_Compartments->CreateLiquidLink(vArterialBuffer, vRightLegArterioles, pulse::ExpandedVascularLink::AortaToRightLegArterioles);
- SELiquidCompartmentLink& vRightLegArteriolesToRightLegBone = m_Compartments->CreateLiquidLink(vRightLegArterioles, vRightLegBone, pulse::ExpandedVascularLink::RightLegArteriolesToRightLegBone);
- SELiquidCompartmentLink& vRightLegArteriolesToRightLegFat = m_Compartments->CreateLiquidLink(vRightLegArterioles, vRightLegFat, pulse::ExpandedVascularLink::RightLegArteriolesToRightLegFat);
- SELiquidCompartmentLink& vRightLegArteriolesToRightLegMicrovasculature = m_Compartments->CreateLiquidLink(vRightLegArterioles, vRightLegMicrovasculature, pulse::ExpandedVascularLink::RightLegArteriolesToRightLegMicrovasculature);
- SELiquidCompartmentLink& vRightLegArteriolesToRightLegMuscle = m_Compartments->CreateLiquidLink(vRightLegArterioles, vRightLegMuscle, pulse::ExpandedVascularLink::RightLegArteriolesToRightLegMuscle);
- SELiquidCompartmentLink& vRightLegArteriolesToRightLegSkin = m_Compartments->CreateLiquidLink(vRightLegArterioles, vRightLegSkin, pulse::ExpandedVascularLink::RightLegArteriolesToRightLegSkin);
- SELiquidCompartmentLink& vRightLegBoneToRightLegVenules = m_Compartments->CreateLiquidLink(vRightLegBone, vRightLegVenules, pulse::ExpandedVascularLink::RightLegBoneToRightLegVenules);
- SELiquidCompartmentLink& vRightLegFatToRightLegVenules = m_Compartments->CreateLiquidLink(vRightLegFat, vRightLegVenules, pulse::ExpandedVascularLink::RightLegFatToRightLegVenules);
- SELiquidCompartmentLink& vRightLegMicrovasculatureToRightLegVenules = m_Compartments->CreateLiquidLink(vRightLegMicrovasculature, vRightLegVenules, pulse::ExpandedVascularLink::RightLegMicrovasculatureToRightLegVenules);
- SELiquidCompartmentLink& vRightLegMuscleToRightLegVenules = m_Compartments->CreateLiquidLink(vRightLegMuscle, vRightLegVenules, pulse::ExpandedVascularLink::RightLegMuscleToRightLegVenules);
- SELiquidCompartmentLink& vRightLegSkinToRightLegVenules = m_Compartments->CreateLiquidLink(vRightLegSkin, vRightLegVenules, pulse::ExpandedVascularLink::RightLegSkinToRightLegVenules);
- SELiquidCompartmentLink& vRightLegVenulesToVenaCava = m_Compartments->CreateLiquidLink(vRightLegVenules, vVenousBuffer, pulse::ExpandedVascularLink::RightLegVenulesToVenaCava);
+ SELiquidCompartmentLink& vAortaToRightLegArterioles = m_Compartments->CreateLiquidLink(vArterialBuffer, vRightLegArterioles, pulse::ComputationalLifeVascularLink::AortaToRightLegArterioles);
+ SELiquidCompartmentLink& vRightLegArteriolesToRightLegBone = m_Compartments->CreateLiquidLink(vRightLegArterioles, vRightLegBone, pulse::ComputationalLifeVascularLink::RightLegArteriolesToRightLegBone);
+ SELiquidCompartmentLink& vRightLegArteriolesToRightLegFat = m_Compartments->CreateLiquidLink(vRightLegArterioles, vRightLegFat, pulse::ComputationalLifeVascularLink::RightLegArteriolesToRightLegFat);
+ SELiquidCompartmentLink& vRightLegArteriolesToRightLegMicrovasculature = m_Compartments->CreateLiquidLink(vRightLegArterioles, vRightLegMicrovasculature, pulse::ComputationalLifeVascularLink::RightLegArteriolesToRightLegMicrovasculature);
+ SELiquidCompartmentLink& vRightLegArteriolesToRightLegMuscle = m_Compartments->CreateLiquidLink(vRightLegArterioles, vRightLegMuscle, pulse::ComputationalLifeVascularLink::RightLegArteriolesToRightLegMuscle);
+ SELiquidCompartmentLink& vRightLegArteriolesToRightLegSkin = m_Compartments->CreateLiquidLink(vRightLegArterioles, vRightLegSkin, pulse::ComputationalLifeVascularLink::RightLegArteriolesToRightLegSkin);
+ SELiquidCompartmentLink& vRightLegBoneToRightLegVenules = m_Compartments->CreateLiquidLink(vRightLegBone, vRightLegVenules, pulse::ComputationalLifeVascularLink::RightLegBoneToRightLegVenules);
+ SELiquidCompartmentLink& vRightLegFatToRightLegVenules = m_Compartments->CreateLiquidLink(vRightLegFat, vRightLegVenules, pulse::ComputationalLifeVascularLink::RightLegFatToRightLegVenules);
+ SELiquidCompartmentLink& vRightLegMicrovasculatureToRightLegVenules = m_Compartments->CreateLiquidLink(vRightLegMicrovasculature, vRightLegVenules, pulse::ComputationalLifeVascularLink::RightLegMicrovasculatureToRightLegVenules);
+ SELiquidCompartmentLink& vRightLegMuscleToRightLegVenules = m_Compartments->CreateLiquidLink(vRightLegMuscle, vRightLegVenules, pulse::ComputationalLifeVascularLink::RightLegMuscleToRightLegVenules);
+ SELiquidCompartmentLink& vRightLegSkinToRightLegVenules = m_Compartments->CreateLiquidLink(vRightLegSkin, vRightLegVenules, pulse::ComputationalLifeVascularLink::RightLegSkinToRightLegVenules);
+ SELiquidCompartmentLink& vRightLegVenulesToVenaCava = m_Compartments->CreateLiquidLink(vRightLegVenules, vVenousBuffer, pulse::ComputationalLifeVascularLink::RightLegVenulesToVenaCava);
vAortaToRightLegArterioles.MapPath(Aorta5ToRightLeg1);
vRightLegArteriolesToRightLegBone.MapPath(RightLeg1ToRightLegBone1);
vRightLegArteriolesToRightLegFat.MapPath(RightLeg1ToRightLegFat1);
@@ -1627,36 +1627,36 @@ namespace pulse
/////////////////////
// Small Intestine //
- SELiquidCompartmentLink& vAortaToSmallIntestine = m_Compartments->CreateLiquidLink(vGut1, vSmallIntestine, pulse::ExpandedVascularLink::AortaToSmallIntestine);
+ SELiquidCompartmentLink& vAortaToSmallIntestine = m_Compartments->CreateLiquidLink(vGut1, vSmallIntestine, pulse::VascularLink::AortaToSmallIntestine);
vAortaToSmallIntestine.MapPath(Gut1ToSmallIntestine1);
- SELiquidCompartmentLink& vSmallIntestineToLiver = m_Compartments->CreateLiquidLink(vSmallIntestine, vLiver, pulse::ExpandedVascularLink::SmallIntestineToLiver);
+ SELiquidCompartmentLink& vSmallIntestineToLiver = m_Compartments->CreateLiquidLink(vSmallIntestine, vLiver, pulse::VascularLink::SmallIntestineToLiver);
vSmallIntestineToLiver.MapPath(SmallIntestine1ToPortalVein1);
////////////////
// Splanchnic //
- SELiquidCompartmentLink& vAortaToSplanchnic = m_Compartments->CreateLiquidLink(vGut1, vSplanchnic, pulse::ExpandedVascularLink::AortaToSplanchnic);
+ SELiquidCompartmentLink& vAortaToSplanchnic = m_Compartments->CreateLiquidLink(vGut1, vSplanchnic, pulse::VascularLink::AortaToSplanchnic);
vAortaToSplanchnic.MapPath(Gut1ToSplanchnic1);
- SELiquidCompartmentLink& vSplanchnicToLiver = m_Compartments->CreateLiquidLink(vSplanchnic, vLiver, pulse::ExpandedVascularLink::SplanchnicToLiver);
+ SELiquidCompartmentLink& vSplanchnicToLiver = m_Compartments->CreateLiquidLink(vSplanchnic, vLiver, pulse::VascularLink::SplanchnicToLiver);
vSplanchnicToLiver.MapPath(Splanchnic1ToPortalVein1);
////////////
// Spleen //
- SELiquidCompartmentLink& vAortaToSpleen = m_Compartments->CreateLiquidLink(vGut1, vSpleen, pulse::ExpandedVascularLink::AortaToSpleen);
+ SELiquidCompartmentLink& vAortaToSpleen = m_Compartments->CreateLiquidLink(vGut1, vSpleen, pulse::VascularLink::AortaToSpleen);
vAortaToSpleen.MapPath(Gut1ToSpleen1);
- SELiquidCompartmentLink& vSpleenToLiver = m_Compartments->CreateLiquidLink(vSpleen, vLiver, pulse::ExpandedVascularLink::SpleenToLiver);
+ SELiquidCompartmentLink& vSpleenToLiver = m_Compartments->CreateLiquidLink(vSpleen, vLiver, pulse::VascularLink::SpleenToLiver);
vSpleenToLiver.MapPath(Spleen1ToPortalVein1);
///////////
// Torso //
- SELiquidCompartmentLink& vAortaToTorsoArterioles = m_Compartments->CreateLiquidLink(vArterialBuffer, vTorsoArterioles, pulse::ExpandedVascularLink::AortaToTorsoArterioles);
- SELiquidCompartmentLink& vTorsoArteriolesToTorsoBone = m_Compartments->CreateLiquidLink(vTorsoArterioles, vTorsoBone, pulse::ExpandedVascularLink::TorsoArteriolesToTorsoBone);
- SELiquidCompartmentLink& vTorsoArteriolesToTorsoFat = m_Compartments->CreateLiquidLink(vTorsoArterioles, vTorsoFat, pulse::ExpandedVascularLink::TorsoArteriolesToTorsoFat);
- SELiquidCompartmentLink& vTorsoArteriolesToTorsoMicrovasculature = m_Compartments->CreateLiquidLink(vTorsoArterioles, vTorsoMicrovasculature, pulse::ExpandedVascularLink::TorsoArteriolesToTorsoMicrovasculature);
- SELiquidCompartmentLink& vTorsoArteriolesToTorsoMuscle = m_Compartments->CreateLiquidLink(vTorsoArterioles, vTorsoMuscle, pulse::ExpandedVascularLink::TorsoArteriolesToTorsoMuscle);
- SELiquidCompartmentLink& vTorsoArteriolesToTorsoSkin = m_Compartments->CreateLiquidLink(vTorsoArterioles, vTorsoSkin, pulse::ExpandedVascularLink::TorsoArteriolesToTorsoSkin);
- SELiquidCompartmentLink& vTorsoSkinToTorsoVenules = m_Compartments->CreateLiquidLink(vTorsoSkin, vTorsoVenules, pulse::ExpandedVascularLink::TorsoSkinToTorsoVenules);
- SELiquidCompartmentLink& vTorsoMuscleToTorsoVenules = m_Compartments->CreateLiquidLink(vTorsoMuscle, vTorsoVenules, pulse::ExpandedVascularLink::TorsoMuscleToTorsoVenules);
- SELiquidCompartmentLink& vTorsoMicrovasculatureToTorsoVenules = m_Compartments->CreateLiquidLink(vTorsoMicrovasculature, vTorsoVenules, pulse::ExpandedVascularLink::TorsoMicrovasculatureToTorsoVenules);
- SELiquidCompartmentLink& vTorsoFatToTorsoVenules = m_Compartments->CreateLiquidLink(vTorsoFat, vTorsoVenules, pulse::ExpandedVascularLink::TorsoFatToTorsoVenules);
- SELiquidCompartmentLink& vTorsoBoneToTorsoVenules = m_Compartments->CreateLiquidLink(vTorsoBone, vTorsoVenules, pulse::ExpandedVascularLink::TorsoBoneToTorsoVenules);
- SELiquidCompartmentLink& vTorsoVenulesToVenaCava = m_Compartments->CreateLiquidLink(vTorsoVenules, vVenousBuffer, pulse::ExpandedVascularLink::TorsoVenulesToVenaCava);
+ SELiquidCompartmentLink& vAortaToTorsoArterioles = m_Compartments->CreateLiquidLink(vArterialBuffer, vTorsoArterioles, pulse::ComputationalLifeVascularLink::AortaToTorsoArterioles);
+ SELiquidCompartmentLink& vTorsoArteriolesToTorsoBone = m_Compartments->CreateLiquidLink(vTorsoArterioles, vTorsoBone, pulse::ComputationalLifeVascularLink::TorsoArteriolesToTorsoBone);
+ SELiquidCompartmentLink& vTorsoArteriolesToTorsoFat = m_Compartments->CreateLiquidLink(vTorsoArterioles, vTorsoFat, pulse::ComputationalLifeVascularLink::TorsoArteriolesToTorsoFat);
+ SELiquidCompartmentLink& vTorsoArteriolesToTorsoMicrovasculature = m_Compartments->CreateLiquidLink(vTorsoArterioles, vTorsoMicrovasculature, pulse::ComputationalLifeVascularLink::TorsoArteriolesToTorsoMicrovasculature);
+ SELiquidCompartmentLink& vTorsoArteriolesToTorsoMuscle = m_Compartments->CreateLiquidLink(vTorsoArterioles, vTorsoMuscle, pulse::ComputationalLifeVascularLink::TorsoArteriolesToTorsoMuscle);
+ SELiquidCompartmentLink& vTorsoArteriolesToTorsoSkin = m_Compartments->CreateLiquidLink(vTorsoArterioles, vTorsoSkin, pulse::ComputationalLifeVascularLink::TorsoArteriolesToTorsoSkin);
+ SELiquidCompartmentLink& vTorsoSkinToTorsoVenules = m_Compartments->CreateLiquidLink(vTorsoSkin, vTorsoVenules, pulse::ComputationalLifeVascularLink::TorsoSkinToTorsoVenules);
+ SELiquidCompartmentLink& vTorsoMuscleToTorsoVenules = m_Compartments->CreateLiquidLink(vTorsoMuscle, vTorsoVenules, pulse::ComputationalLifeVascularLink::TorsoMuscleToTorsoVenules);
+ SELiquidCompartmentLink& vTorsoMicrovasculatureToTorsoVenules = m_Compartments->CreateLiquidLink(vTorsoMicrovasculature, vTorsoVenules, pulse::ComputationalLifeVascularLink::TorsoMicrovasculatureToTorsoVenules);
+ SELiquidCompartmentLink& vTorsoFatToTorsoVenules = m_Compartments->CreateLiquidLink(vTorsoFat, vTorsoVenules, pulse::ComputationalLifeVascularLink::TorsoFatToTorsoVenules);
+ SELiquidCompartmentLink& vTorsoBoneToTorsoVenules = m_Compartments->CreateLiquidLink(vTorsoBone, vTorsoVenules, pulse::ComputationalLifeVascularLink::TorsoBoneToTorsoVenules);
+ SELiquidCompartmentLink& vTorsoVenulesToVenaCava = m_Compartments->CreateLiquidLink(vTorsoVenules, vVenousBuffer, pulse::ComputationalLifeVascularLink::TorsoVenulesToVenaCava);
vAortaToTorsoArterioles.MapPath(Aorta5ToTorso1);
vTorsoArteriolesToTorsoBone.MapPath(Torso1ToTorsoBone1);
vTorsoArteriolesToTorsoFat.MapPath(Torso1ToTorsoFat1);
@@ -1672,7 +1672,7 @@ namespace pulse
/////////////////////
// Bleeds and IV's //
- SELiquidCompartmentLink& vVenaCavaIV = m_Compartments->CreateLiquidLink(vGround, vVenaCava, pulse::ExpandedVascularLink::VenaCavaIV);
+ SELiquidCompartmentLink& vVenaCavaIV = m_Compartments->CreateLiquidLink(vGround, vVenaCava, pulse::VascularLink::VenaCavaIV);
vVenaCavaIV.MapPath(IVToVenaCava1);
SELiquidCompartmentGraph& gCardiovascular = m_Compartments->GetCardiovascularGraph();
@@ -1849,9 +1849,9 @@ namespace pulse
gCombinedCardiovascular.StateChange();
}
- void Controller::SetupExpandedCardiovascularRenal()
+ void Controller::SetupComputationalLifeRenal()
{
- Info("Setting Up Expanded Cardiovascular Renal");
+ Info("Setting Up ComputationalLife Renal");
//////////////////////////
// Circuit Interdependence
SEFluidCircuit& cCardiovascular = m_Circuits->GetCardiovascularCircuit();
@@ -1860,9 +1860,9 @@ namespace pulse
//assuming there is a left and right kidney node in cardiovascular AND that a baseline volume is set (as a function of patient mass):
double leftKidneyFluidVolume_mL = 0;
- if (cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftKidney1)->HasVolumeBaseline()) { leftKidneyFluidVolume_mL +=cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftKidney1)->GetVolumeBaseline(VolumeUnit::mL);}
- if (cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftKidney2)->HasVolumeBaseline()) { leftKidneyFluidVolume_mL +=cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftKidney2)->GetVolumeBaseline(VolumeUnit::mL);}
- if (cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftKidney3)->HasVolumeBaseline()) { leftKidneyFluidVolume_mL +=cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftKidney3)->GetVolumeBaseline(VolumeUnit::mL);}
+ if (cCardiovascular.GetNode(pulse::CardiovascularNode::LeftKidney1)->HasVolumeBaseline()) { leftKidneyFluidVolume_mL +=cCardiovascular.GetNode(pulse::CardiovascularNode::LeftKidney1)->GetVolumeBaseline(VolumeUnit::mL);}
+ if (cCardiovascular.GetNode(pulse::CardiovascularNode::LeftKidney2)->HasVolumeBaseline()) { leftKidneyFluidVolume_mL +=cCardiovascular.GetNode(pulse::CardiovascularNode::LeftKidney2)->GetVolumeBaseline(VolumeUnit::mL);}
+ if (cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::LeftKidney3)->HasVolumeBaseline()) { leftKidneyFluidVolume_mL +=cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::LeftKidney3)->GetVolumeBaseline(VolumeUnit::mL);}
double singleKidneyLargeVasculatureFluidVolume_mL = leftKidneyFluidVolume_mL / 1.5;// / 2; //Total large vasculature fluid volume
double singleKidneySmallVasculatureFluidVolume_mL = leftKidneyFluidVolume_mL / 1.5;// / 2; //Total small vasculature fluid volume
@@ -1893,9 +1893,9 @@ namespace pulse
//0.5 * CapacitanceKidney is the per-kidney value from 3 element Windkessel
//double totalCompliance = (0.5 * (0.91 * 1.7560) * 0.02);
double totalCompliance = 0;
- if (cCardiovascular.HasPath(pulse::ExpandedCardiovascularPath::LeftKidney1ToGround)) { totalCompliance +=cCardiovascular.GetPath(pulse::ExpandedCardiovascularPath::LeftKidney1ToGround)->GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg);}
- if (cCardiovascular.HasPath(pulse::ExpandedCardiovascularPath::LeftKidney2ToGround)) { totalCompliance +=cCardiovascular.GetPath(pulse::ExpandedCardiovascularPath::LeftKidney2ToGround)->GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg);}
- if (cCardiovascular.HasPath(pulse::ExpandedCardiovascularPath::LeftKidney3ToGround)) { totalCompliance +=cCardiovascular.GetPath(pulse::ExpandedCardiovascularPath::LeftKidney3ToGround)->GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg);}
+ if (cCardiovascular.HasPath(pulse::CardiovascularPath::LeftKidney1ToGround)) { totalCompliance +=cCardiovascular.GetPath(pulse::CardiovascularPath::LeftKidney1ToGround)->GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg);}
+ if (cCardiovascular.HasPath(pulse::ComputationalLifeCardiovascularPath::LeftKidney2ToGround)) { totalCompliance +=cCardiovascular.GetPath(pulse::ComputationalLifeCardiovascularPath::LeftKidney2ToGround)->GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg);}
+ if (cCardiovascular.HasPath(pulse::ComputationalLifeCardiovascularPath::LeftKidney3ToGround)) { totalCompliance +=cCardiovascular.GetPath(pulse::ComputationalLifeCardiovascularPath::LeftKidney3ToGround)->GetComplianceBaseline(VolumePerPressureUnit::mL_Per_mmHg);}
///\todo The bladder is currently not being modeled as a compliance
//double bladderCompliance_mL_Per_mmHg = Convert(38.3, VolumePerPressureUnit::mL_Per_cmH2O, VolumePerPressureUnit::mL_Per_mmHg);
@@ -1919,11 +1919,11 @@ namespace pulse
//Unstressed Pressures - set to zero to use unstressed properly
// double renalArteryPressure_mmHg = 0.0;
// double renalVeinPressure_mmHg = 0.0;
- // double glomerularPressure_mmHg = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftKidney1)->GetPressure(PressureUnit::mmHg);
+ // double glomerularPressure_mmHg = cCardiovascular.GetNode(pulse::CardiovascularNode::LeftKidney1)->GetPressure(PressureUnit::mmHg);
- double renalArteryPressure_mmHg = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftKidney1)->GetPressure(PressureUnit::mmHg);
+ double renalArteryPressure_mmHg = cCardiovascular.GetNode(pulse::CardiovascularNode::LeftKidney1)->GetPressure(PressureUnit::mmHg);
double glomerularPressure_mmHg = 60;
- double renalVeinPressure_mmHg = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftKidney3)->GetPressure(PressureUnit::mmHg);
+ double renalVeinPressure_mmHg = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::LeftKidney3)->GetPressure(PressureUnit::mmHg);
//double bladderPressure_mmHg = bladderVolume_mL / bladderCompliance_mL_Per_mmHg;
//Pressure Sources
double glomerularOsmoticPressure_mmHg = -32.0;
@@ -2238,35 +2238,35 @@ namespace pulse
// Delete the three-element Windkessel kidney model
SEFluidCircuit& cCombinedCardiovascular = m_Circuits->GetActiveCardiovascularCircuit();
- m_Circuits->DeleteFluidNode(pulse::ExpandedCardiovascularNode::LeftKidney1);
- m_Circuits->DeleteFluidNode(pulse::ExpandedCardiovascularNode::LeftKidney2);
- m_Circuits->DeleteFluidNode(pulse::ExpandedCardiovascularNode::LeftKidney3);
- m_Circuits->DeleteFluidNode(pulse::ExpandedCardiovascularNode::RightKidney1);
- m_Circuits->DeleteFluidNode(pulse::ExpandedCardiovascularNode::RightKidney3);
- m_Circuits->DeleteFluidNode(pulse::ExpandedCardiovascularNode::RightKidney2);
- m_Circuits->DeleteFluidPath(pulse::ExpandedCardiovascularPath::Aorta5ToLeftKidney1);
- m_Circuits->DeleteFluidPath(pulse::ExpandedCardiovascularPath::Aorta5ToRightKidney1);
- m_Circuits->DeleteFluidPath(pulse::ExpandedCardiovascularPath::LeftKidney1ToLeftKidney2);
- m_Circuits->DeleteFluidPath(pulse::ExpandedCardiovascularPath::RightKidney1ToRightKidney2);
- m_Circuits->DeleteFluidPath(pulse::ExpandedCardiovascularPath::LeftKidney2ToGround);
- m_Circuits->DeleteFluidPath(pulse::ExpandedCardiovascularPath::RightKidney2ToGround);
- m_Circuits->DeleteFluidPath(pulse::ExpandedCardiovascularPath::LeftKidney2ToLeftKidney3);
- m_Circuits->DeleteFluidPath(pulse::ExpandedCardiovascularPath::RightKidney2ToRightKidney3);
- m_Circuits->DeleteFluidPath(pulse::ExpandedCardiovascularPath::LeftKidney3ToVenaCava2);
- m_Circuits->DeleteFluidPath(pulse::ExpandedCardiovascularPath::RightKidney3ToVenaCava2);
+ m_Circuits->DeleteFluidNode(pulse::CardiovascularNode::LeftKidney1);
+ m_Circuits->DeleteFluidNode(pulse::CardiovascularNode::LeftKidney2);
+ m_Circuits->DeleteFluidNode(pulse::ComputationalLifeCardiovascularNode::LeftKidney3);
+ m_Circuits->DeleteFluidNode(pulse::CardiovascularNode::RightKidney1);
+ m_Circuits->DeleteFluidNode(pulse::ComputationalLifeCardiovascularNode::RightKidney3);
+ m_Circuits->DeleteFluidNode(pulse::CardiovascularNode::RightKidney2);
+ m_Circuits->DeleteFluidPath(pulse::ComputationalLifeCardiovascularPath::Aorta5ToLeftKidney1);
+ m_Circuits->DeleteFluidPath(pulse::ComputationalLifeCardiovascularPath::Aorta5ToRightKidney1);
+ m_Circuits->DeleteFluidPath(pulse::CardiovascularPath::LeftKidney1ToLeftKidney2);
+ m_Circuits->DeleteFluidPath(pulse::CardiovascularPath::RightKidney1ToRightKidney2);
+ m_Circuits->DeleteFluidPath(pulse::ComputationalLifeCardiovascularPath::LeftKidney2ToGround);
+ m_Circuits->DeleteFluidPath(pulse::ComputationalLifeCardiovascularPath::RightKidney2ToGround);
+ m_Circuits->DeleteFluidPath(pulse::ComputationalLifeCardiovascularPath::LeftKidney2ToLeftKidney3);
+ m_Circuits->DeleteFluidPath(pulse::ComputationalLifeCardiovascularPath::RightKidney2ToRightKidney3);
+ m_Circuits->DeleteFluidPath(pulse::ComputationalLifeCardiovascularPath::LeftKidney3ToVenaCava2);
+ m_Circuits->DeleteFluidPath(pulse::ComputationalLifeCardiovascularPath::RightKidney3ToVenaCava2);
// Remove modifiers on the proximal resistor (aorta side) of paths we removed
m_Config->GetModifiers().erase(pulse::CardiovascularPath::LeftKidney1ToLeftKidney2);
m_Config->GetModifiers().erase(pulse::CardiovascularPath::RightKidney1ToRightKidney2);
cCombinedCardiovascular.AddCircuit(cRenal);
// Grab the nodes that we will be connecting between the 2 circuits
- SEFluidCircuitNode* Aorta5 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::Aorta5);
- SEFluidCircuitNode* VenaCava2 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::VenaCava2);
+ SEFluidCircuitNode* Aorta5 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::Aorta5);
+ SEFluidCircuitNode* VenaCava2 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::VenaCava2);
// Add the new connection paths
- SEFluidCircuitPath& Aorta5ToRightKidney1 = cCombinedCardiovascular.CreatePath(*Aorta5, RightRenalArtery, pulse::ExpandedCardiovascularPath::Aorta5ToRightKidney1);
- SEFluidCircuitPath& RightKidney3ToVenaCava2 = cCombinedCardiovascular.CreatePath(RightRenalVein, *VenaCava2, pulse::ExpandedCardiovascularPath::RightKidney3ToVenaCava2);
- SEFluidCircuitPath& Aorta5ToLeftKidney1 = cCombinedCardiovascular.CreatePath(*Aorta5, LeftRenalArtery, pulse::ExpandedCardiovascularPath::Aorta5ToLeftKidney1);
- SEFluidCircuitPath& LeftKidney3ToVenaCava2 = cCombinedCardiovascular.CreatePath(LeftRenalVein, *VenaCava2, pulse::ExpandedCardiovascularPath::LeftKidney3ToVenaCava2);
+ SEFluidCircuitPath& Aorta5ToRightKidney1 = cCombinedCardiovascular.CreatePath(*Aorta5, RightRenalArtery, pulse::ComputationalLifeCardiovascularPath::Aorta5ToRightKidney1);
+ SEFluidCircuitPath& RightKidney3ToVenaCava2 = cCombinedCardiovascular.CreatePath(RightRenalVein, *VenaCava2, pulse::ComputationalLifeCardiovascularPath::RightKidney3ToVenaCava2);
+ SEFluidCircuitPath& Aorta5ToLeftKidney1 = cCombinedCardiovascular.CreatePath(*Aorta5, LeftRenalArtery, pulse::ComputationalLifeCardiovascularPath::Aorta5ToLeftKidney1);
+ SEFluidCircuitPath& LeftKidney3ToVenaCava2 = cCombinedCardiovascular.CreatePath(LeftRenalVein, *VenaCava2, pulse::ComputationalLifeCardiovascularPath::LeftKidney3ToVenaCava2);
// Update the circuit
cCombinedCardiovascular.SetNextAndCurrentFromBaselines();
@@ -2282,82 +2282,82 @@ namespace pulse
///////////////////////
// RightRenalArtery //
- SELiquidCompartment& vRightRenalArtery = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightRenalArtery);
+ SELiquidCompartment& vRightRenalArtery = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightRenalArtery);
vRightRenalArtery.MapNode(RightRenalArtery);
//////////////////////////////
// RightAfferentArteriole //
- SELiquidCompartment& vRightAfferentArteriole = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightAfferentArteriole);
+ SELiquidCompartment& vRightAfferentArteriole = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightAfferentArteriole);
vRightAfferentArteriole.MapNode(RightAfferentArteriole);
////////////////////////////////
// RightGlomerularCapillaries //
- SELiquidCompartment& vRightGlomerularCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightGlomerularCapillaries);
+ SELiquidCompartment& vRightGlomerularCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightGlomerularCapillaries);
vRightGlomerularCapillaries.MapNode(RightGlomerularCapillaries);
vRightGlomerularCapillaries.MapNode(RightNetGlomerularCapillaries);
////////////////////////////
// RightEfferentArteriole //
- SELiquidCompartment& vRightEfferentArteriole = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightEfferentArteriole);
+ SELiquidCompartment& vRightEfferentArteriole = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightEfferentArteriole);
vRightEfferentArteriole.MapNode(RightEfferentArteriole);
/////////////////////////////////
// RightPeritubularCapillaries //
- SELiquidCompartment& vRightPeritubularCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightPeritubularCapillaries);
+ SELiquidCompartment& vRightPeritubularCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightPeritubularCapillaries);
vRightPeritubularCapillaries.MapNode(RightPeritubularCapillaries);
vRightPeritubularCapillaries.MapNode(RightNetPeritubularCapillaries);
///////////////////
// RightRenalVein //
- SELiquidCompartment& vRightRenalVein = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightRenalVein);
+ SELiquidCompartment& vRightRenalVein = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightRenalVein);
vRightRenalVein.MapNode(RightRenalVein);
//////////////////////////
// RightBowmansCapsules //
- SELiquidCompartment& vRightBowmansCapsules = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightBowmansCapsules);
+ SELiquidCompartment& vRightBowmansCapsules = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightBowmansCapsules);
vRightBowmansCapsules.MapNode(RightBowmansCapsules);
vRightBowmansCapsules.MapNode(RightNetBowmansCapsules);
//////////////////
// RightTubules //
- SELiquidCompartment& vRightTubules = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightTubules);
+ SELiquidCompartment& vRightTubules = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightTubules);
vRightTubules.MapNode(RightTubules);
vRightTubules.MapNode(RightNetTubules);
/////////////////////
// LeftRenalArtery //
- SELiquidCompartment& vLeftRenalArtery = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftRenalArtery);
+ SELiquidCompartment& vLeftRenalArtery = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftRenalArtery);
vLeftRenalArtery.MapNode(LeftRenalArtery);
//////////////////////////////
// LeftAfferentArteriole //
- SELiquidCompartment& vLeftAfferentArteriole = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftAfferentArteriole);
+ SELiquidCompartment& vLeftAfferentArteriole = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftAfferentArteriole);
vLeftAfferentArteriole.MapNode(LeftAfferentArteriole);
////////////////////////////////
// LeftGlomerularCapillaries //
- SELiquidCompartment& vLeftGlomerularCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftGlomerularCapillaries);
+ SELiquidCompartment& vLeftGlomerularCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftGlomerularCapillaries);
vLeftGlomerularCapillaries.MapNode(LeftGlomerularCapillaries);
vLeftGlomerularCapillaries.MapNode(LeftNetGlomerularCapillaries);
////////////////////////////
// LeftEfferentArteriole //
- SELiquidCompartment& vLeftEfferentArteriole = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftEfferentArteriole);
+ SELiquidCompartment& vLeftEfferentArteriole = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftEfferentArteriole);
vLeftEfferentArteriole.MapNode(LeftEfferentArteriole);
////////////////////////////////
// LeftPeritubularCapillaries //
- SELiquidCompartment& vLeftPeritubularCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftPeritubularCapillaries);
+ SELiquidCompartment& vLeftPeritubularCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftPeritubularCapillaries);
vLeftPeritubularCapillaries.MapNode(LeftPeritubularCapillaries);
vLeftPeritubularCapillaries.MapNode(LeftNetPeritubularCapillaries);
///////////////////
// LeftRenalVein //
- SELiquidCompartment& vLeftRenalVein = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftRenalVein);
+ SELiquidCompartment& vLeftRenalVein = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftRenalVein);
vLeftRenalVein.MapNode(LeftRenalVein);
/////////////////////////
// LeftBowmansCapsules //
- SELiquidCompartment& vLeftBowmansCapsules = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftBowmansCapsules);
+ SELiquidCompartment& vLeftBowmansCapsules = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftBowmansCapsules);
vLeftBowmansCapsules.MapNode(LeftBowmansCapsules);
vLeftBowmansCapsules.MapNode(LeftNetBowmansCapsules);
/////////////////
// LeftTubules //
- SELiquidCompartment& vLeftTubules = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftTubules);
+ SELiquidCompartment& vLeftTubules = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftTubules);
vLeftTubules.MapNode(LeftTubules);
vLeftTubules.MapNode(LeftNetTubules);
// Let's build out the hierarchy
// Grab these, as cardiovascular already made them
- SELiquidCompartment* vLeftKidney = m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftKidney);
- SELiquidCompartment& vLeftNephron = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::LeftNephron);
+ SELiquidCompartment* vLeftKidney = m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::LeftKidney);
+ SELiquidCompartment& vLeftNephron = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftNephron);
vLeftKidney->GetNodeMapping().Clear();// Remove the nodes the cardiovascular was using to model the kidney
vLeftKidney->AddChild(vLeftRenalArtery);
vLeftKidney->AddChild(vLeftNephron);
@@ -2368,8 +2368,8 @@ namespace pulse
vLeftNephron.AddChild(vLeftBowmansCapsules);
vLeftNephron.AddChild(vLeftTubules);
vLeftKidney->AddChild(vLeftRenalVein);
- SELiquidCompartment* vRightKidney = m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightKidney);
- SELiquidCompartment& vRightNephron = m_Compartments->CreateLiquidCompartment(pulse::ExpandedVascularCompartment::RightNephron);
+ SELiquidCompartment* vRightKidney = m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::RightKidney);
+ SELiquidCompartment& vRightNephron = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightNephron);
vRightKidney->GetNodeMapping().Clear();// Remove the nodes the cardiovascular was using to model the kidney
vRightKidney->AddChild(vRightRenalArtery);
vRightKidney->AddChild(vRightNephron);
@@ -2408,9 +2408,9 @@ namespace pulse
/////////////////////////////
// Graph Dependencies
- SELiquidCompartment& vArterialBuffer = *m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::ArterialBuffer);
- SELiquidCompartment& vVenousBuffer = *m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::VenousBuffer);
- SELiquidCompartment& vGround = *m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::Ground);
+ SELiquidCompartment& vArterialBuffer = *m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::ArterialBuffer);
+ SELiquidCompartment& vVenousBuffer = *m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::VenousBuffer);
+ SELiquidCompartment& vGround = *m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::Ground);
///////////
// Blood //
@@ -2418,88 +2418,88 @@ namespace pulse
////////////////////////////
// AortaToRightRenalArtery //
- m_Compartments->DeleteLiquidLink(pulse::ExpandedVascularLink::AortaToRightKidney);// Replace this link
- SELiquidCompartmentLink& vAortaToRightRenalArtery = m_Compartments->CreateLiquidLink(vArterialBuffer, vRightRenalArtery, pulse::ExpandedVascularLink::AortaToRightKidney);
+ m_Compartments->DeleteLiquidLink(pulse::VascularLink::AortaToRightKidney);// Replace this link
+ SELiquidCompartmentLink& vAortaToRightRenalArtery = m_Compartments->CreateLiquidLink(vArterialBuffer, vRightRenalArtery, pulse::VascularLink::AortaToRightKidney);
vAortaToRightRenalArtery.MapPath(Aorta5ToRightKidney1);
////////////////////////////////////////
// RightRenalArteryToAfferentArteriole //
- SELiquidCompartmentLink& vRightRenalArteryToAfferentArteriole = m_Compartments->CreateLiquidLink(vRightRenalArtery, vRightAfferentArteriole, pulse::ExpandedVascularLink::RightRenalArteryToAfferentArteriole);
+ SELiquidCompartmentLink& vRightRenalArteryToAfferentArteriole = m_Compartments->CreateLiquidLink(vRightRenalArtery, vRightAfferentArteriole, pulse::VascularLink::RightRenalArteryToAfferentArteriole);
vRightRenalArteryToAfferentArteriole.MapPath(RightRenalArteryToAfferentArteriole);
//////////////////////////////////////////////////
// RightAfferentArterioleToGlomerularCapillaries //
- SELiquidCompartmentLink& vRightAfferentArterioleToGlomerularCapillaries = m_Compartments->CreateLiquidLink(vRightAfferentArteriole, vRightGlomerularCapillaries, pulse::ExpandedVascularLink::RightAfferentArterioleToGlomerularCapillaries);
+ SELiquidCompartmentLink& vRightAfferentArterioleToGlomerularCapillaries = m_Compartments->CreateLiquidLink(vRightAfferentArteriole, vRightGlomerularCapillaries, pulse::VascularLink::RightAfferentArterioleToGlomerularCapillaries);
vRightAfferentArterioleToGlomerularCapillaries.MapPath(RightAfferentArterioleToGlomerularCapillaries);
//////////////////////////////////////////////////
// RightGlomerularCapillariesToEfferentArteriole //
- SELiquidCompartmentLink& vRightGlomerularCapillariesToEfferentArteriole = m_Compartments->CreateLiquidLink(vRightGlomerularCapillaries, vRightEfferentArteriole, pulse::ExpandedVascularLink::RightGlomerularCapillariesToEfferentArteriole);
+ SELiquidCompartmentLink& vRightGlomerularCapillariesToEfferentArteriole = m_Compartments->CreateLiquidLink(vRightGlomerularCapillaries, vRightEfferentArteriole, pulse::VascularLink::RightGlomerularCapillariesToEfferentArteriole);
vRightGlomerularCapillariesToEfferentArteriole.MapPath(RightGlomerularCapillariesToEfferentArteriole);
/////////////////////////////////////////////////
// RightGlomerularCapillariesToBowmansCapsules //
- SELiquidCompartmentLink& vRightGlomerularCapillariesToBowmansCapsules = m_Compartments->CreateLiquidLink(vRightGlomerularCapillaries, vRightBowmansCapsules, pulse::ExpandedVascularLink::RightGlomerularCapillariesToBowmansCapsules);
+ SELiquidCompartmentLink& vRightGlomerularCapillariesToBowmansCapsules = m_Compartments->CreateLiquidLink(vRightGlomerularCapillaries, vRightBowmansCapsules, pulse::VascularLink::RightGlomerularCapillariesToBowmansCapsules);
vRightGlomerularCapillariesToBowmansCapsules.MapPath(RightNetGlomerularCapillariesToNetBowmansCapsules);
///////////////////////////////////
// RightBowmansCapsulesToTubules //
- SELiquidCompartmentLink& vRightBowmansCapsulesToTubules = m_Compartments->CreateLiquidLink(vRightBowmansCapsules, vRightTubules, pulse::ExpandedVascularLink::RightBowmansCapsulesToTubules);
+ SELiquidCompartmentLink& vRightBowmansCapsulesToTubules = m_Compartments->CreateLiquidLink(vRightBowmansCapsules, vRightTubules, pulse::VascularLink::RightBowmansCapsulesToTubules);
vRightBowmansCapsulesToTubules.MapPath(RightBowmansCapsulesToTubules);
//////////////////////////////////////////
// RightTubulesToPeritubularCapillaries //
- SELiquidCompartmentLink& vRightTubulesToPeritubularCapillaries = m_Compartments->CreateLiquidLink(vRightTubules, vRightPeritubularCapillaries, pulse::ExpandedVascularLink::RightTubulesToPeritubularCapillaries);
+ SELiquidCompartmentLink& vRightTubulesToPeritubularCapillaries = m_Compartments->CreateLiquidLink(vRightTubules, vRightPeritubularCapillaries, pulse::VascularLink::RightTubulesToPeritubularCapillaries);
vRightTubulesToPeritubularCapillaries.MapPath(RightNetTubulesToNetPeritubularCapillaries);
///////////////////////////////////////////////////
// RightEfferentArterioleToPeritubularCapillaries //
- SELiquidCompartmentLink& vRightEfferentArterioleToPeritubularCapillaries = m_Compartments->CreateLiquidLink(vRightEfferentArteriole, vRightPeritubularCapillaries, pulse::ExpandedVascularLink::RightEfferentArterioleToPeritubularCapillaries);
+ SELiquidCompartmentLink& vRightEfferentArterioleToPeritubularCapillaries = m_Compartments->CreateLiquidLink(vRightEfferentArteriole, vRightPeritubularCapillaries, pulse::VascularLink::RightEfferentArterioleToPeritubularCapillaries);
vRightEfferentArterioleToPeritubularCapillaries.MapPath(RightEfferentArterioleToPeritubularCapillaries);
////////////////////////////////////////////
// RightPeritubularCapillariesToRenalVein //
- SELiquidCompartmentLink& vRightPeritubularCapillariesToRenalVein = m_Compartments->CreateLiquidLink(vRightPeritubularCapillaries, vRightRenalVein, pulse::ExpandedVascularLink::RightPeritubularCapillariesToRenalVein);
+ SELiquidCompartmentLink& vRightPeritubularCapillariesToRenalVein = m_Compartments->CreateLiquidLink(vRightPeritubularCapillaries, vRightRenalVein, pulse::VascularLink::RightPeritubularCapillariesToRenalVein);
vRightPeritubularCapillariesToRenalVein.MapPath(RightPeritubularCapillariesToRenalVein);
/////////////////////////////
// RightRenalVeinToVenaCava //
- m_Compartments->DeleteLiquidLink(pulse::ExpandedVascularLink::RightKidneyToVenaCava);// Replace this vink
- SELiquidCompartmentLink& vRightRenalVeinToVenaCava = m_Compartments->CreateLiquidLink(vRightRenalVein, vVenousBuffer, pulse::ExpandedVascularLink::RightKidneyToVenaCava);
+ m_Compartments->DeleteLiquidLink(pulse::VascularLink::RightKidneyToVenaCava);// Replace this vink
+ SELiquidCompartmentLink& vRightRenalVeinToVenaCava = m_Compartments->CreateLiquidLink(vRightRenalVein, vVenousBuffer, pulse::VascularLink::RightKidneyToVenaCava);
vRightRenalVeinToVenaCava.MapPath(RightKidney3ToVenaCava2);
////////////////////////////
// AortaToLeftRenalArtery //
- m_Compartments->DeleteLiquidLink(pulse::ExpandedVascularLink::AortaToLeftKidney);// Replace this uink
- SELiquidCompartmentLink& vAortaToLeftRenalArtery = m_Compartments->CreateLiquidLink(vArterialBuffer, vLeftRenalArtery, pulse::ExpandedVascularLink::AortaToLeftKidney);
+ m_Compartments->DeleteLiquidLink(pulse::VascularLink::AortaToLeftKidney);// Replace this uink
+ SELiquidCompartmentLink& vAortaToLeftRenalArtery = m_Compartments->CreateLiquidLink(vArterialBuffer, vLeftRenalArtery, pulse::VascularLink::AortaToLeftKidney);
vAortaToLeftRenalArtery.MapPath(Aorta5ToLeftKidney1);
////////////////////////////////////////
// LeftRenalArteryToAfferentArteriole //
- SELiquidCompartmentLink& vLeftRenalArteryToAfferentArteriole = m_Compartments->CreateLiquidLink(vLeftRenalArtery, vLeftAfferentArteriole, pulse::ExpandedVascularLink::LeftRenalArteryToAfferentArteriole);
+ SELiquidCompartmentLink& vLeftRenalArteryToAfferentArteriole = m_Compartments->CreateLiquidLink(vLeftRenalArtery, vLeftAfferentArteriole, pulse::VascularLink::LeftRenalArteryToAfferentArteriole);
vLeftRenalArteryToAfferentArteriole.MapPath(LeftRenalArteryToAfferentArteriole);
//////////////////////////////////////////////////
// LeftAfferentArterioleToGlomerularCapillaries //
- SELiquidCompartmentLink& vLeftAfferentArterioleToGlomerularCapillaries = m_Compartments->CreateLiquidLink(vLeftAfferentArteriole, vLeftGlomerularCapillaries, pulse::ExpandedVascularLink::LeftAfferentArterioleToGlomerularCapillaries);
+ SELiquidCompartmentLink& vLeftAfferentArterioleToGlomerularCapillaries = m_Compartments->CreateLiquidLink(vLeftAfferentArteriole, vLeftGlomerularCapillaries, pulse::VascularLink::LeftAfferentArterioleToGlomerularCapillaries);
vLeftAfferentArterioleToGlomerularCapillaries.MapPath(LeftAfferentArterioleToGlomerularCapillaries);
//////////////////////////////////////////////////
// LeftGlomerularCapillariesToEfferentArteriole //
- SELiquidCompartmentLink& vLeftGlomerularCapillariesToEfferentArteriole = m_Compartments->CreateLiquidLink(vLeftGlomerularCapillaries, vLeftEfferentArteriole, pulse::ExpandedVascularLink::LeftGlomerularCapillariesToEfferentArteriole);
+ SELiquidCompartmentLink& vLeftGlomerularCapillariesToEfferentArteriole = m_Compartments->CreateLiquidLink(vLeftGlomerularCapillaries, vLeftEfferentArteriole, pulse::VascularLink::LeftGlomerularCapillariesToEfferentArteriole);
vLeftGlomerularCapillariesToEfferentArteriole.MapPath(LeftGlomerularCapillariesToEfferentArteriole);
////////////////////////////////////////////////
// LeftGlomerularCapillariesToBowmansCapsules //
- SELiquidCompartmentLink& vLeftGlomerularCapillariesToBowmansCapsules = m_Compartments->CreateLiquidLink(vLeftGlomerularCapillaries, vLeftBowmansCapsules, pulse::ExpandedVascularLink::LeftGlomerularCapillariesToBowmansCapsules);
+ SELiquidCompartmentLink& vLeftGlomerularCapillariesToBowmansCapsules = m_Compartments->CreateLiquidLink(vLeftGlomerularCapillaries, vLeftBowmansCapsules, pulse::VascularLink::LeftGlomerularCapillariesToBowmansCapsules);
vLeftGlomerularCapillariesToBowmansCapsules.MapPath(LeftNetGlomerularCapillariesToNetBowmansCapsules);
//////////////////////////////////
// LeftBowmansCapsulesToTubules //
- SELiquidCompartmentLink& vLeftBowmansCapsulesToTubules = m_Compartments->CreateLiquidLink(vLeftBowmansCapsules, vLeftTubules, pulse::ExpandedVascularLink::LeftBowmansCapsulesToTubules);
+ SELiquidCompartmentLink& vLeftBowmansCapsulesToTubules = m_Compartments->CreateLiquidLink(vLeftBowmansCapsules, vLeftTubules, pulse::VascularLink::LeftBowmansCapsulesToTubules);
vLeftBowmansCapsulesToTubules.MapPath(LeftBowmansCapsulesToTubules);
/////////////////////////////////////////
// LeftTubulesToPeritubularCapillaries //
- SELiquidCompartmentLink& vLeftTubulesToPeritubularCapillaries = m_Compartments->CreateLiquidLink(vLeftTubules, vLeftPeritubularCapillaries, pulse::ExpandedVascularLink::LeftTubulesToPeritubularCapillaries);
+ SELiquidCompartmentLink& vLeftTubulesToPeritubularCapillaries = m_Compartments->CreateLiquidLink(vLeftTubules, vLeftPeritubularCapillaries, pulse::VascularLink::LeftTubulesToPeritubularCapillaries);
vLeftTubulesToPeritubularCapillaries.MapPath(LeftNetTubulesToNetPeritubularCapillaries);
///////////////////////////////////////////////////
// LeftEfferentArterioleToPeritubularCapillaries //
- SELiquidCompartmentLink& vLeftEfferentArterioleToPeritubularCapillaries = m_Compartments->CreateLiquidLink(vLeftEfferentArteriole, vLeftPeritubularCapillaries, pulse::ExpandedVascularLink::LeftEfferentArterioleToPeritubularCapillaries);
+ SELiquidCompartmentLink& vLeftEfferentArterioleToPeritubularCapillaries = m_Compartments->CreateLiquidLink(vLeftEfferentArteriole, vLeftPeritubularCapillaries, pulse::VascularLink::LeftEfferentArterioleToPeritubularCapillaries);
vLeftEfferentArterioleToPeritubularCapillaries.MapPath(LeftEfferentArterioleToPeritubularCapillaries);
///////////////////////////////////////////
// LeftPeritubularCapillariesToRenalVein //
- SELiquidCompartmentLink& vLeftPeritubularCapillariesToRenalVein = m_Compartments->CreateLiquidLink(vLeftPeritubularCapillaries, vLeftRenalVein, pulse::ExpandedVascularLink::LeftPeritubularCapillariesToRenalVein);
+ SELiquidCompartmentLink& vLeftPeritubularCapillariesToRenalVein = m_Compartments->CreateLiquidLink(vLeftPeritubularCapillaries, vLeftRenalVein, pulse::VascularLink::LeftPeritubularCapillariesToRenalVein);
vLeftPeritubularCapillariesToRenalVein.MapPath(LeftPeritubularCapillariesToRenalVein);
/////////////////////////////
// LeftRenalVeinToVenaCava //
- m_Compartments->DeleteLiquidLink(pulse::ExpandedVascularLink::LeftKidneyToVenaCava);// Replace this link
- SELiquidCompartmentLink& vLeftRenalVeinToVenaCava = m_Compartments->CreateLiquidLink(vLeftRenalVein, vVenousBuffer, pulse::ExpandedVascularLink::LeftKidneyToVenaCava);
+ m_Compartments->DeleteLiquidLink(pulse::VascularLink::LeftKidneyToVenaCava);// Replace this link
+ SELiquidCompartmentLink& vLeftRenalVeinToVenaCava = m_Compartments->CreateLiquidLink(vLeftRenalVein, vVenousBuffer, pulse::VascularLink::LeftKidneyToVenaCava);
vLeftRenalVeinToVenaCava.MapPath(LeftKidney3ToVenaCava2);
///////////
@@ -2596,23 +2596,23 @@ namespace pulse
gCombinedCardiovascular.StateChange();
}
- void Controller::SetupExpandedCardiovascularTissue()
+ void Controller::SetupComputationalLifeTissue()
{
- Info("Setting Up Expanded Cardiovascular Tissue");
+ Info("Setting Up ComputationalLife Tissue");
SEFluidCircuit& cCardiovascular = m_Circuits->GetCardiovascularCircuit();
SEFluidCircuit& cCombinedCardiovascular = m_Circuits->GetActiveCardiovascularCircuit();
- SEFluidCircuitNode* Ground = cCombinedCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::Ground);
+ SEFluidCircuitNode* Ground = cCombinedCardiovascular.GetNode(pulse::CardiovascularNode::Ground);
///////////
// Lymph //
SEFluidCircuitNode& Lymph = cCombinedCardiovascular.CreateNode(pulse::TissueNode::Lymph);
Lymph.GetPressure().SetValue(0, PressureUnit::mmHg);
Lymph.GetVolumeBaseline().SetValue(0, VolumeUnit::mL);
- SEFluidCircuitNode* VenaCava1 = cCombinedCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::VenaCava1);
- SEFluidCircuitPath& LymphToVenaCava = cCombinedCardiovascular.CreatePath(Lymph, *VenaCava1, pulse::ExpandedCardiovascularTissuePath::LymphToVenaCava);
+ SEFluidCircuitNode* VenaCava1 = cCombinedCardiovascular.GetNode(pulse::CardiovascularNode::VenaCava1);
+ SEFluidCircuitPath& LymphToVenaCava = cCombinedCardiovascular.CreatePath(Lymph, *VenaCava1, pulse::TissuePath::LymphToVenaCava1);
// No resistance - if it goes to lymph then it goes to vena cava
- SELiquidCompartment* cVenaCava = m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::VenaCava);
+ SELiquidCompartment* cVenaCava = m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::VenaCava);
SELiquidCompartment& cLymph = m_Compartments->CreateLiquidCompartment(pulse::LymphCompartment::Lymph);
cLymph.MapNode(Lymph);
@@ -2766,11 +2766,11 @@ namespace pulse
/////////
// Fat //
- SEFluidCircuitNode* TorsoFat1 = cCombinedCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::TorsoFat1);
- SEFluidCircuitNode* LeftArmFat1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftArmFat1);
- SEFluidCircuitNode* LeftLegFat1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftLegFat1);
- SEFluidCircuitNode* RightArmFat1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::RightArmFat1);
- SEFluidCircuitNode* RightLegFat1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::RightLegFat1);
+ SEFluidCircuitNode* TorsoFat1 = cCombinedCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::TorsoFat1);
+ SEFluidCircuitNode* LeftArmFat1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::LeftArmFat1);
+ SEFluidCircuitNode* LeftLegFat1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::LeftLegFat1);
+ SEFluidCircuitNode* RightArmFat1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::RightArmFat1);
+ SEFluidCircuitNode* RightLegFat1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::RightLegFat1);
SEFluidCircuitNode& FatT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::FatT1);
SEFluidCircuitNode& FatT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::FatT2);
SEFluidCircuitNode& FatT3 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::FatT3);
@@ -2778,24 +2778,24 @@ namespace pulse
FatT3.GetPressure().Set(Ground->GetPressure());
FatT1.GetVolumeBaseline().SetValue(AdiposeEWFraction * AdiposeTissueVolume * 1000.0, VolumeUnit::mL);
- SEFluidCircuitPath& TorsoFat1ToFatT2 = cCombinedCardiovascular.CreatePath(*TorsoFat1, FatT2, pulse::ExpandedCardiovascularTissuePath::TorsoFat1ToFatT2);
+ SEFluidCircuitPath& TorsoFat1ToFatT2 = cCombinedCardiovascular.CreatePath(*TorsoFat1, FatT2, pulse::ComputationalLifeTissuePath::TorsoFat1ToFatT2);
TorsoFat1ToFatT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LeftArmFat1ToFatT2 = cCombinedCardiovascular.CreatePath(*LeftArmFat1, FatT2, pulse::ExpandedCardiovascularTissuePath::LeftArmFat1ToFatT2);
+ SEFluidCircuitPath& LeftArmFat1ToFatT2 = cCombinedCardiovascular.CreatePath(*LeftArmFat1, FatT2, pulse::ComputationalLifeTissuePath::LeftArmFat1ToFatT2);
LeftArmFat1ToFatT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LeftLegFat1ToFatT2 = cCombinedCardiovascular.CreatePath(*LeftLegFat1, FatT2, pulse::ExpandedCardiovascularTissuePath::LeftLegFat1ToFatT2);
+ SEFluidCircuitPath& LeftLegFat1ToFatT2 = cCombinedCardiovascular.CreatePath(*LeftLegFat1, FatT2, pulse::ComputationalLifeTissuePath::LeftLegFat1ToFatT2);
LeftLegFat1ToFatT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& RightArmFat1ToFatT2 = cCombinedCardiovascular.CreatePath(*RightArmFat1, FatT2, pulse::ExpandedCardiovascularTissuePath::RightArmFat1ToFatT2);
+ SEFluidCircuitPath& RightArmFat1ToFatT2 = cCombinedCardiovascular.CreatePath(*RightArmFat1, FatT2, pulse::ComputationalLifeTissuePath::RightArmFat1ToFatT2);
RightArmFat1ToFatT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& RightLegFat1ToFatT2 = cCombinedCardiovascular.CreatePath(*RightLegFat1, FatT2, pulse::ExpandedCardiovascularTissuePath::RightLegFat1ToFatT2);
+ SEFluidCircuitPath& RightLegFat1ToFatT2 = cCombinedCardiovascular.CreatePath(*RightLegFat1, FatT2, pulse::ComputationalLifeTissuePath::RightLegFat1ToFatT2);
RightLegFat1ToFatT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& FatT2ToFatT1 = cCombinedCardiovascular.CreatePath(FatT2, FatT1, pulse::ExpandedCardiovascularTissuePath::FatT2ToFatT1);
+ SEFluidCircuitPath& FatT2ToFatT1 = cCombinedCardiovascular.CreatePath(FatT2, FatT1, pulse::TissuePath::FatT2ToFatT1);
FatT2ToFatT1.GetResistanceBaseline().SetValue((1 / AdiposeTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& FatT1ToFatT3 = cCombinedCardiovascular.CreatePath(FatT1, FatT3, pulse::ExpandedCardiovascularTissuePath::FatT1ToFatT3);
+ SEFluidCircuitPath& FatT1ToFatT3 = cCombinedCardiovascular.CreatePath(FatT1, FatT3, pulse::TissuePath::FatT1ToFatT3);
FatT1ToFatT3.GetComplianceBaseline().SetValue(FatT1.GetVolumeBaseline(VolumeUnit::mL) / FatT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& GroundToFatT3 = cCombinedCardiovascular.CreatePath(*Ground, FatT3, pulse::ExpandedCardiovascularTissuePath::GroundToFatT3);
+ SEFluidCircuitPath& GroundToFatT3 = cCombinedCardiovascular.CreatePath(*Ground, FatT3, pulse::TissuePath::GroundToFatT3);
GroundToFatT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& FatT1ToLymph = cCombinedCardiovascular.CreatePath(FatT1, Lymph, pulse::ExpandedCardiovascularTissuePath::FatT1ToLymph);
+ SEFluidCircuitPath& FatT1ToLymph = cCombinedCardiovascular.CreatePath(FatT1, Lymph, pulse::TissuePath::FatT1ToLymph);
FatT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
SETissueCompartment& FatTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::Fat);
@@ -2816,20 +2816,20 @@ namespace pulse
FatTissue.GetTissueToPlasmaLipoproteinRatio().SetValue(AdiposeLRatio);
FatTissue.GetTotalMass().SetValue(AdiposeTissueMass, MassUnit::kg);
- SELiquidCompartmentLink& TorsoFatVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoFat),
- FatExtracellular, pulse::ExpandedVascularLink::TorsoFatVascularToTissue);
+ SELiquidCompartmentLink& TorsoFatVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoFat),
+ FatExtracellular, pulse::ComputationalLifeVascularLink::TorsoFatVascularToTissue);
TorsoFatVascularToTissue.MapPath(TorsoFat1ToFatT2);
- SELiquidCompartmentLink& LeftArmFatVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmFat),
- FatExtracellular, pulse::ExpandedVascularLink::LeftArmFatVascularToTissue);
+ SELiquidCompartmentLink& LeftArmFatVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmFat),
+ FatExtracellular, pulse::ComputationalLifeVascularLink::LeftArmFatVascularToTissue);
LeftArmFatVascularToTissue.MapPath(LeftArmFat1ToFatT2);
- SELiquidCompartmentLink& LeftLegFatVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegFat),
- FatExtracellular, pulse::ExpandedVascularLink::LeftLegFatVascularToTissue);
+ SELiquidCompartmentLink& LeftLegFatVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegFat),
+ FatExtracellular, pulse::ComputationalLifeVascularLink::LeftLegFatVascularToTissue);
LeftLegFatVascularToTissue.MapPath(LeftLegFat1ToFatT2);
- SELiquidCompartmentLink& RightArmFatVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmFat),
- FatExtracellular, pulse::ExpandedVascularLink::RightArmFatVascularToTissue);
+ SELiquidCompartmentLink& RightArmFatVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmFat),
+ FatExtracellular, pulse::ComputationalLifeVascularLink::RightArmFatVascularToTissue);
RightArmFatVascularToTissue.MapPath(RightArmFat1ToFatT2);
- SELiquidCompartmentLink& RightLegFatVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegFat),
- FatExtracellular, pulse::ExpandedVascularLink::RightLegFatVascularToTissue);
+ SELiquidCompartmentLink& RightLegFatVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegFat),
+ FatExtracellular, pulse::ComputationalLifeVascularLink::RightLegFatVascularToTissue);
RightLegFatVascularToTissue.MapPath(RightLegFat1ToFatT2);
SELiquidCompartmentLink& FatTissueToLymph = m_Compartments->CreateLiquidLink(FatExtracellular, cLymph, pulse::LymphLink::FatTissueToLymph);
@@ -2837,11 +2837,11 @@ namespace pulse
//////////
// Bone //
- SEFluidCircuitNode* TorsoBone1 = cCombinedCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::TorsoBone1);
- SEFluidCircuitNode* LeftArmBone1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftArmBone1);
- SEFluidCircuitNode* LeftLegBone1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftLegBone1);
- SEFluidCircuitNode* RightArmBone1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::RightArmBone1);
- SEFluidCircuitNode* RightLegBone1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::RightLegBone1);
+ SEFluidCircuitNode* TorsoBone1 = cCombinedCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::TorsoBone1);
+ SEFluidCircuitNode* LeftArmBone1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::LeftArmBone1);
+ SEFluidCircuitNode* LeftLegBone1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::LeftLegBone1);
+ SEFluidCircuitNode* RightArmBone1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::RightArmBone1);
+ SEFluidCircuitNode* RightLegBone1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::RightLegBone1);
SEFluidCircuitNode& BoneT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::BoneT1);
SEFluidCircuitNode& BoneT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::BoneT2);
SEFluidCircuitNode& BoneT3 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::BoneT3);
@@ -2849,24 +2849,24 @@ namespace pulse
BoneT3.GetPressure().Set(Ground->GetPressure());
BoneT1.GetVolumeBaseline().SetValue(BoneEWFraction * BoneTissueVolume * 1000.0, VolumeUnit::mL);
- SEFluidCircuitPath& TorsoBone1ToBoneT2 = cCombinedCardiovascular.CreatePath(*TorsoBone1, BoneT2, pulse::ExpandedCardiovascularTissuePath::TorsoBone1ToBoneT2);
+ SEFluidCircuitPath& TorsoBone1ToBoneT2 = cCombinedCardiovascular.CreatePath(*TorsoBone1, BoneT2, pulse::ComputationalLifeTissuePath::TorsoBone1ToBoneT2);
TorsoBone1ToBoneT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LeftArmBone1ToBoneT2 = cCombinedCardiovascular.CreatePath(*LeftArmBone1, BoneT2, pulse::ExpandedCardiovascularTissuePath::LeftArmBone1ToBoneT2);
+ SEFluidCircuitPath& LeftArmBone1ToBoneT2 = cCombinedCardiovascular.CreatePath(*LeftArmBone1, BoneT2, pulse::ComputationalLifeTissuePath::LeftArmBone1ToBoneT2);
LeftArmBone1ToBoneT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LeftLegBone1ToBoneT2 = cCombinedCardiovascular.CreatePath(*LeftLegBone1, BoneT2, pulse::ExpandedCardiovascularTissuePath::LeftLegBone1ToBoneT2);
+ SEFluidCircuitPath& LeftLegBone1ToBoneT2 = cCombinedCardiovascular.CreatePath(*LeftLegBone1, BoneT2, pulse::ComputationalLifeTissuePath::LeftLegBone1ToBoneT2);
LeftLegBone1ToBoneT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& RightArmBone1ToBoneT2 = cCombinedCardiovascular.CreatePath(*RightArmBone1, BoneT2, pulse::ExpandedCardiovascularTissuePath::RightArmBone1ToBoneT2);
+ SEFluidCircuitPath& RightArmBone1ToBoneT2 = cCombinedCardiovascular.CreatePath(*RightArmBone1, BoneT2, pulse::ComputationalLifeTissuePath::RightArmBone1ToBoneT2);
RightArmBone1ToBoneT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& RightLegBone1ToBoneT2 = cCombinedCardiovascular.CreatePath(*RightLegBone1, BoneT2, pulse::ExpandedCardiovascularTissuePath::RightLegBone1ToBoneT2);
+ SEFluidCircuitPath& RightLegBone1ToBoneT2 = cCombinedCardiovascular.CreatePath(*RightLegBone1, BoneT2, pulse::ComputationalLifeTissuePath::RightLegBone1ToBoneT2);
RightLegBone1ToBoneT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& BoneT2ToBoneT1 = cCombinedCardiovascular.CreatePath(BoneT2, BoneT1, pulse::ExpandedCardiovascularTissuePath::BoneT2ToBoneT1);
+ SEFluidCircuitPath& BoneT2ToBoneT1 = cCombinedCardiovascular.CreatePath(BoneT2, BoneT1, pulse::TissuePath::BoneT2ToBoneT1);
BoneT2ToBoneT1.GetResistanceBaseline().SetValue((1 / BoneTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& BoneT1ToBoneT3 = cCombinedCardiovascular.CreatePath(BoneT1, BoneT3, pulse::ExpandedCardiovascularTissuePath::BoneT1ToBoneT3);
+ SEFluidCircuitPath& BoneT1ToBoneT3 = cCombinedCardiovascular.CreatePath(BoneT1, BoneT3, pulse::TissuePath::BoneT1ToBoneT3);
BoneT1ToBoneT3.GetComplianceBaseline().SetValue(BoneT1.GetVolumeBaseline(VolumeUnit::mL) / BoneT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& GroundToBoneT3 = cCombinedCardiovascular.CreatePath(*Ground, BoneT3, pulse::ExpandedCardiovascularTissuePath::GroundToBoneT3);
+ SEFluidCircuitPath& GroundToBoneT3 = cCombinedCardiovascular.CreatePath(*Ground, BoneT3, pulse::TissuePath::GroundToBoneT3);
GroundToBoneT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& BoneT1ToLymph = cCombinedCardiovascular.CreatePath(BoneT1, Lymph, pulse::ExpandedCardiovascularTissuePath::BoneT1ToLymph);
+ SEFluidCircuitPath& BoneT1ToLymph = cCombinedCardiovascular.CreatePath(BoneT1, Lymph, pulse::TissuePath::BoneT1ToLymph);
BoneT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
SETissueCompartment& BoneTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::Bone);
@@ -2887,20 +2887,20 @@ namespace pulse
BoneTissue.GetTissueToPlasmaLipoproteinRatio().SetValue(BoneLRatio);
BoneTissue.GetTotalMass().SetValue(BoneTissueMass, MassUnit::kg);
- SELiquidCompartmentLink& TorsoBoneVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoBone),
- BoneExtracellular, pulse::ExpandedVascularLink::TorsoBoneVascularToTissue);
+ SELiquidCompartmentLink& TorsoBoneVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoBone),
+ BoneExtracellular, pulse::ComputationalLifeVascularLink::TorsoBoneVascularToTissue);
TorsoBoneVascularToTissue.MapPath(TorsoBone1ToBoneT2);
- SELiquidCompartmentLink& LeftArmBoneVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmBone),
- BoneExtracellular, pulse::ExpandedVascularLink::LeftArmBoneVascularToTissue);
+ SELiquidCompartmentLink& LeftArmBoneVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmBone),
+ BoneExtracellular, pulse::ComputationalLifeVascularLink::LeftArmBoneVascularToTissue);
LeftArmBoneVascularToTissue.MapPath(LeftArmBone1ToBoneT2);
- SELiquidCompartmentLink& LeftLegBoneVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegBone),
- BoneExtracellular, pulse::ExpandedVascularLink::LeftLegBoneVascularToTissue);
+ SELiquidCompartmentLink& LeftLegBoneVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegBone),
+ BoneExtracellular, pulse::ComputationalLifeVascularLink::LeftLegBoneVascularToTissue);
LeftLegBoneVascularToTissue.MapPath(LeftLegBone1ToBoneT2);
- SELiquidCompartmentLink& RightArmBoneVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmBone),
- BoneExtracellular, pulse::ExpandedVascularLink::RightArmBoneVascularToTissue);
+ SELiquidCompartmentLink& RightArmBoneVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmBone),
+ BoneExtracellular, pulse::ComputationalLifeVascularLink::RightArmBoneVascularToTissue);
RightArmBoneVascularToTissue.MapPath(RightArmBone1ToBoneT2);
- SELiquidCompartmentLink& RightLegBoneVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegBone),
- BoneExtracellular, pulse::ExpandedVascularLink::RightLegBoneVascularToTissue);
+ SELiquidCompartmentLink& RightLegBoneVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegBone),
+ BoneExtracellular, pulse::ComputationalLifeVascularLink::RightLegBoneVascularToTissue);
RightLegBoneVascularToTissue.MapPath(RightLegBone1ToBoneT2);
SELiquidCompartmentLink& BoneTissueToLymph = m_Compartments->CreateLiquidLink(BoneExtracellular, cLymph, pulse::LymphLink::BoneTissueToLymph);
@@ -2908,7 +2908,7 @@ namespace pulse
///////////
// Brain //
- SEFluidCircuitNode* Intracranial2 = cCombinedCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::Intracranial2);
+ SEFluidCircuitNode* Intracranial2 = cCombinedCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::Intracranial2);
SEFluidCircuitNode& BrainT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::BrainT1);
SEFluidCircuitNode& BrainT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::BrainT2);
SEFluidCircuitNode& BrainT3 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::BrainT3);
@@ -2916,16 +2916,16 @@ namespace pulse
BrainT3.GetPressure().Set(Ground->GetPressure());
BrainT1.GetVolumeBaseline().SetValue(BrainEWFraction * BrainTissueVolume * 1000.0, VolumeUnit::mL);
- SEFluidCircuitPath& Intracranial1ToBrainT2 = cCombinedCardiovascular.CreatePath(*Intracranial2, BrainT2, pulse::ExpandedCardiovascularTissuePath::Intracranial2ToBrainT2);
+ SEFluidCircuitPath& Intracranial1ToBrainT2 = cCombinedCardiovascular.CreatePath(*Intracranial2, BrainT2, pulse::ComputationalLifeTissuePath::Intracranial2ToBrainT2);
Intracranial1ToBrainT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& BrainT2ToBrainT1 = cCombinedCardiovascular.CreatePath(BrainT2, BrainT1, pulse::ExpandedCardiovascularTissuePath::BrainT2ToBrainT1);
+ SEFluidCircuitPath& BrainT2ToBrainT1 = cCombinedCardiovascular.CreatePath(BrainT2, BrainT1, pulse::TissuePath::BrainT2ToBrainT1);
BrainT2ToBrainT1.GetResistanceBaseline().SetValue((1 / BrainTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& BrainT1ToBrainT3 = cCombinedCardiovascular.CreatePath(BrainT1, BrainT3, pulse::ExpandedCardiovascularTissuePath::BrainT1ToBrainT3);
+ SEFluidCircuitPath& BrainT1ToBrainT3 = cCombinedCardiovascular.CreatePath(BrainT1, BrainT3, pulse::TissuePath::BrainT1ToBrainT3);
BrainT1ToBrainT3.GetComplianceBaseline().SetValue(BrainT1.GetVolumeBaseline(VolumeUnit::mL) / BrainT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& GroundToBrainT3 = cCombinedCardiovascular.CreatePath(*Ground, BrainT3, pulse::ExpandedCardiovascularTissuePath::GroundToBrainT3);
+ SEFluidCircuitPath& GroundToBrainT3 = cCombinedCardiovascular.CreatePath(*Ground, BrainT3, pulse::TissuePath::GroundToBrainT3);
GroundToBrainT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& BrainT1ToLymph = cCombinedCardiovascular.CreatePath(BrainT1, Lymph, pulse::ExpandedCardiovascularTissuePath::BrainT1ToLymph);
+ SEFluidCircuitPath& BrainT1ToLymph = cCombinedCardiovascular.CreatePath(BrainT1, Lymph, pulse::TissuePath::BrainT1ToLymph);
BrainT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
SETissueCompartment& BrainTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::Brain);
@@ -2946,8 +2946,8 @@ namespace pulse
BrainTissue.GetTissueToPlasmaLipoproteinRatio().SetValue(BrainLRatio);
BrainTissue.GetTotalMass().SetValue(BrainTissueMass, MassUnit::kg);
- SELiquidCompartmentLink& BrainVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::Intracranial),
- BrainExtracellular, pulse::ExpandedVascularLink::BrainVascularToTissue);
+ SELiquidCompartmentLink& BrainVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::Intracranial),
+ BrainExtracellular, pulse::VascularLink::BrainVascularToTissue);
BrainVascularToTissue.MapPath(Intracranial1ToBrainT2);
SELiquidCompartmentLink& BrainTissueToLymph = m_Compartments->CreateLiquidLink(BrainExtracellular, cLymph, pulse::LymphLink::BrainTissueToLymph);
@@ -2955,9 +2955,9 @@ namespace pulse
/////////
// Gut //
- SEFluidCircuitNode* SmallIntestine = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::SmallIntestine1);
- SEFluidCircuitNode* LargeIntestine = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LargeIntestine1);
- SEFluidCircuitNode* Splanchnic = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::Splanchnic1);
+ SEFluidCircuitNode* SmallIntestine = cCardiovascular.GetNode(pulse::CardiovascularNode::SmallIntestine1);
+ SEFluidCircuitNode* LargeIntestine = cCardiovascular.GetNode(pulse::CardiovascularNode::LargeIntestine1);
+ SEFluidCircuitNode* Splanchnic = cCardiovascular.GetNode(pulse::CardiovascularNode::Splanchnic1);
SEFluidCircuitNode& GutT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::GutT1);
SEFluidCircuitNode& GutT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::GutT2);
SEFluidCircuitNode& GutT3 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::GutT3);
@@ -2965,20 +2965,20 @@ namespace pulse
GutT3.GetPressure().Set(Ground->GetPressure());
GutT1.GetVolumeBaseline().SetValue(GutEWFraction * GutTissueVolume * 1000.0, VolumeUnit::mL);
- SEFluidCircuitPath& SmallIntestine1ToGutT2 = cCombinedCardiovascular.CreatePath(*SmallIntestine, GutT2, pulse::ExpandedCardiovascularTissuePath::SmallIntestine1ToGutT2);
+ SEFluidCircuitPath& SmallIntestine1ToGutT2 = cCombinedCardiovascular.CreatePath(*SmallIntestine, GutT2, pulse::TissuePath::SmallIntestine1ToGutT2);
SmallIntestine1ToGutT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LargeIntestine1ToGutT2 = cCombinedCardiovascular.CreatePath(*LargeIntestine, GutT2, pulse::ExpandedCardiovascularTissuePath::LargeIntestine1ToGutT2);
+ SEFluidCircuitPath& LargeIntestine1ToGutT2 = cCombinedCardiovascular.CreatePath(*LargeIntestine, GutT2, pulse::TissuePath::LargeIntestine1ToGutT2);
LargeIntestine1ToGutT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& Splanchnic1ToGutT2 = cCombinedCardiovascular.CreatePath(*Splanchnic, GutT2, pulse::ExpandedCardiovascularTissuePath::Splanchnic1ToGutT2);
+ SEFluidCircuitPath& Splanchnic1ToGutT2 = cCombinedCardiovascular.CreatePath(*Splanchnic, GutT2, pulse::TissuePath::Splanchnic1ToGutT2);
Splanchnic1ToGutT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& GutT2ToGutT1 = cCombinedCardiovascular.CreatePath(GutT2, GutT1, pulse::ExpandedCardiovascularTissuePath::GutT2ToGutT1);
+ SEFluidCircuitPath& GutT2ToGutT1 = cCombinedCardiovascular.CreatePath(GutT2, GutT1, pulse::TissuePath::GutT2ToGutT1);
GutT2ToGutT1.GetResistanceBaseline().SetValue((1 / GutTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& GutT1ToGutT3 = cCombinedCardiovascular.CreatePath(GutT1, GutT3, pulse::ExpandedCardiovascularTissuePath::GutT1ToGutT3);
+ SEFluidCircuitPath& GutT1ToGutT3 = cCombinedCardiovascular.CreatePath(GutT1, GutT3, pulse::TissuePath::GutT1ToGutT3);
GutT1ToGutT3.GetComplianceBaseline().SetValue(GutT1.GetVolumeBaseline(VolumeUnit::mL) / GutT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& GroundToGutT3 = cCombinedCardiovascular.CreatePath(*Ground, GutT3, pulse::ExpandedCardiovascularTissuePath::GroundToGutT3);
+ SEFluidCircuitPath& GroundToGutT3 = cCombinedCardiovascular.CreatePath(*Ground, GutT3, pulse::TissuePath::GroundToGutT3);
GroundToGutT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& GutT1ToLymph = cCombinedCardiovascular.CreatePath(GutT1, Lymph, pulse::ExpandedCardiovascularTissuePath::GutT1ToLymph);
+ SEFluidCircuitPath& GutT1ToLymph = cCombinedCardiovascular.CreatePath(GutT1, Lymph, pulse::TissuePath::GutT1ToLymph);
GutT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
SETissueCompartment& GutTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::Gut);
@@ -2999,16 +2999,16 @@ namespace pulse
GutTissue.GetTissueToPlasmaLipoproteinRatio().SetValue(GutLRatio);
GutTissue.GetTotalMass().SetValue(GutTissueMass, MassUnit::kg);
- SELiquidCompartmentLink& SmallIntestineVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::SmallIntestine),
- GutExtracellular, pulse::ExpandedVascularLink::SmallIntestineVascularToTissue);
+ SELiquidCompartmentLink& SmallIntestineVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::SmallIntestine),
+ GutExtracellular, pulse::VascularLink::SmallIntestineVascularToTissue);
SmallIntestineVascularToTissue.MapPath(SmallIntestine1ToGutT2);
- SELiquidCompartmentLink& LargeIntestineVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::LargeIntestine),
- GutExtracellular, pulse::ExpandedVascularLink::LargeIntestineVascularToTissue);
+ SELiquidCompartmentLink& LargeIntestineVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::LargeIntestine),
+ GutExtracellular, pulse::VascularLink::LargeIntestineVascularToTissue);
LargeIntestineVascularToTissue.MapPath(LargeIntestine1ToGutT2);
- SELiquidCompartmentLink& SplanchnicVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::Splanchnic),
- GutExtracellular, pulse::ExpandedVascularLink::SplanchnicVascularToTissue);
+ SELiquidCompartmentLink& SplanchnicVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::Splanchnic),
+ GutExtracellular, pulse::VascularLink::SplanchnicVascularToTissue);
SplanchnicVascularToTissue.MapPath(Splanchnic1ToGutT2);
SELiquidCompartmentLink& GutTissueToLymph = m_Compartments->CreateLiquidLink(GutExtracellular, cLymph, pulse::LymphLink::GutTissueToLymph);
@@ -3017,10 +3017,10 @@ namespace pulse
/////////////////
// Left Kidney //
SEFluidCircuitNode* LeftKidney2;
- if (!m_Config->IsRenalEnabled())
- LeftKidney2 = cCombinedCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftKidney2);
- else
+ if (m_Config->UseExpandedKidneys() == eSwitch::On)
LeftKidney2 = cCombinedCardiovascular.GetNode(pulse::RenalNode::LeftGlomerularCapillaries);
+ else
+ LeftKidney2 = cCombinedCardiovascular.GetNode(pulse::CardiovascularNode::LeftKidney2);
SEFluidCircuitNode& LeftKidneyT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LeftKidneyT1);
SEFluidCircuitNode& LeftKidneyT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LeftKidneyT2);
@@ -3029,16 +3029,16 @@ namespace pulse
LeftKidneyT3.GetPressure().Set(Ground->GetPressure());
LeftKidneyT1.GetVolumeBaseline().SetValue(LKidneyEWFraction * LKidneyTissueVolume * 1000.0, VolumeUnit::mL);
- SEFluidCircuitPath& LeftKidney2ToLeftKidneyT2 = cCombinedCardiovascular.CreatePath(*LeftKidney2, LeftKidneyT2, pulse::ExpandedCardiovascularTissuePath::LeftKidney2ToLeftKidneyT2);
+ SEFluidCircuitPath& LeftKidney2ToLeftKidneyT2 = cCombinedCardiovascular.CreatePath(*LeftKidney2, LeftKidneyT2, pulse::ComputationalLifeTissuePath::LeftKidney2ToLeftKidneyT2);
LeftKidney2ToLeftKidneyT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LeftKidneyT2ToLeftKidneyT1 = cCombinedCardiovascular.CreatePath(LeftKidneyT2, LeftKidneyT1, pulse::ExpandedCardiovascularTissuePath::LeftKidneyT2ToLeftKidneyT1);
+ SEFluidCircuitPath& LeftKidneyT2ToLeftKidneyT1 = cCombinedCardiovascular.CreatePath(LeftKidneyT2, LeftKidneyT1, pulse::TissuePath::LeftKidneyT2ToLeftKidneyT1);
LeftKidneyT2ToLeftKidneyT1.GetResistanceBaseline().SetValue((1 / LKidneyTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftKidneyT1ToLeftKidneyT3 = cCombinedCardiovascular.CreatePath(LeftKidneyT1, LeftKidneyT3, pulse::ExpandedCardiovascularTissuePath::LeftKidneyT1ToLeftKidneyT3);
+ SEFluidCircuitPath& LeftKidneyT1ToLeftKidneyT3 = cCombinedCardiovascular.CreatePath(LeftKidneyT1, LeftKidneyT3, pulse::TissuePath::LeftKidneyT1ToLeftKidneyT3);
LeftKidneyT1ToLeftKidneyT3.GetComplianceBaseline().SetValue(LeftKidneyT1.GetVolumeBaseline(VolumeUnit::mL) / LeftKidneyT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& GroundToLeftKidneyT3 = cCombinedCardiovascular.CreatePath(*Ground, LeftKidneyT3, pulse::ExpandedCardiovascularTissuePath::GroundToLeftKidneyT3);
+ SEFluidCircuitPath& GroundToLeftKidneyT3 = cCombinedCardiovascular.CreatePath(*Ground, LeftKidneyT3, pulse::TissuePath::GroundToLeftKidneyT3);
GroundToLeftKidneyT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LeftKidneyT1ToLymph = cCombinedCardiovascular.CreatePath(LeftKidneyT1, Lymph, pulse::ExpandedCardiovascularTissuePath::LeftKidneyT1ToLymph);
+ SEFluidCircuitPath& LeftKidneyT1ToLymph = cCombinedCardiovascular.CreatePath(LeftKidneyT1, Lymph, pulse::TissuePath::LeftKidneyT1ToLymph);
LeftKidneyT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
SETissueCompartment& LeftKidneyTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::LeftKidney);
@@ -3059,8 +3059,8 @@ namespace pulse
LeftKidneyTissue.GetTissueToPlasmaLipoproteinRatio().SetValue(LKidneyLRatio);
LeftKidneyTissue.GetTotalMass().SetValue(LKidneyTissueMass, MassUnit::kg);
- SELiquidCompartmentLink& LeftKidneyVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftKidney),
- LeftKidneyExtracellular, pulse::ExpandedVascularLink::LeftKidneyVascularToTissue);
+ SELiquidCompartmentLink& LeftKidneyVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::LeftKidney),
+ LeftKidneyExtracellular, pulse::VascularLink::LeftKidneyVascularToTissue);
LeftKidneyVascularToTissue.MapPath(LeftKidney2ToLeftKidneyT2);
SELiquidCompartmentLink& LeftKidneyTissueToLymph = m_Compartments->CreateLiquidLink(LeftKidneyExtracellular, cLymph, pulse::LymphLink::LeftKidneyTissueToLymph);
@@ -3068,7 +3068,7 @@ namespace pulse
///////////////
// Left Lung //
- SEFluidCircuitNode* LeftPulmonaryCapillaries1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftPulmonaryCapillaries1);
+ SEFluidCircuitNode* LeftPulmonaryCapillaries1 = cCardiovascular.GetNode(pulse::CardiovascularNode::LeftPulmonaryCapillaries1);
SEFluidCircuitNode& LeftLungT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LeftLungT1);
SEFluidCircuitNode& LeftLungT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LeftLungT2);
SEFluidCircuitNode& LeftLungT3 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LeftLungT3);
@@ -3076,16 +3076,16 @@ namespace pulse
LeftLungT3.GetPressure().Set(Ground->GetPressure());
LeftLungT1.GetVolumeBaseline().SetValue(LLungEWFraction * LLungTissueVolume * 1000.0, VolumeUnit::mL);
- SEFluidCircuitPath& LeftLung1ToLeftLungT2 = cCombinedCardiovascular.CreatePath(*LeftPulmonaryCapillaries1, LeftLungT2, pulse::ExpandedCardiovascularTissuePath::LeftLung1ToLeftLungT2);
+ SEFluidCircuitPath& LeftLung1ToLeftLungT2 = cCombinedCardiovascular.CreatePath(*LeftPulmonaryCapillaries1, LeftLungT2, pulse::TissuePath::LeftLung1ToLeftLungT2);
LeftLung1ToLeftLungT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LeftLungT2ToLeftLungT1 = cCombinedCardiovascular.CreatePath(LeftLungT2, LeftLungT1, pulse::ExpandedCardiovascularTissuePath::LeftLungT2ToLeftLungT1);
+ SEFluidCircuitPath& LeftLungT2ToLeftLungT1 = cCombinedCardiovascular.CreatePath(LeftLungT2, LeftLungT1, pulse::TissuePath::LeftLungT2ToLeftLungT1);
LeftLungT2ToLeftLungT1.GetResistanceBaseline().SetValue((1 / LLungTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LeftLungT1ToLeftLungT3 = cCombinedCardiovascular.CreatePath(LeftLungT1, LeftLungT3, pulse::ExpandedCardiovascularTissuePath::LeftLungT1ToLeftLungT3);
+ SEFluidCircuitPath& LeftLungT1ToLeftLungT3 = cCombinedCardiovascular.CreatePath(LeftLungT1, LeftLungT3, pulse::TissuePath::LeftLungT1ToLeftLungT3);
LeftLungT1ToLeftLungT3.GetComplianceBaseline().SetValue(LeftLungT1.GetVolumeBaseline(VolumeUnit::mL) / LeftLungT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& GroundToLeftLungT3 = cCombinedCardiovascular.CreatePath(*Ground, LeftLungT3, pulse::ExpandedCardiovascularTissuePath::GroundToLeftLungT3);
+ SEFluidCircuitPath& GroundToLeftLungT3 = cCombinedCardiovascular.CreatePath(*Ground, LeftLungT3, pulse::TissuePath::GroundToLeftLungT3);
GroundToLeftLungT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LeftLungT1ToLymph = cCombinedCardiovascular.CreatePath(LeftLungT1, Lymph, pulse::ExpandedCardiovascularTissuePath::LeftLungT1ToLymph);
+ SEFluidCircuitPath& LeftLungT1ToLymph = cCombinedCardiovascular.CreatePath(LeftLungT1, Lymph, pulse::TissuePath::LeftLungT1ToLymph);
LeftLungT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
SETissueCompartment& LeftLungTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::LeftLung);
@@ -3106,8 +3106,8 @@ namespace pulse
LeftLungTissue.GetTissueToPlasmaAlphaAcidGlycoproteinRatio().SetValue(LLungAAGRatio);
LeftLungTissue.GetTotalMass().SetValue(LLungTissueMass, MassUnit::kg);
- SELiquidCompartmentLink& LeftLungVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLung),
- LeftLungExtracellular, pulse::ExpandedVascularLink::LeftLungVascularToTissue);
+ SELiquidCompartmentLink& LeftLungVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::LeftLung),
+ LeftLungExtracellular, pulse::VascularLink::LeftLungVascularToTissue);
LeftLungVascularToTissue.MapPath(LeftLung1ToLeftLungT2);
SELiquidCompartmentLink& LeftLungTissueToLymph = m_Compartments->CreateLiquidLink(LeftLungExtracellular, cLymph, pulse::LymphLink::LeftLungTissueToLymph);
@@ -3115,7 +3115,7 @@ namespace pulse
///////////
// Liver //
- SEFluidCircuitNode* Liver1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::Liver1);
+ SEFluidCircuitNode* Liver1 = cCardiovascular.GetNode(pulse::CardiovascularNode::Liver1);
SEFluidCircuitNode& LiverT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LiverT1);
SEFluidCircuitNode& LiverT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LiverT2);
SEFluidCircuitNode& LiverT3 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::LiverT3);
@@ -3123,16 +3123,16 @@ namespace pulse
LiverT3.GetPressure().Set(Ground->GetPressure());
LiverT1.GetVolumeBaseline().SetValue(LiverEWFraction * LiverTissueVolume * 1000.0, VolumeUnit::mL);
- SEFluidCircuitPath& Liver1ToLiverT2 = cCombinedCardiovascular.CreatePath(*Liver1, LiverT2, pulse::ExpandedCardiovascularTissuePath::Liver1ToLiverT2);
+ SEFluidCircuitPath& Liver1ToLiverT2 = cCombinedCardiovascular.CreatePath(*Liver1, LiverT2, pulse::TissuePath::Liver1ToLiverT2);
Liver1ToLiverT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LiverT2ToLiverT1 = cCombinedCardiovascular.CreatePath(LiverT2, LiverT1, pulse::ExpandedCardiovascularTissuePath::LiverT2ToLiverT1);
+ SEFluidCircuitPath& LiverT2ToLiverT1 = cCombinedCardiovascular.CreatePath(LiverT2, LiverT1, pulse::TissuePath::LiverT2ToLiverT1);
LiverT2ToLiverT1.GetResistanceBaseline().SetValue((1 / LiverTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& LiverT1ToLiverT3 = cCombinedCardiovascular.CreatePath(LiverT1, LiverT3, pulse::ExpandedCardiovascularTissuePath::LiverT1ToLiverT3);
+ SEFluidCircuitPath& LiverT1ToLiverT3 = cCombinedCardiovascular.CreatePath(LiverT1, LiverT3, pulse::TissuePath::LiverT1ToLiverT3);
LiverT1ToLiverT3.GetComplianceBaseline().SetValue(LiverT1.GetVolumeBaseline(VolumeUnit::mL) / LiverT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& GroundToLiverT3 = cCombinedCardiovascular.CreatePath(*Ground, LiverT3, pulse::ExpandedCardiovascularTissuePath::GroundToLiverT3);
+ SEFluidCircuitPath& GroundToLiverT3 = cCombinedCardiovascular.CreatePath(*Ground, LiverT3, pulse::TissuePath::GroundToLiverT3);
GroundToLiverT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LiverT1ToLymph = cCombinedCardiovascular.CreatePath(LiverT1, Lymph, pulse::ExpandedCardiovascularTissuePath::LiverT1ToLymph);
+ SEFluidCircuitPath& LiverT1ToLymph = cCombinedCardiovascular.CreatePath(LiverT1, Lymph, pulse::TissuePath::LiverT1ToLymph);
LiverT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
SETissueCompartment& LiverTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::Liver);
@@ -3153,8 +3153,8 @@ namespace pulse
LiverTissue.GetTissueToPlasmaLipoproteinRatio().SetValue(LiverLRatio);
LiverTissue.GetTotalMass().SetValue(LiverTissueMass, MassUnit::kg);
- SELiquidCompartmentLink& LiverVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::Liver),
- LiverExtracellular, pulse::ExpandedVascularLink::LiverVascularToTissue);
+ SELiquidCompartmentLink& LiverVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::Liver),
+ LiverExtracellular, pulse::VascularLink::LiverVascularToTissue);
LiverVascularToTissue.MapPath(Liver1ToLiverT2);
SELiquidCompartmentLink& LiverTissueToLymph = m_Compartments->CreateLiquidLink(LiverExtracellular, cLymph, pulse::LymphLink::LiverTissueToLymph);
@@ -3162,11 +3162,11 @@ namespace pulse
////////////
// Muscle //
- SEFluidCircuitNode* TorsoMuscle1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::TorsoMuscle1);
- SEFluidCircuitNode* LeftArmMuscle1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftArmMuscle1);
- SEFluidCircuitNode* LeftLegMuscle1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftLegMuscle1);
- SEFluidCircuitNode* RightArmMuscle1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::RightArmMuscle1);
- SEFluidCircuitNode* RightLegMuscle1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::RightLegMuscle1);
+ SEFluidCircuitNode* TorsoMuscle1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::TorsoMuscle1);
+ SEFluidCircuitNode* LeftArmMuscle1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::LeftArmMuscle1);
+ SEFluidCircuitNode* LeftLegMuscle1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::LeftLegMuscle1);
+ SEFluidCircuitNode* RightArmMuscle1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::RightArmMuscle1);
+ SEFluidCircuitNode* RightLegMuscle1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::RightLegMuscle1);
SEFluidCircuitNode& MuscleT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::MuscleT1);
SEFluidCircuitNode& MuscleT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::MuscleT2);
SEFluidCircuitNode& MuscleT3 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::MuscleT3);
@@ -3174,24 +3174,24 @@ namespace pulse
MuscleT3.GetPressure().Set(Ground->GetPressure());
MuscleT1.GetVolumeBaseline().SetValue(MuscleEWFraction * MuscleTissueVolume * 1000.0, VolumeUnit::mL);
- SEFluidCircuitPath& TorsoMuscle1ToMuscleT2 = cCombinedCardiovascular.CreatePath(*TorsoMuscle1, MuscleT2, pulse::ExpandedCardiovascularTissuePath::TorsoMuscle1ToMuscleT2);
+ SEFluidCircuitPath& TorsoMuscle1ToMuscleT2 = cCombinedCardiovascular.CreatePath(*TorsoMuscle1, MuscleT2, pulse::ComputationalLifeTissuePath::TorsoMuscle1ToMuscleT2);
TorsoMuscle1ToMuscleT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LeftArmMuscle1ToMuscleT2 = cCombinedCardiovascular.CreatePath(*LeftArmMuscle1, MuscleT2, pulse::ExpandedCardiovascularTissuePath::LeftArmMuscle1ToMuscleT2);
+ SEFluidCircuitPath& LeftArmMuscle1ToMuscleT2 = cCombinedCardiovascular.CreatePath(*LeftArmMuscle1, MuscleT2, pulse::ComputationalLifeTissuePath::LeftArmMuscle1ToMuscleT2);
LeftArmMuscle1ToMuscleT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LeftLegMuscle1ToMuscleT2 = cCombinedCardiovascular.CreatePath(*LeftLegMuscle1, MuscleT2, pulse::ExpandedCardiovascularTissuePath::LeftLegMuscle1ToMuscleT2);
+ SEFluidCircuitPath& LeftLegMuscle1ToMuscleT2 = cCombinedCardiovascular.CreatePath(*LeftLegMuscle1, MuscleT2, pulse::ComputationalLifeTissuePath::LeftLegMuscle1ToMuscleT2);
LeftLegMuscle1ToMuscleT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& RightArmMuscle1ToMuscleT2 = cCombinedCardiovascular.CreatePath(*RightArmMuscle1, MuscleT2, pulse::ExpandedCardiovascularTissuePath::RightArmMuscle1ToMuscleT2);
+ SEFluidCircuitPath& RightArmMuscle1ToMuscleT2 = cCombinedCardiovascular.CreatePath(*RightArmMuscle1, MuscleT2, pulse::ComputationalLifeTissuePath::RightArmMuscle1ToMuscleT2);
RightArmMuscle1ToMuscleT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& RightLegMuscle1ToMuscleT2 = cCombinedCardiovascular.CreatePath(*RightLegMuscle1, MuscleT2, pulse::ExpandedCardiovascularTissuePath::RightLegMuscle1ToMuscleT2);
+ SEFluidCircuitPath& RightLegMuscle1ToMuscleT2 = cCombinedCardiovascular.CreatePath(*RightLegMuscle1, MuscleT2, pulse::ComputationalLifeTissuePath::RightLegMuscle1ToMuscleT2);
RightLegMuscle1ToMuscleT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& MuscleT2ToMuscleT1 = cCombinedCardiovascular.CreatePath(MuscleT2, MuscleT1, pulse::ExpandedCardiovascularTissuePath::MuscleT2ToMuscleT1);
+ SEFluidCircuitPath& MuscleT2ToMuscleT1 = cCombinedCardiovascular.CreatePath(MuscleT2, MuscleT1, pulse::TissuePath::MuscleT2ToMuscleT1);
MuscleT2ToMuscleT1.GetResistanceBaseline().SetValue((1 / MuscleTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& MuscleT1ToMuscleT3 = cCombinedCardiovascular.CreatePath(MuscleT1, MuscleT3, pulse::ExpandedCardiovascularTissuePath::MuscleT1ToMuscleT3);
+ SEFluidCircuitPath& MuscleT1ToMuscleT3 = cCombinedCardiovascular.CreatePath(MuscleT1, MuscleT3, pulse::TissuePath::MuscleT1ToMuscleT3);
MuscleT1ToMuscleT3.GetComplianceBaseline().SetValue(MuscleT1.GetVolumeBaseline(VolumeUnit::mL) / MuscleT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& GroundToMuscleT3 = cCombinedCardiovascular.CreatePath(*Ground, MuscleT3, pulse::ExpandedCardiovascularTissuePath::GroundToMuscleT3);
+ SEFluidCircuitPath& GroundToMuscleT3 = cCombinedCardiovascular.CreatePath(*Ground, MuscleT3, pulse::TissuePath::GroundToMuscleT3);
GroundToMuscleT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& MuscleT1ToLymph = cCombinedCardiovascular.CreatePath(MuscleT1, Lymph, pulse::ExpandedCardiovascularTissuePath::MuscleT1ToLymph);
+ SEFluidCircuitPath& MuscleT1ToLymph = cCombinedCardiovascular.CreatePath(MuscleT1, Lymph, pulse::TissuePath::MuscleT1ToLymph);
MuscleT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
SETissueCompartment& MuscleTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::Muscle);
@@ -3212,20 +3212,20 @@ namespace pulse
MuscleTissue.GetTissueToPlasmaLipoproteinRatio().SetValue(MuscleLRatio);
MuscleTissue.GetTotalMass().SetValue(MuscleTissueMass, MassUnit::kg);
- SELiquidCompartmentLink& TorsoMuscleVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoMuscle),
- MuscleExtracellular, pulse::ExpandedVascularLink::TorsoMuscleVascularToTissue);
+ SELiquidCompartmentLink& TorsoMuscleVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoMuscle),
+ MuscleExtracellular, pulse::ComputationalLifeVascularLink::TorsoMuscleVascularToTissue);
TorsoMuscleVascularToTissue.MapPath(TorsoMuscle1ToMuscleT2);
- SELiquidCompartmentLink& LeftArmMuscleVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmMuscle),
- MuscleExtracellular, pulse::ExpandedVascularLink::LeftArmMuscleVascularToTissue);
+ SELiquidCompartmentLink& LeftArmMuscleVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmMuscle),
+ MuscleExtracellular, pulse::ComputationalLifeVascularLink::LeftArmMuscleVascularToTissue);
LeftArmMuscleVascularToTissue.MapPath(LeftArmMuscle1ToMuscleT2);
- SELiquidCompartmentLink& LeftLegMuscleVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegMuscle),
- MuscleExtracellular, pulse::ExpandedVascularLink::LeftLegMuscleVascularToTissue);
+ SELiquidCompartmentLink& LeftLegMuscleVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegMuscle),
+ MuscleExtracellular, pulse::ComputationalLifeVascularLink::LeftLegMuscleVascularToTissue);
LeftLegMuscleVascularToTissue.MapPath(LeftLegMuscle1ToMuscleT2);
- SELiquidCompartmentLink& RightArmMuscleVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmMuscle),
- MuscleExtracellular, pulse::ExpandedVascularLink::RightArmMuscleVascularToTissue);
+ SELiquidCompartmentLink& RightArmMuscleVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmMuscle),
+ MuscleExtracellular, pulse::ComputationalLifeVascularLink::RightArmMuscleVascularToTissue);
RightArmMuscleVascularToTissue.MapPath(RightArmMuscle1ToMuscleT2);
- SELiquidCompartmentLink& RightLegMuscleVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegMuscle),
- MuscleExtracellular, pulse::ExpandedVascularLink::RightLegMuscleVascularToTissue);
+ SELiquidCompartmentLink& RightLegMuscleVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegMuscle),
+ MuscleExtracellular, pulse::ComputationalLifeVascularLink::RightLegMuscleVascularToTissue);
RightLegMuscleVascularToTissue.MapPath(RightLegMuscle1ToMuscleT2);
SELiquidCompartmentLink& MuscleTissueToLymph = m_Compartments->CreateLiquidLink(MuscleExtracellular, cLymph, pulse::LymphLink::MuscleTissueToLymph);
@@ -3233,7 +3233,7 @@ namespace pulse
////////////////
// Myocardium //
- SEFluidCircuitNode* Myocardium2 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::Myocardium2);
+ SEFluidCircuitNode* Myocardium2 = cCardiovascular.GetNode(pulse::CardiovascularNode::Myocardium2);
SEFluidCircuitNode& MyocardiumT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::MyocardiumT1);
SEFluidCircuitNode& MyocardiumT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::MyocardiumT2);
SEFluidCircuitNode& MyocardiumT3 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::MyocardiumT3);
@@ -3241,16 +3241,16 @@ namespace pulse
MyocardiumT3.GetPressure().Set(Ground->GetPressure());
MyocardiumT1.GetVolumeBaseline().SetValue(MyocardiumEWFraction * MyocardiumTissueVolume * 1000.0, VolumeUnit::mL);
- SEFluidCircuitPath& Myocardium2ToMyocardiumT2 = cCombinedCardiovascular.CreatePath(*Myocardium2, MyocardiumT2, pulse::ExpandedCardiovascularTissuePath::Myocardium2ToMyocardiumT2);
+ SEFluidCircuitPath& Myocardium2ToMyocardiumT2 = cCombinedCardiovascular.CreatePath(*Myocardium2, MyocardiumT2, pulse::ComputationalLifeTissuePath::Myocardium2ToMyocardiumT2);
Myocardium2ToMyocardiumT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& MyocardiumT2ToMyocardiumT1 = cCombinedCardiovascular.CreatePath(MyocardiumT2, MyocardiumT1, pulse::ExpandedCardiovascularTissuePath::MyocardiumT2ToMyocardiumT1);
+ SEFluidCircuitPath& MyocardiumT2ToMyocardiumT1 = cCombinedCardiovascular.CreatePath(MyocardiumT2, MyocardiumT1, pulse::TissuePath::MyocardiumT2ToMyocardiumT1);
MyocardiumT2ToMyocardiumT1.GetResistanceBaseline().SetValue((1 / MyocardiumTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& MyocardiumT1ToMyocardiumT3 = cCombinedCardiovascular.CreatePath(MyocardiumT1, MyocardiumT3, pulse::ExpandedCardiovascularTissuePath::MyocardiumT1ToMyocardiumT3);
+ SEFluidCircuitPath& MyocardiumT1ToMyocardiumT3 = cCombinedCardiovascular.CreatePath(MyocardiumT1, MyocardiumT3, pulse::TissuePath::MyocardiumT1ToMyocardiumT3);
MyocardiumT1ToMyocardiumT3.GetComplianceBaseline().SetValue(MyocardiumT1.GetVolumeBaseline(VolumeUnit::mL) / MyocardiumT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& GroundToMyocardiumT3 = cCombinedCardiovascular.CreatePath(*Ground, MyocardiumT3, pulse::ExpandedCardiovascularTissuePath::GroundToMyocardiumT3);
+ SEFluidCircuitPath& GroundToMyocardiumT3 = cCombinedCardiovascular.CreatePath(*Ground, MyocardiumT3, pulse::TissuePath::GroundToMyocardiumT3);
GroundToMyocardiumT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& MyocardiumT1ToLymph = cCombinedCardiovascular.CreatePath(MyocardiumT1, Lymph, pulse::ExpandedCardiovascularTissuePath::MyocardiumT1ToLymph);
+ SEFluidCircuitPath& MyocardiumT1ToLymph = cCombinedCardiovascular.CreatePath(MyocardiumT1, Lymph, pulse::TissuePath::MyocardiumT1ToLymph);
MyocardiumT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
SETissueCompartment& MyocardiumTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::Myocardium);
@@ -3271,8 +3271,8 @@ namespace pulse
MyocardiumTissue.GetTissueToPlasmaLipoproteinRatio().SetValue(MyocardiumLRatio);
MyocardiumTissue.GetTotalMass().SetValue(MyocardiumTissueMass, MassUnit::kg);
- SELiquidCompartmentLink& MyocardiumVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::Myocardium),
- MyocardiumExtracellular, pulse::ExpandedVascularLink::MyocardiumVascularToTissue);
+ SELiquidCompartmentLink& MyocardiumVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::Myocardium),
+ MyocardiumExtracellular, pulse::VascularLink::MyocardiumVascularToTissue);
MyocardiumVascularToTissue.MapPath(Myocardium2ToMyocardiumT2);
SELiquidCompartmentLink& MyocardiumTissueToLymph = m_Compartments->CreateLiquidLink(MyocardiumExtracellular, cLymph, pulse::LymphLink::MyocardiumTissueToLymph);
@@ -3281,10 +3281,10 @@ namespace pulse
//////////////////
// Right Kidney //
SEFluidCircuitNode* RightKidney2;
- if (!m_Config->IsRenalEnabled())
- RightKidney2 = cCombinedCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::RightKidney2);
- else
+ if (m_Config->UseExpandedKidneys() == eSwitch::On)
RightKidney2 = cCombinedCardiovascular.GetNode(pulse::RenalNode::RightGlomerularCapillaries);
+ else
+ RightKidney2 = cCombinedCardiovascular.GetNode(pulse::CardiovascularNode::RightKidney2);
SEFluidCircuitNode& RightKidneyT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::RightKidneyT1);
SEFluidCircuitNode& RightKidneyT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::RightKidneyT2);
@@ -3293,16 +3293,16 @@ namespace pulse
RightKidneyT3.GetPressure().Set(Ground->GetPressure());
RightKidneyT1.GetVolumeBaseline().SetValue(RKidneyEWFraction * RKidneyTissueVolume * 1000.0, VolumeUnit::mL);
- SEFluidCircuitPath& RightKidney2ToRightKidneyT2 = cCombinedCardiovascular.CreatePath(*RightKidney2, RightKidneyT2, pulse::ExpandedCardiovascularTissuePath::RightKidney2ToRightKidneyT2);
+ SEFluidCircuitPath& RightKidney2ToRightKidneyT2 = cCombinedCardiovascular.CreatePath(*RightKidney2, RightKidneyT2, pulse::ComputationalLifeTissuePath::RightKidney2ToRightKidneyT2);
RightKidney2ToRightKidneyT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& RightKidneyT2ToRightKidneyT1 = cCombinedCardiovascular.CreatePath(RightKidneyT2, RightKidneyT1, pulse::ExpandedCardiovascularTissuePath::RightKidneyT2ToRightKidneyT1);
+ SEFluidCircuitPath& RightKidneyT2ToRightKidneyT1 = cCombinedCardiovascular.CreatePath(RightKidneyT2, RightKidneyT1, pulse::TissuePath::RightKidneyT2ToRightKidneyT1);
RightKidneyT2ToRightKidneyT1.GetResistanceBaseline().SetValue((1 / RKidneyTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightKidneyT1ToRightKidneyT3 = cCombinedCardiovascular.CreatePath(RightKidneyT1, RightKidneyT3, pulse::ExpandedCardiovascularTissuePath::RightKidneyT1ToRightKidneyT3);
+ SEFluidCircuitPath& RightKidneyT1ToRightKidneyT3 = cCombinedCardiovascular.CreatePath(RightKidneyT1, RightKidneyT3, pulse::TissuePath::RightKidneyT1ToRightKidneyT3);
RightKidneyT1ToRightKidneyT3.GetComplianceBaseline().SetValue(RightKidneyT1.GetVolumeBaseline(VolumeUnit::mL) / RightKidneyT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& GroundToRightKidneyT3 = cCombinedCardiovascular.CreatePath(*Ground, RightKidneyT3, pulse::ExpandedCardiovascularTissuePath::GroundToRightKidneyT3);
+ SEFluidCircuitPath& GroundToRightKidneyT3 = cCombinedCardiovascular.CreatePath(*Ground, RightKidneyT3, pulse::TissuePath::GroundToRightKidneyT3);
GroundToRightKidneyT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& RightKidneyT1ToLymph = cCombinedCardiovascular.CreatePath(RightKidneyT1, Lymph, pulse::ExpandedCardiovascularTissuePath::RightKidneyT1ToLymph);
+ SEFluidCircuitPath& RightKidneyT1ToLymph = cCombinedCardiovascular.CreatePath(RightKidneyT1, Lymph, pulse::TissuePath::RightKidneyT1ToLymph);
RightKidneyT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
SETissueCompartment& RightKidneyTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::RightKidney);
@@ -3323,8 +3323,8 @@ namespace pulse
RightKidneyTissue.GetTissueToPlasmaLipoproteinRatio().SetValue(RKidneyLRatio);
RightKidneyTissue.GetTotalMass().SetValue(RKidneyTissueMass, MassUnit::kg);
- SELiquidCompartmentLink& RightKidneyVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightKidney),
- RightKidneyExtracellular, pulse::ExpandedVascularLink::RightKidneyVascularToTissue);
+ SELiquidCompartmentLink& RightKidneyVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::RightKidney),
+ RightKidneyExtracellular, pulse::VascularLink::RightKidneyVascularToTissue);
RightKidneyVascularToTissue.MapPath(RightKidney2ToRightKidneyT2);
SELiquidCompartmentLink& RightKidneyTissueToLymph = m_Compartments->CreateLiquidLink(RightKidneyExtracellular, cLymph, pulse::LymphLink::RightKidneyTissueToLymph);
@@ -3332,7 +3332,7 @@ namespace pulse
////////////////
// Right Lung //
- SEFluidCircuitNode* RightPulmonaryCapillaries1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::RightPulmonaryCapillaries1);
+ SEFluidCircuitNode* RightPulmonaryCapillaries1 = cCardiovascular.GetNode(pulse::CardiovascularNode::RightPulmonaryCapillaries1);
SEFluidCircuitNode& RightLungT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::RightLungT1);
SEFluidCircuitNode& RightLungT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::RightLungT2);
SEFluidCircuitNode& RightLungT3 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::RightLungT3);
@@ -3340,16 +3340,16 @@ namespace pulse
RightLungT3.GetPressure().Set(Ground->GetPressure());
RightLungT1.GetVolumeBaseline().SetValue(RLungEWFraction * RLungTissueVolume * 1000.0, VolumeUnit::mL);
- SEFluidCircuitPath& RightLung1ToRightLungT2 = cCombinedCardiovascular.CreatePath(*RightPulmonaryCapillaries1, RightLungT2, pulse::ExpandedCardiovascularTissuePath::RightLung1ToRightLungT2);
+ SEFluidCircuitPath& RightLung1ToRightLungT2 = cCombinedCardiovascular.CreatePath(*RightPulmonaryCapillaries1, RightLungT2, pulse::TissuePath::RightLung1ToRightLungT2);
RightLung1ToRightLungT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& RightLungT2ToRightLungT1 = cCombinedCardiovascular.CreatePath(RightLungT2, RightLungT1, pulse::ExpandedCardiovascularTissuePath::RightLungT2ToRightLungT1);
+ SEFluidCircuitPath& RightLungT2ToRightLungT1 = cCombinedCardiovascular.CreatePath(RightLungT2, RightLungT1, pulse::TissuePath::RightLungT2ToRightLungT1);
RightLungT2ToRightLungT1.GetResistanceBaseline().SetValue((1 / RLungTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& RightLungT1ToRightLungT3 = cCombinedCardiovascular.CreatePath(RightLungT1, RightLungT3, pulse::ExpandedCardiovascularTissuePath::RightLungT1ToRightLungT3);
+ SEFluidCircuitPath& RightLungT1ToRightLungT3 = cCombinedCardiovascular.CreatePath(RightLungT1, RightLungT3, pulse::TissuePath::RightLungT1ToRightLungT3);
RightLungT1ToRightLungT3.GetComplianceBaseline().SetValue(RightLungT1.GetVolumeBaseline(VolumeUnit::mL) / RightLungT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& GroundToRightLungT3 = cCombinedCardiovascular.CreatePath(*Ground, RightLungT3, pulse::ExpandedCardiovascularTissuePath::GroundToRightLungT3);
+ SEFluidCircuitPath& GroundToRightLungT3 = cCombinedCardiovascular.CreatePath(*Ground, RightLungT3, pulse::TissuePath::GroundToRightLungT3);
GroundToRightLungT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& RightLungT1ToLymph = cCombinedCardiovascular.CreatePath(RightLungT1, Lymph, pulse::ExpandedCardiovascularTissuePath::RightLungT1ToLymph);
+ SEFluidCircuitPath& RightLungT1ToLymph = cCombinedCardiovascular.CreatePath(RightLungT1, Lymph, pulse::TissuePath::RightLungT1ToLymph);
RightLungT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
SETissueCompartment& RightLungTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::RightLung);
@@ -3370,8 +3370,8 @@ namespace pulse
RightLungTissue.GetTissueToPlasmaLipoproteinRatio().SetValue(RLungLRatio);
RightLungTissue.GetTotalMass().SetValue(RLungTissueMass, MassUnit::kg);
- SELiquidCompartmentLink& RightLungVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightLung),
- RightLungExtracellular, pulse::ExpandedVascularLink::RightLungVascularToTissue);
+ SELiquidCompartmentLink& RightLungVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::RightLung),
+ RightLungExtracellular, pulse::VascularLink::RightLungVascularToTissue);
RightLungVascularToTissue.MapPath(RightLung1ToRightLungT2);
SELiquidCompartmentLink& RightLungTissueToLymph = m_Compartments->CreateLiquidLink(RightLungExtracellular, cLymph, pulse::LymphLink::RightLungTissueToLymph);
@@ -3379,11 +3379,11 @@ namespace pulse
//////////
// Skin //
- SEFluidCircuitNode* TorsoSkin1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::TorsoSkin1);
- SEFluidCircuitNode* LeftArmSkin1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftArmSkin1);
- SEFluidCircuitNode* LeftLegSkin1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::LeftLegSkin1);
- SEFluidCircuitNode* RightArmSkin1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::RightArmSkin1);
- SEFluidCircuitNode* RightLegSkin1 = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::RightLegSkin1);
+ SEFluidCircuitNode* TorsoSkin1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::TorsoSkin1);
+ SEFluidCircuitNode* LeftArmSkin1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::LeftArmSkin1);
+ SEFluidCircuitNode* LeftLegSkin1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::LeftLegSkin1);
+ SEFluidCircuitNode* RightArmSkin1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::RightArmSkin1);
+ SEFluidCircuitNode* RightLegSkin1 = cCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::RightLegSkin1);
SEFluidCircuitNode& SkinT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::SkinT1);
SEFluidCircuitNode& SkinT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::SkinT2);
SEFluidCircuitNode& SkinT3 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::SkinT3);
@@ -3391,27 +3391,27 @@ namespace pulse
SkinT3.GetPressure().Set(Ground->GetPressure());
SkinT1.GetVolumeBaseline().SetValue(SkinEWFraction * SkinTissueVolume * 1000.0, VolumeUnit::mL);
- SEFluidCircuitPath& TorsoSkin1ToSkinT2 = cCombinedCardiovascular.CreatePath(*TorsoSkin1, SkinT2, pulse::ExpandedCardiovascularTissuePath::TorsoSkin1ToSkinT2);
+ SEFluidCircuitPath& TorsoSkin1ToSkinT2 = cCombinedCardiovascular.CreatePath(*TorsoSkin1, SkinT2, pulse::ComputationalLifeTissuePath::TorsoSkin1ToSkinT2);
TorsoSkin1ToSkinT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LeftArmSkin1ToSkinT2 = cCombinedCardiovascular.CreatePath(*LeftArmSkin1, SkinT2, pulse::ExpandedCardiovascularTissuePath::LeftArmSkin1ToSkinT2);
+ SEFluidCircuitPath& LeftArmSkin1ToSkinT2 = cCombinedCardiovascular.CreatePath(*LeftArmSkin1, SkinT2, pulse::ComputationalLifeTissuePath::LeftArmSkin1ToSkinT2);
LeftArmSkin1ToSkinT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& LeftLegSkin1ToSkinT2 = cCombinedCardiovascular.CreatePath(*LeftLegSkin1, SkinT2, pulse::ExpandedCardiovascularTissuePath::LeftLegSkin1ToSkinT2);
+ SEFluidCircuitPath& LeftLegSkin1ToSkinT2 = cCombinedCardiovascular.CreatePath(*LeftLegSkin1, SkinT2, pulse::ComputationalLifeTissuePath::LeftLegSkin1ToSkinT2);
LeftLegSkin1ToSkinT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& RightArmSkin1ToSkinT2 = cCombinedCardiovascular.CreatePath(*RightArmSkin1, SkinT2, pulse::ExpandedCardiovascularTissuePath::RightArmSkin1ToSkinT2);
+ SEFluidCircuitPath& RightArmSkin1ToSkinT2 = cCombinedCardiovascular.CreatePath(*RightArmSkin1, SkinT2, pulse::ComputationalLifeTissuePath::RightArmSkin1ToSkinT2);
RightArmSkin1ToSkinT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& RightLegSkin1ToSkinT2 = cCombinedCardiovascular.CreatePath(*RightLegSkin1, SkinT2, pulse::ExpandedCardiovascularTissuePath::RightLegSkin1ToSkinT2);
+ SEFluidCircuitPath& RightLegSkin1ToSkinT2 = cCombinedCardiovascular.CreatePath(*RightLegSkin1, SkinT2, pulse::ComputationalLifeTissuePath::RightLegSkin1ToSkinT2);
RightLegSkin1ToSkinT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& SkinT2ToSkinT1 = cCombinedCardiovascular.CreatePath(SkinT2, SkinT1, pulse::ExpandedCardiovascularTissuePath::SkinT2ToSkinT1);
+ SEFluidCircuitPath& SkinT2ToSkinT1 = cCombinedCardiovascular.CreatePath(SkinT2, SkinT1, pulse::TissuePath::SkinT2ToSkinT1);
SkinT2ToSkinT1.GetResistanceBaseline().SetValue((1 / SkinTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& SkinT1ToSkinT3 = cCombinedCardiovascular.CreatePath(SkinT1, SkinT3, pulse::ExpandedCardiovascularTissuePath::SkinT1ToSkinT3);
+ SEFluidCircuitPath& SkinT1ToSkinT3 = cCombinedCardiovascular.CreatePath(SkinT1, SkinT3, pulse::TissuePath::SkinT1ToSkinT3);
SkinT1ToSkinT3.GetComplianceBaseline().SetValue(SkinT1.GetVolumeBaseline(VolumeUnit::mL) / SkinT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& GroundToSkinT3 = cCombinedCardiovascular.CreatePath(*Ground, SkinT3, pulse::ExpandedCardiovascularTissuePath::GroundToSkinT3);
+ SEFluidCircuitPath& GroundToSkinT3 = cCombinedCardiovascular.CreatePath(*Ground, SkinT3, pulse::TissuePath::GroundToSkinT3);
GroundToSkinT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& SkinT1ToLymph = cCombinedCardiovascular.CreatePath(SkinT1, Lymph, pulse::ExpandedCardiovascularTissuePath::SkinT1ToLymph);
+ SEFluidCircuitPath& SkinT1ToLymph = cCombinedCardiovascular.CreatePath(SkinT1, Lymph, pulse::TissuePath::SkinT1ToLymph);
SkinT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
- SEFluidCircuitPath& SkinT1ToGround = cCombinedCardiovascular.CreatePath(SkinT1, *Ground, pulse::ExpandedCardiovascularTissuePath::SkinSweating);
+ SEFluidCircuitPath& SkinT1ToGround = cCombinedCardiovascular.CreatePath(SkinT1, *Ground, pulse::TissuePath::SkinSweating);
SkinT1ToGround.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
SETissueCompartment& SkinTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::Skin);
@@ -3432,20 +3432,20 @@ namespace pulse
SkinTissue.GetTissueToPlasmaLipoproteinRatio().SetValue(SkinLRatio);
SkinTissue.GetTotalMass().SetValue(SkinTissueMass, MassUnit::kg);
- SELiquidCompartmentLink& TorsoSkinVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoSkin),
- SkinExtracellular, pulse::ExpandedVascularLink::TorsoSkinVascularToTissue);
+ SELiquidCompartmentLink& TorsoSkinVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoSkin),
+ SkinExtracellular, pulse::ComputationalLifeVascularLink::TorsoSkinVascularToTissue);
TorsoSkinVascularToTissue.MapPath(TorsoSkin1ToSkinT2);
- SELiquidCompartmentLink& LeftArmSkinVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmSkin),
- SkinExtracellular, pulse::ExpandedVascularLink::LeftArmSkinVascularToTissue);
+ SELiquidCompartmentLink& LeftArmSkinVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmSkin),
+ SkinExtracellular, pulse::ComputationalLifeVascularLink::LeftArmSkinVascularToTissue);
LeftArmSkinVascularToTissue.MapPath(LeftArmSkin1ToSkinT2);
- SELiquidCompartmentLink& LeftLegSkinVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegSkin),
- SkinExtracellular, pulse::ExpandedVascularLink::LeftLegSkinVascularToTissue);
+ SELiquidCompartmentLink& LeftLegSkinVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegSkin),
+ SkinExtracellular, pulse::ComputationalLifeVascularLink::LeftLegSkinVascularToTissue);
LeftLegSkinVascularToTissue.MapPath(LeftLegSkin1ToSkinT2);
- SELiquidCompartmentLink& RightArmSkinVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmSkin),
- SkinExtracellular, pulse::ExpandedVascularLink::RightArmSkinVascularToTissue);
+ SELiquidCompartmentLink& RightArmSkinVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmSkin),
+ SkinExtracellular, pulse::ComputationalLifeVascularLink::RightArmSkinVascularToTissue);
RightArmSkinVascularToTissue.MapPath(RightArmSkin1ToSkinT2);
- SELiquidCompartmentLink& RightLegSkinVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegSkin),
- SkinExtracellular, pulse::ExpandedVascularLink::RightLegSkinVascularToTissue);
+ SELiquidCompartmentLink& RightLegSkinVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegSkin),
+ SkinExtracellular, pulse::ComputationalLifeVascularLink::RightLegSkinVascularToTissue);
RightLegSkinVascularToTissue.MapPath(RightLegSkin1ToSkinT2);
SELiquidCompartmentLink& SkinTissueToLymph = m_Compartments->CreateLiquidLink(SkinExtracellular, cLymph, pulse::LymphLink::SkinTissueToLymph);
@@ -3453,7 +3453,7 @@ namespace pulse
////////////
// Spleen //
- SEFluidCircuitNode* Spleen = cCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::Spleen1);
+ SEFluidCircuitNode* Spleen = cCardiovascular.GetNode(pulse::CardiovascularNode::Spleen1);
SEFluidCircuitNode& SpleenT1 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::SpleenT1);
SEFluidCircuitNode& SpleenT2 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::SpleenT2);
SEFluidCircuitNode& SpleenT3 = cCombinedCardiovascular.CreateNode(pulse::TissueNode::SpleenT3);
@@ -3461,16 +3461,16 @@ namespace pulse
SpleenT3.GetPressure().Set(Ground->GetPressure());
SpleenT1.GetVolumeBaseline().SetValue(SpleenEWFraction * SpleenTissueVolume * 1000.0, VolumeUnit::mL);
- SEFluidCircuitPath& Spleen1ToSpleenT2 = cCombinedCardiovascular.CreatePath(*Spleen, SpleenT2, pulse::ExpandedCardiovascularTissuePath::Spleen1ToSpleenT2);
+ SEFluidCircuitPath& Spleen1ToSpleenT2 = cCombinedCardiovascular.CreatePath(*Spleen, SpleenT2, pulse::TissuePath::Spleen1ToSpleenT2);
Spleen1ToSpleenT2.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& SpleenT2ToSpleenT1 = cCombinedCardiovascular.CreatePath(SpleenT2, SpleenT1, pulse::ExpandedCardiovascularTissuePath::SpleenT2ToSpleenT1);
+ SEFluidCircuitPath& SpleenT2ToSpleenT1 = cCombinedCardiovascular.CreatePath(SpleenT2, SpleenT1, pulse::TissuePath::SpleenT2ToSpleenT1);
SpleenT2ToSpleenT1.GetResistanceBaseline().SetValue((1 / SpleenTissueMass) * resistanceConstant, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
- SEFluidCircuitPath& SpleenT1ToSpleenT3 = cCombinedCardiovascular.CreatePath(SpleenT1, SpleenT3, pulse::ExpandedCardiovascularTissuePath::SpleenT1ToSpleenT3);
+ SEFluidCircuitPath& SpleenT1ToSpleenT3 = cCombinedCardiovascular.CreatePath(SpleenT1, SpleenT3, pulse::TissuePath::SpleenT1ToSpleenT3);
SpleenT1ToSpleenT3.GetComplianceBaseline().SetValue(SpleenT1.GetVolumeBaseline(VolumeUnit::mL) / SpleenT1.GetPressure(PressureUnit::mmHg), VolumePerPressureUnit::mL_Per_mmHg);
- SEFluidCircuitPath& GroundToSpleenT3 = cCombinedCardiovascular.CreatePath(*Ground, SpleenT3, pulse::ExpandedCardiovascularTissuePath::GroundToSpleenT3);
+ SEFluidCircuitPath& GroundToSpleenT3 = cCombinedCardiovascular.CreatePath(*Ground, SpleenT3, pulse::TissuePath::GroundToSpleenT3);
GroundToSpleenT3.GetPressureSourceBaseline().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitPath& SpleenT1ToLymph = cCombinedCardiovascular.CreatePath(SpleenT1, Lymph, pulse::ExpandedCardiovascularTissuePath::SpleenT1ToLymph);
+ SEFluidCircuitPath& SpleenT1ToLymph = cCombinedCardiovascular.CreatePath(SpleenT1, Lymph, pulse::TissuePath::SpleenT1ToLymph);
SpleenT1ToLymph.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
SETissueCompartment& SpleenTissue = m_Compartments->CreateTissueCompartment(pulse::TissueCompartment::Spleen);
@@ -3491,8 +3491,8 @@ namespace pulse
SpleenTissue.GetTissueToPlasmaLipoproteinRatio().SetValue(SpleenLRatio);
SpleenTissue.GetTotalMass().SetValue(SpleenTissueMass, MassUnit::kg);
- SELiquidCompartmentLink& SpleenVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::ExpandedVascularCompartment::Spleen),
- SpleenExtracellular, pulse::ExpandedVascularLink::SpleenVascularToTissue);
+ SELiquidCompartmentLink& SpleenVascularToTissue = m_Compartments->CreateLiquidLink(*m_Compartments->GetLiquidCompartment(pulse::VascularCompartment::Spleen),
+ SpleenExtracellular, pulse::VascularLink::SpleenVascularToTissue);
SpleenVascularToTissue.MapPath(Spleen1ToSpleenT2);
SELiquidCompartmentLink& SpleenTissueToLymph = m_Compartments->CreateLiquidLink(SpleenExtracellular, cLymph, pulse::LymphLink::SpleenTissueToLymph);
@@ -3503,18 +3503,18 @@ namespace pulse
}
- void Controller::SetupExpandedCardiovascularCerebrospinalFluid()
+ void Controller::SetupComputationalLifeCerebrospinalFluid()
{
- Info("Setting Up Expanded Cardiovascular Cerebrospinal Fluid");
+ Info("Setting Up ComputationalLife Cerebrospinal Fluid");
SEFluidCircuit& cCombinedCardiovascular = m_Circuits->GetActiveCardiovascularCircuit();
- SEFluidCircuitNode* Ground = cCombinedCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::Ground);
- SEFluidCircuitNode* Intracranial2 = cCombinedCardiovascular.GetNode(pulse::ExpandedCardiovascularNode::Intracranial2);
+ SEFluidCircuitNode* Ground = cCombinedCardiovascular.GetNode(pulse::CardiovascularNode::Ground);
+ SEFluidCircuitNode* Intracranial2 = cCombinedCardiovascular.GetNode(pulse::ComputationalLifeCardiovascularNode::Intracranial2);
- double brainVascularCompliance = cCombinedCardiovascular.GetPath(pulse::ExpandedCardiovascularPath::Intracranial2ToGround)->GetComplianceBaseline().GetValue(VolumePerPressureUnit::mL_Per_mmHg);
+ double brainVascularCompliance = cCombinedCardiovascular.GetPath(pulse::ComputationalLifeCardiovascularPath::Intracranial2ToGround)->GetComplianceBaseline().GetValue(VolumePerPressureUnit::mL_Per_mmHg);
double brainVascularPressure = Intracranial2->GetPressure().GetValue(PressureUnit::mmHg);
- m_Circuits->DeleteFluidPath(pulse::ExpandedCardiovascularPath::Intracranial2ToGround);
+ m_Circuits->DeleteFluidPath(pulse::ComputationalLifeCardiovascularPath::Intracranial2ToGround);
SEFluidCircuitNode& VascularCSFBarrier = cCombinedCardiovascular.CreateNode(pulse::CerebrospinalFluidNode::VascularCSFBarrier);
VascularCSFBarrier.GetPressure().SetValue(brainVascularPressure, PressureUnit::mmHg);
diff --git a/src/cpp/engine/common/controller/SetupExpandedRespiratory.cpp b/src/cpp/engine/common/controller/SetupExpandedLungs.cpp
similarity index 84%
rename from src/cpp/engine/common/controller/SetupExpandedRespiratory.cpp
rename to src/cpp/engine/common/controller/SetupExpandedLungs.cpp
index 2af95e9ea..1746e8908 100644
--- a/src/cpp/engine/common/controller/SetupExpandedRespiratory.cpp
+++ b/src/cpp/engine/common/controller/SetupExpandedLungs.cpp
@@ -26,9 +26,9 @@
namespace pulse
{
- void Controller::SetupExpandedPulmonaryRespiratory()
+ void Controller::SetupExpandedLungsRespiratory()
{
- Info("Setting Up Expanded Respiratory");
+ Info("Setting Up Expanded Lungs Respiratory");
double RightLungRatio = m_InitialPatient->GetRightLungRatio().GetValue();
double LeftLungRatio = 1 - RightLungRatio;
@@ -61,79 +61,79 @@ namespace pulse
double openResistance_cmH2O_s_Per_L = m_Config->GetDefaultOpenFlowResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- SEFluidCircuitNode& RightMainBronchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightMainBronchus);
- SEFluidCircuitNode& LeftMainBronchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftMainBronchus);
- SEFluidCircuitNode& RightIntermediateBronchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightIntermediateBronchus);
- SEFluidCircuitNode& RightSuperiorLobarBronchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobarBronchus);
- SEFluidCircuitNode& RightMiddleLobarBronchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightMiddleLobarBronchus);
- SEFluidCircuitNode& RightInferiorLobarBronchus1 = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobarBronchus1);
- SEFluidCircuitNode& LeftInferiorLobarBronchus1 = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobarBronchus1);
- SEFluidCircuitNode& LeftSuperiorLobarBronchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobarBronchus);
- SEFluidCircuitNode& RightInferiorLobarBronchus2 = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobarBronchus2);
- SEFluidCircuitNode& LeftInferiorLobarBronchus2 = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobarBronchus2);
- SEFluidCircuitNode& RightSuperiorApicoposteriorBronchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorApicoposteriorBronchus);
- SEFluidCircuitNode& RightInferiorLobarBronchus3 = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobarBronchus3);
- SEFluidCircuitNode& LeftInferiorLobarBronchus3 = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobarBronchus3);
- SEFluidCircuitNode& LeftLingularBonchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftLingularBonchus);
- SEFluidCircuitNode& LeftSuperiorApicoposteriorBronchus = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorApicoposteriorBronchus);
- SEFluidCircuitNode& RightInferiorLobarBronchus4 = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobarBronchus4);
-
- SEFluidCircuitNode& RightSuperiorLobeApicalBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeApicalBronchiole);
- SEFluidCircuitNode& RightSuperiorLobePosteriorBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobePosteriorBronchiole);
- SEFluidCircuitNode& RightSuperiorLobeAnteriorBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeAnteriorBronchiole);
- SEFluidCircuitNode& RightMiddleLobeLateralBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeLateralBronchiole);
- SEFluidCircuitNode& RightMiddleLobeMedialBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeMedialBronchiole);
- SEFluidCircuitNode& RightInferiorLobeSuperiorBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeSuperiorBronchiole);
- SEFluidCircuitNode& RightInferiorLobeMedialBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeMedialBasalBronchiole);
- SEFluidCircuitNode& RightInferiorLobeAnteriorBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeAnteriorBasalBronchiole);
- SEFluidCircuitNode& RightInferiorLobeLateralBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeLateralBasalBronchiole);
- SEFluidCircuitNode& RightInferiorLobePosteriorBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobePosteriorBasalBronchiole);
- SEFluidCircuitNode& LeftInferiorLobePosteriorBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobePosteriorBasalBronchiole);
- SEFluidCircuitNode& LeftInferiorLobeLateralBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeLateralBasalBronchiole);
- SEFluidCircuitNode& LeftInferiorLobeAnteromedialBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeAnteromedialBasalBronchiole);
- SEFluidCircuitNode& LeftInferiorLobeSuperiorBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeSuperiorBronchiole);
- SEFluidCircuitNode& LeftSuperiorLobeInferiorLingulaBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeInferiorLingulaBronchiole);
- SEFluidCircuitNode& LeftSuperiorLobeSuperiorLingulaBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeSuperiorLingulaBronchiole);
- SEFluidCircuitNode& LeftSuperiorLobeAnteriorBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeAnteriorBronchiole);
- SEFluidCircuitNode& LeftSuperiorLobeApicoposteriorBronchiole = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeApicoposteriorBronchiole);
-
- SEFluidCircuitNode& RightSuperiorLobeApicalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeApicalAlveolarDeadSpace);
- SEFluidCircuitNode& RightSuperiorLobePosteriorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobePosteriorAlveolarDeadSpace);
- SEFluidCircuitNode& RightSuperiorLobeAnteriorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeAnteriorAlveolarDeadSpace);
- SEFluidCircuitNode& RightMiddleLobeLateralAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeLateralAlveolarDeadSpace);
- SEFluidCircuitNode& RightMiddleLobeMedialAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeMedialAlveolarDeadSpace);
- SEFluidCircuitNode& RightInferiorLobeSuperiorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeSuperiorAlveolarDeadSpace);
- SEFluidCircuitNode& RightInferiorLobeMedialBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeMedialBasalAlveolarDeadSpace);
- SEFluidCircuitNode& RightInferiorLobeAnteriorBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeAnteriorBasalAlveolarDeadSpace);
- SEFluidCircuitNode& RightInferiorLobeLateralBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeLateralBasalAlveolarDeadSpace);
- SEFluidCircuitNode& RightInferiorLobePosteriorBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobePosteriorBasalAlveolarDeadSpace);
- SEFluidCircuitNode& LeftInferiorLobePosteriorBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobePosteriorBasalAlveolarDeadSpace);
- SEFluidCircuitNode& LeftInferiorLobeLateralBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeLateralBasalAlveolarDeadSpace);
- SEFluidCircuitNode& LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
- SEFluidCircuitNode& LeftInferiorLobeSuperiorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeSuperiorAlveolarDeadSpace);
- SEFluidCircuitNode& LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
- SEFluidCircuitNode& LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
- SEFluidCircuitNode& LeftSuperiorLobeAnteriorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeAnteriorAlveolarDeadSpace);
- SEFluidCircuitNode& LeftSuperiorLobeApicoposteriorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
-
- SEFluidCircuitNode& RightSuperiorLobeApicalAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeApicalAlveoli);
- SEFluidCircuitNode& RightSuperiorLobePosteriorAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobePosteriorAlveoli);
- SEFluidCircuitNode& RightSuperiorLobeAnteriorAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeAnteriorAlveoli);
- SEFluidCircuitNode& RightMiddleLobeLateralAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeLateralAlveoli);
- SEFluidCircuitNode& RightMiddleLobeMedialAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeMedialAlveoli);
- SEFluidCircuitNode& RightInferiorLobeSuperiorAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeSuperiorAlveoli);
- SEFluidCircuitNode& RightInferiorLobeMedialBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeMedialBasalAlveoli);
- SEFluidCircuitNode& RightInferiorLobeAnteriorBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeAnteriorBasalAlveoli);
- SEFluidCircuitNode& RightInferiorLobeLateralBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeLateralBasalAlveoli);
- SEFluidCircuitNode& RightInferiorLobePosteriorBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::RightInferiorLobePosteriorBasalAlveoli);
- SEFluidCircuitNode& LeftInferiorLobePosteriorBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobePosteriorBasalAlveoli);
- SEFluidCircuitNode& LeftInferiorLobeLateralBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeLateralBasalAlveoli);
- SEFluidCircuitNode& LeftInferiorLobeAnteromedialBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeAnteromedialBasalAlveoli);
- SEFluidCircuitNode& LeftInferiorLobeSuperiorAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeSuperiorAlveoli);
- SEFluidCircuitNode& LeftSuperiorLobeInferiorLingulaAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeInferiorLingulaAlveoli);
- SEFluidCircuitNode& LeftSuperiorLobeSuperiorLingulaAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeSuperiorLingulaAlveoli);
- SEFluidCircuitNode& LeftSuperiorLobeAnteriorAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeAnteriorAlveoli);
- SEFluidCircuitNode& LeftSuperiorLobeApicoposteriorAlveoli = cRespiratory.CreateNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeApicoposteriorAlveoli);
+ SEFluidCircuitNode& RightMainBronchus = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightMainBronchus);
+ SEFluidCircuitNode& LeftMainBronchus = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftMainBronchus);
+ SEFluidCircuitNode& RightIntermediateBronchus = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightIntermediateBronchus);
+ SEFluidCircuitNode& RightSuperiorLobarBronchus = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobarBronchus);
+ SEFluidCircuitNode& RightMiddleLobarBronchus = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightMiddleLobarBronchus);
+ SEFluidCircuitNode& RightInferiorLobarBronchus1 = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobarBronchus1);
+ SEFluidCircuitNode& LeftInferiorLobarBronchus1 = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobarBronchus1);
+ SEFluidCircuitNode& LeftSuperiorLobarBronchus = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobarBronchus);
+ SEFluidCircuitNode& RightInferiorLobarBronchus2 = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobarBronchus2);
+ SEFluidCircuitNode& LeftInferiorLobarBronchus2 = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobarBronchus2);
+ SEFluidCircuitNode& RightSuperiorApicoposteriorBronchus = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorApicoposteriorBronchus);
+ SEFluidCircuitNode& RightInferiorLobarBronchus3 = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobarBronchus3);
+ SEFluidCircuitNode& LeftInferiorLobarBronchus3 = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobarBronchus3);
+ SEFluidCircuitNode& LeftLingularBonchus = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftLingularBonchus);
+ SEFluidCircuitNode& LeftSuperiorApicoposteriorBronchus = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorApicoposteriorBronchus);
+ SEFluidCircuitNode& RightInferiorLobarBronchus4 = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobarBronchus4);
+
+ SEFluidCircuitNode& RightSuperiorLobeApicalBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobeApicalBronchiole);
+ SEFluidCircuitNode& RightSuperiorLobePosteriorBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobePosteriorBronchiole);
+ SEFluidCircuitNode& RightSuperiorLobeAnteriorBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobeAnteriorBronchiole);
+ SEFluidCircuitNode& RightMiddleLobeLateralBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightMiddleLobeLateralBronchiole);
+ SEFluidCircuitNode& RightMiddleLobeMedialBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightMiddleLobeMedialBronchiole);
+ SEFluidCircuitNode& RightInferiorLobeSuperiorBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeSuperiorBronchiole);
+ SEFluidCircuitNode& RightInferiorLobeMedialBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeMedialBasalBronchiole);
+ SEFluidCircuitNode& RightInferiorLobeAnteriorBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeAnteriorBasalBronchiole);
+ SEFluidCircuitNode& RightInferiorLobeLateralBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeLateralBasalBronchiole);
+ SEFluidCircuitNode& RightInferiorLobePosteriorBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobePosteriorBasalBronchiole);
+ SEFluidCircuitNode& LeftInferiorLobePosteriorBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobePosteriorBasalBronchiole);
+ SEFluidCircuitNode& LeftInferiorLobeLateralBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeLateralBasalBronchiole);
+ SEFluidCircuitNode& LeftInferiorLobeAnteromedialBasalBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeAnteromedialBasalBronchiole);
+ SEFluidCircuitNode& LeftInferiorLobeSuperiorBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeSuperiorBronchiole);
+ SEFluidCircuitNode& LeftSuperiorLobeInferiorLingulaBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeInferiorLingulaBronchiole);
+ SEFluidCircuitNode& LeftSuperiorLobeSuperiorLingulaBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeSuperiorLingulaBronchiole);
+ SEFluidCircuitNode& LeftSuperiorLobeAnteriorBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeAnteriorBronchiole);
+ SEFluidCircuitNode& LeftSuperiorLobeApicoposteriorBronchiole = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeApicoposteriorBronchiole);
+
+ SEFluidCircuitNode& RightSuperiorLobeApicalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobeApicalAlveolarDeadSpace);
+ SEFluidCircuitNode& RightSuperiorLobePosteriorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobePosteriorAlveolarDeadSpace);
+ SEFluidCircuitNode& RightSuperiorLobeAnteriorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobeAnteriorAlveolarDeadSpace);
+ SEFluidCircuitNode& RightMiddleLobeLateralAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightMiddleLobeLateralAlveolarDeadSpace);
+ SEFluidCircuitNode& RightMiddleLobeMedialAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightMiddleLobeMedialAlveolarDeadSpace);
+ SEFluidCircuitNode& RightInferiorLobeSuperiorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeSuperiorAlveolarDeadSpace);
+ SEFluidCircuitNode& RightInferiorLobeMedialBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeMedialBasalAlveolarDeadSpace);
+ SEFluidCircuitNode& RightInferiorLobeAnteriorBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ SEFluidCircuitNode& RightInferiorLobeLateralBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeLateralBasalAlveolarDeadSpace);
+ SEFluidCircuitNode& RightInferiorLobePosteriorBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobePosteriorBasalAlveolarDeadSpace);
+ SEFluidCircuitNode& LeftInferiorLobePosteriorBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ SEFluidCircuitNode& LeftInferiorLobeLateralBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ SEFluidCircuitNode& LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ SEFluidCircuitNode& LeftInferiorLobeSuperiorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeSuperiorAlveolarDeadSpace);
+ SEFluidCircuitNode& LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ SEFluidCircuitNode& LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ SEFluidCircuitNode& LeftSuperiorLobeAnteriorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ SEFluidCircuitNode& LeftSuperiorLobeApicoposteriorAlveolarDeadSpace = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ SEFluidCircuitNode& RightSuperiorLobeApicalAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobeApicalAlveoli);
+ SEFluidCircuitNode& RightSuperiorLobePosteriorAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobePosteriorAlveoli);
+ SEFluidCircuitNode& RightSuperiorLobeAnteriorAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobeAnteriorAlveoli);
+ SEFluidCircuitNode& RightMiddleLobeLateralAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightMiddleLobeLateralAlveoli);
+ SEFluidCircuitNode& RightMiddleLobeMedialAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightMiddleLobeMedialAlveoli);
+ SEFluidCircuitNode& RightInferiorLobeSuperiorAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeSuperiorAlveoli);
+ SEFluidCircuitNode& RightInferiorLobeMedialBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeMedialBasalAlveoli);
+ SEFluidCircuitNode& RightInferiorLobeAnteriorBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeAnteriorBasalAlveoli);
+ SEFluidCircuitNode& RightInferiorLobeLateralBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeLateralBasalAlveoli);
+ SEFluidCircuitNode& RightInferiorLobePosteriorBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobePosteriorBasalAlveoli);
+ SEFluidCircuitNode& LeftInferiorLobePosteriorBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobePosteriorBasalAlveoli);
+ SEFluidCircuitNode& LeftInferiorLobeLateralBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeLateralBasalAlveoli);
+ SEFluidCircuitNode& LeftInferiorLobeAnteromedialBasalAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeAnteromedialBasalAlveoli);
+ SEFluidCircuitNode& LeftInferiorLobeSuperiorAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeSuperiorAlveoli);
+ SEFluidCircuitNode& LeftSuperiorLobeInferiorLingulaAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeInferiorLingulaAlveoli);
+ SEFluidCircuitNode& LeftSuperiorLobeSuperiorLingulaAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeSuperiorLingulaAlveoli);
+ SEFluidCircuitNode& LeftSuperiorLobeAnteriorAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeAnteriorAlveoli);
+ SEFluidCircuitNode& LeftSuperiorLobeApicoposteriorAlveoli = cRespiratory.CreateNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeApicoposteriorAlveoli);
RightMainBronchus.GetPressure().Set(Ambient.GetNextPressure());
LeftMainBronchus.GetPressure().Set(Ambient.GetNextPressure());
@@ -383,103 +383,103 @@ namespace pulse
SEFluidCircuitPath& PharynxToCarina = cRespiratory.CreatePath(Pharynx, Carina, pulse::RespiratoryPath::PharynxToCarina);
PharynxToCarina.GetResistanceBaseline().SetValue(TracheaResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- SEFluidCircuitPath& CarinaToRightMainBronchus = cRespiratory.CreatePath(Carina, RightMainBronchus, pulse::ExpandedRespiratoryPath::CarinaToRightMainBronchus);
- SEFluidCircuitPath& RightMainBronchusToRightIntermediateBronchus = cRespiratory.CreatePath(RightMainBronchus, RightIntermediateBronchus, pulse::ExpandedRespiratoryPath::RightMainBronchusToRightIntermediateBronchus);
- SEFluidCircuitPath& RightMainBronchusToRightSuperiorLobarBronchus = cRespiratory.CreatePath(RightMainBronchus, RightSuperiorLobarBronchus, pulse::ExpandedRespiratoryPath::RightMainBronchusToRightSuperiorLobarBronchus);
- SEFluidCircuitPath& RightIntermediateBronchusToRightMiddleLobarBronchus = cRespiratory.CreatePath(RightIntermediateBronchus, RightMiddleLobarBronchus, pulse::ExpandedRespiratoryPath::RightIntermediateBronchusToRightMiddleLobarBronchus);
- SEFluidCircuitPath& RightIntermediateBronchusToRightInferiorLobarBronchus1 = cRespiratory.CreatePath(RightIntermediateBronchus, RightInferiorLobarBronchus1, pulse::ExpandedRespiratoryPath::RightIntermediateBronchusToRightInferiorLobarBronchus1);
- SEFluidCircuitPath& RightInferiorLobarBronchus1ToRightInferiorLobarBronchus2 = cRespiratory.CreatePath(RightInferiorLobarBronchus1, RightInferiorLobarBronchus2, pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus1ToRightInferiorLobarBronchus2);
- SEFluidCircuitPath& RightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus = cRespiratory.CreatePath(RightSuperiorLobarBronchus, RightSuperiorApicoposteriorBronchus, pulse::ExpandedRespiratoryPath::RightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus);
- SEFluidCircuitPath& RightInferiorLobarBronchus2ToRightInferiorLobarBronchus3 = cRespiratory.CreatePath(RightInferiorLobarBronchus2, RightInferiorLobarBronchus3, pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus2ToRightInferiorLobarBronchus3);
- SEFluidCircuitPath& RightInferiorLobarBronchus2ToRightInferiorLobarBronchus4 = cRespiratory.CreatePath(RightInferiorLobarBronchus2, RightInferiorLobarBronchus4, pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus2ToRightInferiorLobarBronchus4);
-
- SEFluidCircuitPath& CarinaToLeftMainBronchus = cRespiratory.CreatePath(Carina, LeftMainBronchus, pulse::ExpandedRespiratoryPath::CarinaToLeftMainBronchus);
- SEFluidCircuitPath& LeftMainBronchusToLeftInferiorLobarBronchus1 = cRespiratory.CreatePath(LeftMainBronchus, LeftInferiorLobarBronchus1, pulse::ExpandedRespiratoryPath::LeftMainBronchusToLeftInferiorLobarBronchus1);
- SEFluidCircuitPath& LeftMainBronchusToLeftSuperiorLobarBronchus = cRespiratory.CreatePath(LeftMainBronchus, LeftSuperiorLobarBronchus, pulse::ExpandedRespiratoryPath::LeftMainBronchusToLeftSuperiorLobarBronchus);
- SEFluidCircuitPath& LeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2 = cRespiratory.CreatePath(LeftInferiorLobarBronchus1, LeftInferiorLobarBronchus2, pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2);
- SEFluidCircuitPath& LeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3 = cRespiratory.CreatePath(LeftInferiorLobarBronchus2, LeftInferiorLobarBronchus3, pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3);
- SEFluidCircuitPath& LeftSuperiorLobarBronchusToLeftLingularBonchus = cRespiratory.CreatePath(LeftSuperiorLobarBronchus, LeftLingularBonchus, pulse::ExpandedRespiratoryPath::LeftSuperiorLobarBronchusToLeftLingularBonchus);
- SEFluidCircuitPath& LeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus = cRespiratory.CreatePath(LeftSuperiorLobarBronchus, LeftSuperiorApicoposteriorBronchus, pulse::ExpandedRespiratoryPath::LeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus);
-
- SEFluidCircuitPath& RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole = cRespiratory.CreatePath(RightSuperiorApicoposteriorBronchus, RightSuperiorLobeApicalBronchiole, pulse::ExpandedRespiratoryPath::RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole);
- SEFluidCircuitPath& RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole = cRespiratory.CreatePath(RightSuperiorApicoposteriorBronchus, RightSuperiorLobePosteriorBronchiole, pulse::ExpandedRespiratoryPath::RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole);
- SEFluidCircuitPath& RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole = cRespiratory.CreatePath(RightSuperiorLobarBronchus, RightSuperiorLobeAnteriorBronchiole, pulse::ExpandedRespiratoryPath::RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole);
- SEFluidCircuitPath& RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole = cRespiratory.CreatePath(RightMiddleLobarBronchus, RightMiddleLobeLateralBronchiole, pulse::ExpandedRespiratoryPath::RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole);
- SEFluidCircuitPath& RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole = cRespiratory.CreatePath(RightMiddleLobarBronchus, RightMiddleLobeMedialBronchiole, pulse::ExpandedRespiratoryPath::RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole);
- SEFluidCircuitPath& RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole = cRespiratory.CreatePath(RightInferiorLobarBronchus1, RightInferiorLobeSuperiorBronchiole, pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole);
- SEFluidCircuitPath& RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole = cRespiratory.CreatePath(RightInferiorLobarBronchus2, RightInferiorLobeMedialBasalBronchiole, pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole);
- SEFluidCircuitPath& RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole = cRespiratory.CreatePath(RightInferiorLobarBronchus3, RightInferiorLobeAnteriorBasalBronchiole, pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole);
- SEFluidCircuitPath& RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole = cRespiratory.CreatePath(RightInferiorLobarBronchus4, RightInferiorLobeLateralBasalBronchiole, pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole);
- SEFluidCircuitPath& RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole = cRespiratory.CreatePath(RightInferiorLobarBronchus4, RightInferiorLobePosteriorBasalBronchiole, pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole);
-
- SEFluidCircuitPath& LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole = cRespiratory.CreatePath(LeftInferiorLobarBronchus3, LeftInferiorLobeLateralBasalBronchiole, pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole);
- SEFluidCircuitPath& LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole = cRespiratory.CreatePath(LeftInferiorLobarBronchus3, LeftInferiorLobePosteriorBasalBronchiole, pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole);
- SEFluidCircuitPath& LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole = cRespiratory.CreatePath(LeftInferiorLobarBronchus2, LeftInferiorLobeAnteromedialBasalBronchiole, pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole);
- SEFluidCircuitPath& LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole = cRespiratory.CreatePath(LeftInferiorLobarBronchus1, LeftInferiorLobeSuperiorBronchiole, pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole);
- SEFluidCircuitPath& LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole = cRespiratory.CreatePath(LeftLingularBonchus, LeftSuperiorLobeInferiorLingulaBronchiole, pulse::ExpandedRespiratoryPath::LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole);
- SEFluidCircuitPath& LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole = cRespiratory.CreatePath(LeftLingularBonchus, LeftSuperiorLobeSuperiorLingulaBronchiole, pulse::ExpandedRespiratoryPath::LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole);
- SEFluidCircuitPath& LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole = cRespiratory.CreatePath(LeftSuperiorApicoposteriorBronchus, LeftSuperiorLobeAnteriorBronchiole, pulse::ExpandedRespiratoryPath::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole);
- SEFluidCircuitPath& LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole = cRespiratory.CreatePath(LeftSuperiorApicoposteriorBronchus, LeftSuperiorLobeApicoposteriorBronchiole, pulse::ExpandedRespiratoryPath::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole);
-
- SEFluidCircuitPath& RightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace = cRespiratory.CreatePath(RightSuperiorLobeApicalBronchiole, RightSuperiorLobeApicalAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace);
- SEFluidCircuitPath& RightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace = cRespiratory.CreatePath(RightSuperiorLobePosteriorBronchiole, RightSuperiorLobePosteriorAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace);
- SEFluidCircuitPath& RightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace = cRespiratory.CreatePath(RightSuperiorLobeAnteriorBronchiole, RightSuperiorLobeAnteriorAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace);
- SEFluidCircuitPath& RightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace = cRespiratory.CreatePath(RightMiddleLobeLateralBronchiole, RightMiddleLobeLateralAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace);
- SEFluidCircuitPath& RightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace = cRespiratory.CreatePath(RightMiddleLobeMedialBronchiole, RightMiddleLobeMedialAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace);
- SEFluidCircuitPath& RightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace = cRespiratory.CreatePath(RightInferiorLobeSuperiorBronchiole, RightInferiorLobeSuperiorAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace);
- SEFluidCircuitPath& RightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace = cRespiratory.CreatePath(RightInferiorLobeMedialBasalBronchiole, RightInferiorLobeMedialBasalAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace);
- SEFluidCircuitPath& RightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace = cRespiratory.CreatePath(RightInferiorLobeAnteriorBasalBronchiole, RightInferiorLobeAnteriorBasalAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace);
- SEFluidCircuitPath& RightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace = cRespiratory.CreatePath(RightInferiorLobeLateralBasalBronchiole, RightInferiorLobeLateralBasalAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace);
- SEFluidCircuitPath& RightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace = cRespiratory.CreatePath(RightInferiorLobePosteriorBasalBronchiole, RightInferiorLobePosteriorBasalAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::RightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace);
-
- SEFluidCircuitPath& LeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace = cRespiratory.CreatePath(LeftInferiorLobePosteriorBasalBronchiole, LeftInferiorLobePosteriorBasalAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::LeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace);
- SEFluidCircuitPath& LeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace = cRespiratory.CreatePath(LeftInferiorLobeLateralBasalBronchiole, LeftInferiorLobeLateralBasalAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::LeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace);
- SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace = cRespiratory.CreatePath(LeftInferiorLobeAnteromedialBasalBronchiole, LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::LeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
- SEFluidCircuitPath& LeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace = cRespiratory.CreatePath(LeftInferiorLobeSuperiorBronchiole, LeftInferiorLobeSuperiorAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::LeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace);
- SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace = cRespiratory.CreatePath(LeftSuperiorLobeInferiorLingulaBronchiole, LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
- SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace = cRespiratory.CreatePath(LeftSuperiorLobeSuperiorLingulaBronchiole, LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
- SEFluidCircuitPath& LeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace = cRespiratory.CreatePath(LeftSuperiorLobeAnteriorBronchiole, LeftSuperiorLobeAnteriorAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace);
- SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace = cRespiratory.CreatePath(LeftSuperiorLobeApicoposteriorBronchiole, LeftSuperiorLobeApicoposteriorAlveolarDeadSpace, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
-
- SEFluidCircuitPath& RightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli = cRespiratory.CreatePath(RightSuperiorLobeApicalAlveolarDeadSpace, RightSuperiorLobeApicalAlveoli, pulse::ExpandedRespiratoryPath::RightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli);
- SEFluidCircuitPath& RightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli = cRespiratory.CreatePath(RightSuperiorLobePosteriorAlveolarDeadSpace, RightSuperiorLobePosteriorAlveoli, pulse::ExpandedRespiratoryPath::RightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli);
- SEFluidCircuitPath& RightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli = cRespiratory.CreatePath(RightSuperiorLobeAnteriorAlveolarDeadSpace, RightSuperiorLobeAnteriorAlveoli, pulse::ExpandedRespiratoryPath::RightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli);
- SEFluidCircuitPath& RightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli = cRespiratory.CreatePath(RightMiddleLobeLateralAlveolarDeadSpace, RightMiddleLobeLateralAlveoli, pulse::ExpandedRespiratoryPath::RightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli);
- SEFluidCircuitPath& RightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli = cRespiratory.CreatePath(RightMiddleLobeMedialAlveolarDeadSpace, RightMiddleLobeMedialAlveoli, pulse::ExpandedRespiratoryPath::RightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli);
- SEFluidCircuitPath& RightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli = cRespiratory.CreatePath(RightInferiorLobeSuperiorAlveolarDeadSpace, RightInferiorLobeSuperiorAlveoli, pulse::ExpandedRespiratoryPath::RightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli);
- SEFluidCircuitPath& RightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli = cRespiratory.CreatePath(RightInferiorLobeMedialBasalAlveolarDeadSpace, RightInferiorLobeMedialBasalAlveoli, pulse::ExpandedRespiratoryPath::RightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli);
- SEFluidCircuitPath& RightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli = cRespiratory.CreatePath(RightInferiorLobeAnteriorBasalAlveolarDeadSpace, RightInferiorLobeAnteriorBasalAlveoli, pulse::ExpandedRespiratoryPath::RightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli);
- SEFluidCircuitPath& RightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli = cRespiratory.CreatePath(RightInferiorLobeLateralBasalAlveolarDeadSpace, RightInferiorLobeLateralBasalAlveoli, pulse::ExpandedRespiratoryPath::RightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli);
- SEFluidCircuitPath& RightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli = cRespiratory.CreatePath(RightInferiorLobePosteriorBasalAlveolarDeadSpace, RightInferiorLobePosteriorBasalAlveoli, pulse::ExpandedRespiratoryPath::RightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli);
-
- SEFluidCircuitPath& LeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli = cRespiratory.CreatePath(LeftInferiorLobePosteriorBasalAlveolarDeadSpace, LeftInferiorLobePosteriorBasalAlveoli, pulse::ExpandedRespiratoryPath::LeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli);
- SEFluidCircuitPath& LeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli = cRespiratory.CreatePath(LeftInferiorLobeLateralBasalAlveolarDeadSpace, LeftInferiorLobeLateralBasalAlveoli, pulse::ExpandedRespiratoryPath::LeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli);
- SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli = cRespiratory.CreatePath(LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace, LeftInferiorLobeAnteromedialBasalAlveoli, pulse::ExpandedRespiratoryPath::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli);
- SEFluidCircuitPath& LeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli = cRespiratory.CreatePath(LeftInferiorLobeSuperiorAlveolarDeadSpace, LeftInferiorLobeSuperiorAlveoli, pulse::ExpandedRespiratoryPath::LeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli);
- SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli = cRespiratory.CreatePath(LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace, LeftSuperiorLobeInferiorLingulaAlveoli, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli);
- SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli = cRespiratory.CreatePath(LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace, LeftSuperiorLobeSuperiorLingulaAlveoli, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli);
- SEFluidCircuitPath& LeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli = cRespiratory.CreatePath(LeftSuperiorLobeAnteriorAlveolarDeadSpace, LeftSuperiorLobeAnteriorAlveoli, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli);
- SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli = cRespiratory.CreatePath(LeftSuperiorLobeApicoposteriorAlveolarDeadSpace, LeftSuperiorLobeApicoposteriorAlveoli, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli);
-
- SEFluidCircuitPath& RightSuperiorLobeApicalAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightSuperiorLobeApicalAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightSuperiorLobeApicalAlveoliToRightPleuralConnection);
- SEFluidCircuitPath& RightSuperiorLobePosteriorAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightSuperiorLobePosteriorAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightSuperiorLobePosteriorAlveoliToRightPleuralConnection);
- SEFluidCircuitPath& RightSuperiorLobeAnteriorAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightSuperiorLobeAnteriorAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightSuperiorLobeAnteriorAlveoliToRightPleuralConnection);
- SEFluidCircuitPath& RightMiddleLobeLateralAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightMiddleLobeLateralAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightMiddleLobeLateralAlveoliToRightPleuralConnection);
- SEFluidCircuitPath& RightMiddleLobeMedialAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightMiddleLobeMedialAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightMiddleLobeMedialAlveoliToRightPleuralConnection);
- SEFluidCircuitPath& RightInferiorLobeSuperiorAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightInferiorLobeSuperiorAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightInferiorLobeSuperiorAlveoliToRightPleuralConnection);
- SEFluidCircuitPath& RightInferiorLobeMedialBasalAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightInferiorLobeMedialBasalAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightInferiorLobeMedialBasalAlveoliToRightPleuralConnection);
- SEFluidCircuitPath& RightInferiorLobeAnteriorBasalAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightInferiorLobeAnteriorBasalAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightInferiorLobeAnteriorBasalAlveoliToRightPleuralConnection);
- SEFluidCircuitPath& RightInferiorLobeLateralBasalAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightInferiorLobeLateralBasalAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightInferiorLobeLateralBasalAlveoliToRightPleuralConnection);
- SEFluidCircuitPath& RightInferiorLobePosteriorBasalAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightInferiorLobePosteriorBasalAlveoli, RightPleuralConnection, pulse::ExpandedRespiratoryPath::RightInferiorLobePosteriorBasalAlveoliToRightPleuralConnection);
-
- SEFluidCircuitPath& LeftInferiorLobePosteriorBasalAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftInferiorLobePosteriorBasalAlveoli, LeftPleuralConnection, pulse::ExpandedRespiratoryPath::LeftInferiorLobePosteriorBasalAlveoliToLeftPleuralConnection);
- SEFluidCircuitPath& LeftInferiorLobeLateralBasalAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftInferiorLobeLateralBasalAlveoli, LeftPleuralConnection, pulse::ExpandedRespiratoryPath::LeftInferiorLobeLateralBasalAlveoliToLeftPleuralConnection);
- SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftInferiorLobeAnteromedialBasalAlveoli, LeftPleuralConnection, pulse::ExpandedRespiratoryPath::LeftInferiorLobeAnteromedialBasalAlveoliToLeftPleuralConnection);
- SEFluidCircuitPath& LeftInferiorLobeSuperiorAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftInferiorLobeSuperiorAlveoli, LeftPleuralConnection, pulse::ExpandedRespiratoryPath::LeftInferiorLobeSuperiorAlveoliToLeftPleuralConnection);
- SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftSuperiorLobeInferiorLingulaAlveoli, LeftPleuralConnection, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeInferiorLingulaAlveoliToLeftPleuralConnection);
- SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftSuperiorLobeSuperiorLingulaAlveoli, LeftPleuralConnection, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeSuperiorLingulaAlveoliToLeftPleuralConnection);
- SEFluidCircuitPath& LeftSuperiorLobeAnteriorAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftSuperiorLobeAnteriorAlveoli, LeftPleuralConnection, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeAnteriorAlveoliToLeftPleuralConnection);
- SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftSuperiorLobeApicoposteriorAlveoli, LeftPleuralConnection, pulse::ExpandedRespiratoryPath::LeftSuperiorLobeApicoposteriorAlveoliToLeftPleuralConnection);
+ SEFluidCircuitPath& CarinaToRightMainBronchus = cRespiratory.CreatePath(Carina, RightMainBronchus, pulse::ExpandedLungsRespiratoryPath::CarinaToRightMainBronchus);
+ SEFluidCircuitPath& RightMainBronchusToRightIntermediateBronchus = cRespiratory.CreatePath(RightMainBronchus, RightIntermediateBronchus, pulse::ExpandedLungsRespiratoryPath::RightMainBronchusToRightIntermediateBronchus);
+ SEFluidCircuitPath& RightMainBronchusToRightSuperiorLobarBronchus = cRespiratory.CreatePath(RightMainBronchus, RightSuperiorLobarBronchus, pulse::ExpandedLungsRespiratoryPath::RightMainBronchusToRightSuperiorLobarBronchus);
+ SEFluidCircuitPath& RightIntermediateBronchusToRightMiddleLobarBronchus = cRespiratory.CreatePath(RightIntermediateBronchus, RightMiddleLobarBronchus, pulse::ExpandedLungsRespiratoryPath::RightIntermediateBronchusToRightMiddleLobarBronchus);
+ SEFluidCircuitPath& RightIntermediateBronchusToRightInferiorLobarBronchus1 = cRespiratory.CreatePath(RightIntermediateBronchus, RightInferiorLobarBronchus1, pulse::ExpandedLungsRespiratoryPath::RightIntermediateBronchusToRightInferiorLobarBronchus1);
+ SEFluidCircuitPath& RightInferiorLobarBronchus1ToRightInferiorLobarBronchus2 = cRespiratory.CreatePath(RightInferiorLobarBronchus1, RightInferiorLobarBronchus2, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus1ToRightInferiorLobarBronchus2);
+ SEFluidCircuitPath& RightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus = cRespiratory.CreatePath(RightSuperiorLobarBronchus, RightSuperiorApicoposteriorBronchus, pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus);
+ SEFluidCircuitPath& RightInferiorLobarBronchus2ToRightInferiorLobarBronchus3 = cRespiratory.CreatePath(RightInferiorLobarBronchus2, RightInferiorLobarBronchus3, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus2ToRightInferiorLobarBronchus3);
+ SEFluidCircuitPath& RightInferiorLobarBronchus2ToRightInferiorLobarBronchus4 = cRespiratory.CreatePath(RightInferiorLobarBronchus2, RightInferiorLobarBronchus4, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus2ToRightInferiorLobarBronchus4);
+
+ SEFluidCircuitPath& CarinaToLeftMainBronchus = cRespiratory.CreatePath(Carina, LeftMainBronchus, pulse::ExpandedLungsRespiratoryPath::CarinaToLeftMainBronchus);
+ SEFluidCircuitPath& LeftMainBronchusToLeftInferiorLobarBronchus1 = cRespiratory.CreatePath(LeftMainBronchus, LeftInferiorLobarBronchus1, pulse::ExpandedLungsRespiratoryPath::LeftMainBronchusToLeftInferiorLobarBronchus1);
+ SEFluidCircuitPath& LeftMainBronchusToLeftSuperiorLobarBronchus = cRespiratory.CreatePath(LeftMainBronchus, LeftSuperiorLobarBronchus, pulse::ExpandedLungsRespiratoryPath::LeftMainBronchusToLeftSuperiorLobarBronchus);
+ SEFluidCircuitPath& LeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2 = cRespiratory.CreatePath(LeftInferiorLobarBronchus1, LeftInferiorLobarBronchus2, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2);
+ SEFluidCircuitPath& LeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3 = cRespiratory.CreatePath(LeftInferiorLobarBronchus2, LeftInferiorLobarBronchus3, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3);
+ SEFluidCircuitPath& LeftSuperiorLobarBronchusToLeftLingularBonchus = cRespiratory.CreatePath(LeftSuperiorLobarBronchus, LeftLingularBonchus, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobarBronchusToLeftLingularBonchus);
+ SEFluidCircuitPath& LeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus = cRespiratory.CreatePath(LeftSuperiorLobarBronchus, LeftSuperiorApicoposteriorBronchus, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus);
+
+ SEFluidCircuitPath& RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole = cRespiratory.CreatePath(RightSuperiorApicoposteriorBronchus, RightSuperiorLobeApicalBronchiole, pulse::ExpandedLungsRespiratoryPath::RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole);
+ SEFluidCircuitPath& RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole = cRespiratory.CreatePath(RightSuperiorApicoposteriorBronchus, RightSuperiorLobePosteriorBronchiole, pulse::ExpandedLungsRespiratoryPath::RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole);
+ SEFluidCircuitPath& RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole = cRespiratory.CreatePath(RightSuperiorLobarBronchus, RightSuperiorLobeAnteriorBronchiole, pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole);
+ SEFluidCircuitPath& RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole = cRespiratory.CreatePath(RightMiddleLobarBronchus, RightMiddleLobeLateralBronchiole, pulse::ExpandedLungsRespiratoryPath::RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole);
+ SEFluidCircuitPath& RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole = cRespiratory.CreatePath(RightMiddleLobarBronchus, RightMiddleLobeMedialBronchiole, pulse::ExpandedLungsRespiratoryPath::RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole);
+ SEFluidCircuitPath& RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole = cRespiratory.CreatePath(RightInferiorLobarBronchus1, RightInferiorLobeSuperiorBronchiole, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole);
+ SEFluidCircuitPath& RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole = cRespiratory.CreatePath(RightInferiorLobarBronchus2, RightInferiorLobeMedialBasalBronchiole, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole);
+ SEFluidCircuitPath& RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole = cRespiratory.CreatePath(RightInferiorLobarBronchus3, RightInferiorLobeAnteriorBasalBronchiole, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole);
+ SEFluidCircuitPath& RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole = cRespiratory.CreatePath(RightInferiorLobarBronchus4, RightInferiorLobeLateralBasalBronchiole, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole);
+ SEFluidCircuitPath& RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole = cRespiratory.CreatePath(RightInferiorLobarBronchus4, RightInferiorLobePosteriorBasalBronchiole, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole);
+
+ SEFluidCircuitPath& LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole = cRespiratory.CreatePath(LeftInferiorLobarBronchus3, LeftInferiorLobeLateralBasalBronchiole, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole);
+ SEFluidCircuitPath& LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole = cRespiratory.CreatePath(LeftInferiorLobarBronchus3, LeftInferiorLobePosteriorBasalBronchiole, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole);
+ SEFluidCircuitPath& LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole = cRespiratory.CreatePath(LeftInferiorLobarBronchus2, LeftInferiorLobeAnteromedialBasalBronchiole, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole);
+ SEFluidCircuitPath& LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole = cRespiratory.CreatePath(LeftInferiorLobarBronchus1, LeftInferiorLobeSuperiorBronchiole, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole);
+ SEFluidCircuitPath& LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole = cRespiratory.CreatePath(LeftLingularBonchus, LeftSuperiorLobeInferiorLingulaBronchiole, pulse::ExpandedLungsRespiratoryPath::LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole);
+ SEFluidCircuitPath& LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole = cRespiratory.CreatePath(LeftLingularBonchus, LeftSuperiorLobeSuperiorLingulaBronchiole, pulse::ExpandedLungsRespiratoryPath::LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole);
+ SEFluidCircuitPath& LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole = cRespiratory.CreatePath(LeftSuperiorApicoposteriorBronchus, LeftSuperiorLobeAnteriorBronchiole, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole);
+ SEFluidCircuitPath& LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole = cRespiratory.CreatePath(LeftSuperiorApicoposteriorBronchus, LeftSuperiorLobeApicoposteriorBronchiole, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole);
+
+ SEFluidCircuitPath& RightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace = cRespiratory.CreatePath(RightSuperiorLobeApicalBronchiole, RightSuperiorLobeApicalAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace);
+ SEFluidCircuitPath& RightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace = cRespiratory.CreatePath(RightSuperiorLobePosteriorBronchiole, RightSuperiorLobePosteriorAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace);
+ SEFluidCircuitPath& RightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace = cRespiratory.CreatePath(RightSuperiorLobeAnteriorBronchiole, RightSuperiorLobeAnteriorAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace);
+ SEFluidCircuitPath& RightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace = cRespiratory.CreatePath(RightMiddleLobeLateralBronchiole, RightMiddleLobeLateralAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::RightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace);
+ SEFluidCircuitPath& RightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace = cRespiratory.CreatePath(RightMiddleLobeMedialBronchiole, RightMiddleLobeMedialAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::RightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace);
+ SEFluidCircuitPath& RightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace = cRespiratory.CreatePath(RightInferiorLobeSuperiorBronchiole, RightInferiorLobeSuperiorAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace);
+ SEFluidCircuitPath& RightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace = cRespiratory.CreatePath(RightInferiorLobeMedialBasalBronchiole, RightInferiorLobeMedialBasalAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace);
+ SEFluidCircuitPath& RightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace = cRespiratory.CreatePath(RightInferiorLobeAnteriorBasalBronchiole, RightInferiorLobeAnteriorBasalAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ SEFluidCircuitPath& RightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace = cRespiratory.CreatePath(RightInferiorLobeLateralBasalBronchiole, RightInferiorLobeLateralBasalAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace);
+ SEFluidCircuitPath& RightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace = cRespiratory.CreatePath(RightInferiorLobePosteriorBasalBronchiole, RightInferiorLobePosteriorBasalAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace);
+
+ SEFluidCircuitPath& LeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace = cRespiratory.CreatePath(LeftInferiorLobePosteriorBasalBronchiole, LeftInferiorLobePosteriorBasalAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ SEFluidCircuitPath& LeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace = cRespiratory.CreatePath(LeftInferiorLobeLateralBasalBronchiole, LeftInferiorLobeLateralBasalAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace = cRespiratory.CreatePath(LeftInferiorLobeAnteromedialBasalBronchiole, LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ SEFluidCircuitPath& LeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace = cRespiratory.CreatePath(LeftInferiorLobeSuperiorBronchiole, LeftInferiorLobeSuperiorAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace);
+ SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace = cRespiratory.CreatePath(LeftSuperiorLobeInferiorLingulaBronchiole, LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace = cRespiratory.CreatePath(LeftSuperiorLobeSuperiorLingulaBronchiole, LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ SEFluidCircuitPath& LeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace = cRespiratory.CreatePath(LeftSuperiorLobeAnteriorBronchiole, LeftSuperiorLobeAnteriorAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace = cRespiratory.CreatePath(LeftSuperiorLobeApicoposteriorBronchiole, LeftSuperiorLobeApicoposteriorAlveolarDeadSpace, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+
+ SEFluidCircuitPath& RightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli = cRespiratory.CreatePath(RightSuperiorLobeApicalAlveolarDeadSpace, RightSuperiorLobeApicalAlveoli, pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli);
+ SEFluidCircuitPath& RightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli = cRespiratory.CreatePath(RightSuperiorLobePosteriorAlveolarDeadSpace, RightSuperiorLobePosteriorAlveoli, pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli);
+ SEFluidCircuitPath& RightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli = cRespiratory.CreatePath(RightSuperiorLobeAnteriorAlveolarDeadSpace, RightSuperiorLobeAnteriorAlveoli, pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli);
+ SEFluidCircuitPath& RightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli = cRespiratory.CreatePath(RightMiddleLobeLateralAlveolarDeadSpace, RightMiddleLobeLateralAlveoli, pulse::ExpandedLungsRespiratoryPath::RightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli);
+ SEFluidCircuitPath& RightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli = cRespiratory.CreatePath(RightMiddleLobeMedialAlveolarDeadSpace, RightMiddleLobeMedialAlveoli, pulse::ExpandedLungsRespiratoryPath::RightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli);
+ SEFluidCircuitPath& RightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli = cRespiratory.CreatePath(RightInferiorLobeSuperiorAlveolarDeadSpace, RightInferiorLobeSuperiorAlveoli, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli);
+ SEFluidCircuitPath& RightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli = cRespiratory.CreatePath(RightInferiorLobeMedialBasalAlveolarDeadSpace, RightInferiorLobeMedialBasalAlveoli, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli);
+ SEFluidCircuitPath& RightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli = cRespiratory.CreatePath(RightInferiorLobeAnteriorBasalAlveolarDeadSpace, RightInferiorLobeAnteriorBasalAlveoli, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli);
+ SEFluidCircuitPath& RightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli = cRespiratory.CreatePath(RightInferiorLobeLateralBasalAlveolarDeadSpace, RightInferiorLobeLateralBasalAlveoli, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli);
+ SEFluidCircuitPath& RightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli = cRespiratory.CreatePath(RightInferiorLobePosteriorBasalAlveolarDeadSpace, RightInferiorLobePosteriorBasalAlveoli, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli);
+
+ SEFluidCircuitPath& LeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli = cRespiratory.CreatePath(LeftInferiorLobePosteriorBasalAlveolarDeadSpace, LeftInferiorLobePosteriorBasalAlveoli, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli);
+ SEFluidCircuitPath& LeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli = cRespiratory.CreatePath(LeftInferiorLobeLateralBasalAlveolarDeadSpace, LeftInferiorLobeLateralBasalAlveoli, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli);
+ SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli = cRespiratory.CreatePath(LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace, LeftInferiorLobeAnteromedialBasalAlveoli, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli);
+ SEFluidCircuitPath& LeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli = cRespiratory.CreatePath(LeftInferiorLobeSuperiorAlveolarDeadSpace, LeftInferiorLobeSuperiorAlveoli, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli);
+ SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli = cRespiratory.CreatePath(LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace, LeftSuperiorLobeInferiorLingulaAlveoli, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli);
+ SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli = cRespiratory.CreatePath(LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace, LeftSuperiorLobeSuperiorLingulaAlveoli, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli);
+ SEFluidCircuitPath& LeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli = cRespiratory.CreatePath(LeftSuperiorLobeAnteriorAlveolarDeadSpace, LeftSuperiorLobeAnteriorAlveoli, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli);
+ SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli = cRespiratory.CreatePath(LeftSuperiorLobeApicoposteriorAlveolarDeadSpace, LeftSuperiorLobeApicoposteriorAlveoli, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli);
+
+ SEFluidCircuitPath& RightSuperiorLobeApicalAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightSuperiorLobeApicalAlveoli, RightPleuralConnection, pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobeApicalAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightSuperiorLobePosteriorAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightSuperiorLobePosteriorAlveoli, RightPleuralConnection, pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobePosteriorAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightSuperiorLobeAnteriorAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightSuperiorLobeAnteriorAlveoli, RightPleuralConnection, pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobeAnteriorAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightMiddleLobeLateralAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightMiddleLobeLateralAlveoli, RightPleuralConnection, pulse::ExpandedLungsRespiratoryPath::RightMiddleLobeLateralAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightMiddleLobeMedialAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightMiddleLobeMedialAlveoli, RightPleuralConnection, pulse::ExpandedLungsRespiratoryPath::RightMiddleLobeMedialAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightInferiorLobeSuperiorAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightInferiorLobeSuperiorAlveoli, RightPleuralConnection, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeSuperiorAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightInferiorLobeMedialBasalAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightInferiorLobeMedialBasalAlveoli, RightPleuralConnection, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeMedialBasalAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightInferiorLobeAnteriorBasalAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightInferiorLobeAnteriorBasalAlveoli, RightPleuralConnection, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeAnteriorBasalAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightInferiorLobeLateralBasalAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightInferiorLobeLateralBasalAlveoli, RightPleuralConnection, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeLateralBasalAlveoliToRightPleuralConnection);
+ SEFluidCircuitPath& RightInferiorLobePosteriorBasalAlveoliToRightPleuralConnection = cRespiratory.CreatePath(RightInferiorLobePosteriorBasalAlveoli, RightPleuralConnection, pulse::ExpandedLungsRespiratoryPath::RightInferiorLobePosteriorBasalAlveoliToRightPleuralConnection);
+
+ SEFluidCircuitPath& LeftInferiorLobePosteriorBasalAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftInferiorLobePosteriorBasalAlveoli, LeftPleuralConnection, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobePosteriorBasalAlveoliToLeftPleuralConnection);
+ SEFluidCircuitPath& LeftInferiorLobeLateralBasalAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftInferiorLobeLateralBasalAlveoli, LeftPleuralConnection, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobeLateralBasalAlveoliToLeftPleuralConnection);
+ SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftInferiorLobeAnteromedialBasalAlveoli, LeftPleuralConnection, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobeAnteromedialBasalAlveoliToLeftPleuralConnection);
+ SEFluidCircuitPath& LeftInferiorLobeSuperiorAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftInferiorLobeSuperiorAlveoli, LeftPleuralConnection, pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobeSuperiorAlveoliToLeftPleuralConnection);
+ SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftSuperiorLobeInferiorLingulaAlveoli, LeftPleuralConnection, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeInferiorLingulaAlveoliToLeftPleuralConnection);
+ SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftSuperiorLobeSuperiorLingulaAlveoli, LeftPleuralConnection, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeSuperiorLingulaAlveoliToLeftPleuralConnection);
+ SEFluidCircuitPath& LeftSuperiorLobeAnteriorAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftSuperiorLobeAnteriorAlveoli, LeftPleuralConnection, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeAnteriorAlveoliToLeftPleuralConnection);
+ SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftSuperiorLobeApicoposteriorAlveoli, LeftPleuralConnection, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeApicoposteriorAlveoliToLeftPleuralConnection);
double CarinaToRightMainBronchusResistance_cmH2O_s_Per_L = 1.125;
double RightMainBronchusToRightIntermediateBronchusResistance_cmH2O_s_Per_L = 0.150;
@@ -637,82 +637,82 @@ namespace pulse
SEGasCompartment& pRightPleural = m_Compartments->CreateGasCompartment(pulse::PulmonaryCompartment::RightPleuralCavity);
pRightPleural.MapNode(RightPleural);
- SEGasCompartment& pRightMainBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMainBronchus);
- SEGasCompartment& pLeftMainBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftMainBronchus);
- SEGasCompartment& pRightIntermediateBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightIntermediateBronchus);
- SEGasCompartment& pRightSuperiorLobarBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobarBronchus);
- SEGasCompartment& pRightMiddleLobarBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobarBronchus);
- SEGasCompartment& pRightInferiorLobarBronchus1 = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobarBronchus1);
- SEGasCompartment& pLeftInferiorLobarBronchus1 = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobarBronchus1);
- SEGasCompartment& pLeftSuperiorLobarBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobarBronchus);
- SEGasCompartment& pRightInferiorLobarBronchus2 = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobarBronchus2);
- SEGasCompartment& pLeftInferiorLobarBronchus2 = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobarBronchus2);
- SEGasCompartment& pRightSuperiorApicoposteriorBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorApicoposteriorBronchus);
- SEGasCompartment& pRightInferiorLobarBronchus3 = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobarBronchus3);
- SEGasCompartment& pLeftInferiorLobarBronchus3 = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobarBronchus3);
- SEGasCompartment& pLeftLingularBonchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftLingularBonchus);
- SEGasCompartment& pLeftSuperiorApicoposteriorBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorApicoposteriorBronchus);
- SEGasCompartment& pRightInferiorLobarBronchus4 = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobarBronchus4);
-
- SEGasCompartment& pRightSuperiorLobeApicalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobeApicalBronchiole);
- SEGasCompartment& pRightSuperiorLobePosteriorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobePosteriorBronchiole);
- SEGasCompartment& pRightSuperiorLobeAnteriorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobeAnteriorBronchiole);
- SEGasCompartment& pRightMiddleLobeLateralBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobeLateralBronchiole);
- SEGasCompartment& pRightMiddleLobeMedialBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobeMedialBronchiole);
- SEGasCompartment& pRightInferiorLobeSuperiorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeSuperiorBronchiole);
- SEGasCompartment& pRightInferiorLobeMedialBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeMedialBasalBronchiole);
- SEGasCompartment& pRightInferiorLobeAnteriorBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeAnteriorBasalBronchiole);
- SEGasCompartment& pRightInferiorLobeLateralBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeLateralBasalBronchiole);
- SEGasCompartment& pRightInferiorLobePosteriorBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobePosteriorBasalBronchiole);
-
- SEGasCompartment& pLeftInferiorLobePosteriorBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobePosteriorBasalBronchiole);
- SEGasCompartment& pLeftInferiorLobeLateralBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeLateralBasalBronchiole);
- SEGasCompartment& pLeftInferiorLobeAnteromedialBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeAnteromedialBasalBronchiole);
- SEGasCompartment& pLeftInferiorLobeSuperiorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeSuperiorBronchiole);
- SEGasCompartment& pLeftSuperiorLobeInferiorLingulaBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeInferiorLingulaBronchiole);
- SEGasCompartment& pLeftSuperiorLobeSuperiorLingulaBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeSuperiorLingulaBronchiole);
- SEGasCompartment& pLeftSuperiorLobeAnteriorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeAnteriorBronchiole);
- SEGasCompartment& pLeftSuperiorLobeApicoposteriorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeApicoposteriorBronchiole);
-
- SEGasCompartment& pRightSuperiorLobeApicalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobeApicalAlveoli);
- SEGasCompartment& pRightSuperiorLobePosteriorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobePosteriorAlveoli);
- SEGasCompartment& pRightSuperiorLobeAnteriorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobeAnteriorAlveoli);
- SEGasCompartment& pRightMiddleLobeLateralAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobeLateralAlveoli);
- SEGasCompartment& pRightMiddleLobeMedialAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobeMedialAlveoli);
- SEGasCompartment& pRightInferiorLobeSuperiorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeSuperiorAlveoli);
- SEGasCompartment& pRightInferiorLobeMedialBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeMedialBasalAlveoli);
- SEGasCompartment& pRightInferiorLobeAnteriorBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeAnteriorBasalAlveoli);
- SEGasCompartment& pRightInferiorLobeLateralBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeLateralBasalAlveoli);
- SEGasCompartment& pRightInferiorLobePosteriorBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobePosteriorBasalAlveoli);
-
- SEGasCompartment& pLeftInferiorLobePosteriorBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobePosteriorBasalAlveoli);
- SEGasCompartment& pLeftInferiorLobeLateralBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeLateralBasalAlveoli);
- SEGasCompartment& pLeftInferiorLobeAnteromedialBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeAnteromedialBasalAlveoli);
- SEGasCompartment& pLeftInferiorLobeSuperiorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeSuperiorAlveoli);
- SEGasCompartment& pLeftSuperiorLobeInferiorLingulaAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeInferiorLingulaAlveoli);
- SEGasCompartment& pLeftSuperiorLobeSuperiorLingulaAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeSuperiorLingulaAlveoli);
- SEGasCompartment& pLeftSuperiorLobeAnteriorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeAnteriorAlveoli);
- SEGasCompartment& pLeftSuperiorLobeApicoposteriorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeApicoposteriorAlveoli);
-
- SEGasCompartment& pRightSuperiorLobeApicalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobeApicalAlveolarDeadSpace);
- SEGasCompartment& pRightSuperiorLobePosteriorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobePosteriorAlveolarDeadSpace);
- SEGasCompartment& pRightSuperiorLobeAnteriorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobeAnteriorAlveolarDeadSpace);
- SEGasCompartment& pRightMiddleLobeLateralAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobeLateralAlveolarDeadSpace);
- SEGasCompartment& pRightMiddleLobeMedialAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobeMedialAlveolarDeadSpace);
- SEGasCompartment& pRightInferiorLobeSuperiorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeSuperiorAlveolarDeadSpace);
- SEGasCompartment& pRightInferiorLobeMedialBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeMedialBasalAlveolarDeadSpace);
- SEGasCompartment& pRightInferiorLobeAnteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeAnteriorBasalAlveolarDeadSpace);
- SEGasCompartment& pRightInferiorLobeLateralBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeLateralBasalAlveolarDeadSpace);
- SEGasCompartment& pRightInferiorLobePosteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobePosteriorBasalAlveolarDeadSpace);
-
- SEGasCompartment& pLeftInferiorLobePosteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobePosteriorBasalAlveolarDeadSpace);
- SEGasCompartment& pLeftInferiorLobeLateralBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeLateralBasalAlveolarDeadSpace);
- SEGasCompartment& pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
- SEGasCompartment& pLeftInferiorLobeSuperiorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeSuperiorAlveolarDeadSpace);
- SEGasCompartment& pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
- SEGasCompartment& pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
- SEGasCompartment& pLeftSuperiorLobeAnteriorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeAnteriorAlveolarDeadSpace);
- SEGasCompartment& pLeftSuperiorLobeApicoposteriorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+ SEGasCompartment& pRightMainBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightMainBronchus);
+ SEGasCompartment& pLeftMainBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftMainBronchus);
+ SEGasCompartment& pRightIntermediateBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightIntermediateBronchus);
+ SEGasCompartment& pRightSuperiorLobarBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobarBronchus);
+ SEGasCompartment& pRightMiddleLobarBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightMiddleLobarBronchus);
+ SEGasCompartment& pRightInferiorLobarBronchus1 = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobarBronchus1);
+ SEGasCompartment& pLeftInferiorLobarBronchus1 = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobarBronchus1);
+ SEGasCompartment& pLeftSuperiorLobarBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobarBronchus);
+ SEGasCompartment& pRightInferiorLobarBronchus2 = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobarBronchus2);
+ SEGasCompartment& pLeftInferiorLobarBronchus2 = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobarBronchus2);
+ SEGasCompartment& pRightSuperiorApicoposteriorBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorApicoposteriorBronchus);
+ SEGasCompartment& pRightInferiorLobarBronchus3 = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobarBronchus3);
+ SEGasCompartment& pLeftInferiorLobarBronchus3 = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobarBronchus3);
+ SEGasCompartment& pLeftLingularBonchus = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftLingularBonchus);
+ SEGasCompartment& pLeftSuperiorApicoposteriorBronchus = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorApicoposteriorBronchus);
+ SEGasCompartment& pRightInferiorLobarBronchus4 = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobarBronchus4);
+
+ SEGasCompartment& pRightSuperiorLobeApicalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobeApicalBronchiole);
+ SEGasCompartment& pRightSuperiorLobePosteriorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobePosteriorBronchiole);
+ SEGasCompartment& pRightSuperiorLobeAnteriorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobeAnteriorBronchiole);
+ SEGasCompartment& pRightMiddleLobeLateralBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightMiddleLobeLateralBronchiole);
+ SEGasCompartment& pRightMiddleLobeMedialBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightMiddleLobeMedialBronchiole);
+ SEGasCompartment& pRightInferiorLobeSuperiorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeSuperiorBronchiole);
+ SEGasCompartment& pRightInferiorLobeMedialBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeMedialBasalBronchiole);
+ SEGasCompartment& pRightInferiorLobeAnteriorBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeAnteriorBasalBronchiole);
+ SEGasCompartment& pRightInferiorLobeLateralBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeLateralBasalBronchiole);
+ SEGasCompartment& pRightInferiorLobePosteriorBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobePosteriorBasalBronchiole);
+
+ SEGasCompartment& pLeftInferiorLobePosteriorBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobePosteriorBasalBronchiole);
+ SEGasCompartment& pLeftInferiorLobeLateralBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobeLateralBasalBronchiole);
+ SEGasCompartment& pLeftInferiorLobeAnteromedialBasalBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobeAnteromedialBasalBronchiole);
+ SEGasCompartment& pLeftInferiorLobeSuperiorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobeSuperiorBronchiole);
+ SEGasCompartment& pLeftSuperiorLobeInferiorLingulaBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeInferiorLingulaBronchiole);
+ SEGasCompartment& pLeftSuperiorLobeSuperiorLingulaBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeSuperiorLingulaBronchiole);
+ SEGasCompartment& pLeftSuperiorLobeAnteriorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeAnteriorBronchiole);
+ SEGasCompartment& pLeftSuperiorLobeApicoposteriorBronchiole = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeApicoposteriorBronchiole);
+
+ SEGasCompartment& pRightSuperiorLobeApicalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobeApicalAlveoli);
+ SEGasCompartment& pRightSuperiorLobePosteriorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobePosteriorAlveoli);
+ SEGasCompartment& pRightSuperiorLobeAnteriorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobeAnteriorAlveoli);
+ SEGasCompartment& pRightMiddleLobeLateralAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightMiddleLobeLateralAlveoli);
+ SEGasCompartment& pRightMiddleLobeMedialAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightMiddleLobeMedialAlveoli);
+ SEGasCompartment& pRightInferiorLobeSuperiorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeSuperiorAlveoli);
+ SEGasCompartment& pRightInferiorLobeMedialBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeMedialBasalAlveoli);
+ SEGasCompartment& pRightInferiorLobeAnteriorBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeAnteriorBasalAlveoli);
+ SEGasCompartment& pRightInferiorLobeLateralBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeLateralBasalAlveoli);
+ SEGasCompartment& pRightInferiorLobePosteriorBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobePosteriorBasalAlveoli);
+
+ SEGasCompartment& pLeftInferiorLobePosteriorBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobePosteriorBasalAlveoli);
+ SEGasCompartment& pLeftInferiorLobeLateralBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobeLateralBasalAlveoli);
+ SEGasCompartment& pLeftInferiorLobeAnteromedialBasalAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobeAnteromedialBasalAlveoli);
+ SEGasCompartment& pLeftInferiorLobeSuperiorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobeSuperiorAlveoli);
+ SEGasCompartment& pLeftSuperiorLobeInferiorLingulaAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeInferiorLingulaAlveoli);
+ SEGasCompartment& pLeftSuperiorLobeSuperiorLingulaAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeSuperiorLingulaAlveoli);
+ SEGasCompartment& pLeftSuperiorLobeAnteriorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeAnteriorAlveoli);
+ SEGasCompartment& pLeftSuperiorLobeApicoposteriorAlveoli = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeApicoposteriorAlveoli);
+
+ SEGasCompartment& pRightSuperiorLobeApicalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobeApicalAlveolarDeadSpace);
+ SEGasCompartment& pRightSuperiorLobePosteriorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobePosteriorAlveolarDeadSpace);
+ SEGasCompartment& pRightSuperiorLobeAnteriorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobeAnteriorAlveolarDeadSpace);
+ SEGasCompartment& pRightMiddleLobeLateralAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightMiddleLobeLateralAlveolarDeadSpace);
+ SEGasCompartment& pRightMiddleLobeMedialAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightMiddleLobeMedialAlveolarDeadSpace);
+ SEGasCompartment& pRightInferiorLobeSuperiorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeSuperiorAlveolarDeadSpace);
+ SEGasCompartment& pRightInferiorLobeMedialBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeMedialBasalAlveolarDeadSpace);
+ SEGasCompartment& pRightInferiorLobeAnteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ SEGasCompartment& pRightInferiorLobeLateralBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeLateralBasalAlveolarDeadSpace);
+ SEGasCompartment& pRightInferiorLobePosteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobePosteriorBasalAlveolarDeadSpace);
+
+ SEGasCompartment& pLeftInferiorLobePosteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ SEGasCompartment& pLeftInferiorLobeLateralBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ SEGasCompartment& pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ SEGasCompartment& pLeftInferiorLobeSuperiorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobeSuperiorAlveolarDeadSpace);
+ SEGasCompartment& pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ SEGasCompartment& pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ SEGasCompartment& pLeftSuperiorLobeAnteriorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ SEGasCompartment& pLeftSuperiorLobeApicoposteriorAlveolarDeadSpace = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
pRightMainBronchus.MapNode(RightMainBronchus);
pLeftMainBronchus.MapNode(LeftMainBronchus);
@@ -792,7 +792,7 @@ namespace pulse
pLeftSuperiorLobeApicoposteriorAlveoli.MapNode(LeftSuperiorLobeApicoposteriorAlveoli);
// Set up hierarchy
- SEGasCompartment& pLeftBranches = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftBranches);
+ SEGasCompartment& pLeftBranches = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftBranches);
pLeftBranches.AddChild(pLeftMainBronchus);
pLeftBranches.AddChild(pLeftInferiorLobarBronchus1);
pLeftBranches.AddChild(pLeftSuperiorLobarBronchus);
@@ -810,7 +810,7 @@ namespace pulse
pLeftBranches.AddChild(pLeftSuperiorLobeAnteriorBronchiole);
pLeftBranches.AddChild(pLeftSuperiorLobeApicoposteriorBronchiole);
- SEGasCompartment& pRightBranches = m_Compartments->CreateGasCompartment(pulse::ExpandedPulmonaryCompartment::RightBranches);
+ SEGasCompartment& pRightBranches = m_Compartments->CreateGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightBranches);
pRightBranches.AddChild(pRightMainBronchus);
pRightBranches.AddChild(pRightIntermediateBronchus);
pRightBranches.AddChild(pRightSuperiorLobarBronchus);
@@ -922,83 +922,83 @@ namespace pulse
SEGasCompartmentLink& pAirwayToStomach = m_Compartments->CreateGasLink(pAirway, pStomach, pulse::PulmonaryLink::AirwayToStomach);
pAirwayToStomach.MapPath(AirwayToStomach);
- SEGasCompartmentLink& pCarinaToRightMainBronchus = m_Compartments->CreateGasLink(pCarina, pRightMainBronchus, pulse::ExpandedPulmonaryLink::CarinaToRightMainBronchus);
- SEGasCompartmentLink& pRightMainBronchusToRightIntermediateBronchus = m_Compartments->CreateGasLink(pRightMainBronchus, pRightIntermediateBronchus, pulse::ExpandedPulmonaryLink::RightMainBronchusToRightIntermediateBronchus);
- SEGasCompartmentLink& pRightMainBronchusToRightSuperiorLobarBronchus = m_Compartments->CreateGasLink(pRightMainBronchus, pRightSuperiorLobarBronchus, pulse::ExpandedPulmonaryLink::RightMainBronchusToRightSuperiorLobarBronchus);
- SEGasCompartmentLink& pRightIntermediateBronchusToRightMiddleLobarBronchus = m_Compartments->CreateGasLink(pRightIntermediateBronchus, pRightMiddleLobarBronchus, pulse::ExpandedPulmonaryLink::RightIntermediateBronchusToRightMiddleLobarBronchus);
- SEGasCompartmentLink& pRightIntermediateBronchusToRightInferiorLobarBronchus1 = m_Compartments->CreateGasLink(pRightIntermediateBronchus, pRightInferiorLobarBronchus1, pulse::ExpandedPulmonaryLink::RightIntermediateBronchusToRightInferiorLobarBronchus1);
- SEGasCompartmentLink& pRightInferiorLobarBronchus1ToRightInferiorLobarBronchus2 = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus1, pRightInferiorLobarBronchus2, pulse::ExpandedPulmonaryLink::RightInferiorLobarBronchus1ToRightInferiorLobarBronchus2);
- SEGasCompartmentLink& pRightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus = m_Compartments->CreateGasLink(pRightSuperiorLobarBronchus, pRightSuperiorApicoposteriorBronchus, pulse::ExpandedPulmonaryLink::RightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus);
- SEGasCompartmentLink& pRightInferiorLobarBronchus2ToRightInferiorLobarBronchus3 = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus2, pRightInferiorLobarBronchus3, pulse::ExpandedPulmonaryLink::RightInferiorLobarBronchus2ToRightInferiorLobarBronchus3);
- SEGasCompartmentLink& pRightInferiorLobarBronchus2ToRightInferiorLobarBronchus4 = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus2, pRightInferiorLobarBronchus4, pulse::ExpandedPulmonaryLink::RightInferiorLobarBronchus2ToRightInferiorLobarBronchus4);
-
- SEGasCompartmentLink& pCarinaToLeftMainBronchus = m_Compartments->CreateGasLink(pCarina, pLeftMainBronchus, pulse::ExpandedPulmonaryLink::CarinaToLeftMainBronchus);
- SEGasCompartmentLink& pLeftMainBronchusToLeftInferiorLobarBronchus1 = m_Compartments->CreateGasLink(pLeftMainBronchus, pLeftInferiorLobarBronchus1, pulse::ExpandedPulmonaryLink::LeftMainBronchusToLeftInferiorLobarBronchus1);
- SEGasCompartmentLink& pLeftMainBronchusToLeftSuperiorLobarBronchus = m_Compartments->CreateGasLink(pLeftMainBronchus, pLeftSuperiorLobarBronchus, pulse::ExpandedPulmonaryLink::LeftMainBronchusToLeftSuperiorLobarBronchus);
- SEGasCompartmentLink& pLeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2 = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus1, pLeftInferiorLobarBronchus2, pulse::ExpandedPulmonaryLink::LeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2);
- SEGasCompartmentLink& pLeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3 = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus2, pLeftInferiorLobarBronchus3, pulse::ExpandedPulmonaryLink::LeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3);
- SEGasCompartmentLink& pLeftSuperiorLobarBronchusToLeftLingularBonchus = m_Compartments->CreateGasLink(pLeftSuperiorLobarBronchus, pLeftLingularBonchus, pulse::ExpandedPulmonaryLink::LeftSuperiorLobarBronchusToLeftLingularBonchus);
- SEGasCompartmentLink& pLeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus = m_Compartments->CreateGasLink(pLeftSuperiorLobarBronchus, pLeftSuperiorApicoposteriorBronchus, pulse::ExpandedPulmonaryLink::LeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus);
-
- SEGasCompartmentLink& pRightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole = m_Compartments->CreateGasLink(pRightSuperiorApicoposteriorBronchus, pRightSuperiorLobeApicalBronchiole, pulse::ExpandedPulmonaryLink::RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole);
- SEGasCompartmentLink& pRightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole = m_Compartments->CreateGasLink(pRightSuperiorApicoposteriorBronchus, pRightSuperiorLobePosteriorBronchiole, pulse::ExpandedPulmonaryLink::RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole);
- SEGasCompartmentLink& pRightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole = m_Compartments->CreateGasLink(pRightSuperiorLobarBronchus, pRightSuperiorLobeAnteriorBronchiole, pulse::ExpandedPulmonaryLink::RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole);
- SEGasCompartmentLink& pRightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole = m_Compartments->CreateGasLink(pRightMiddleLobarBronchus, pRightMiddleLobeLateralBronchiole, pulse::ExpandedPulmonaryLink::RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole);
- SEGasCompartmentLink& pRightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole = m_Compartments->CreateGasLink(pRightMiddleLobarBronchus, pRightMiddleLobeMedialBronchiole, pulse::ExpandedPulmonaryLink::RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole);
- SEGasCompartmentLink& pRightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus1, pRightInferiorLobeSuperiorBronchiole, pulse::ExpandedPulmonaryLink::RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole);
- SEGasCompartmentLink& pRightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus2, pRightInferiorLobeMedialBasalBronchiole, pulse::ExpandedPulmonaryLink::RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole);
- SEGasCompartmentLink& pRightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus3, pRightInferiorLobeAnteriorBasalBronchiole, pulse::ExpandedPulmonaryLink::RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole);
- SEGasCompartmentLink& pRightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus4, pRightInferiorLobeLateralBasalBronchiole, pulse::ExpandedPulmonaryLink::RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole);
- SEGasCompartmentLink& pRightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus4, pRightInferiorLobePosteriorBasalBronchiole, pulse::ExpandedPulmonaryLink::RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole);
-
- SEGasCompartmentLink& pLeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus3, pLeftInferiorLobeLateralBasalBronchiole, pulse::ExpandedPulmonaryLink::LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole);
- SEGasCompartmentLink& pLeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus3, pLeftInferiorLobePosteriorBasalBronchiole, pulse::ExpandedPulmonaryLink::LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole);
- SEGasCompartmentLink& pLeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus2, pLeftInferiorLobeAnteromedialBasalBronchiole, pulse::ExpandedPulmonaryLink::LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole);
- SEGasCompartmentLink& pLeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus1, pLeftInferiorLobeSuperiorBronchiole, pulse::ExpandedPulmonaryLink::LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole);
- SEGasCompartmentLink& pLeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole = m_Compartments->CreateGasLink(pLeftLingularBonchus, pLeftSuperiorLobeInferiorLingulaBronchiole, pulse::ExpandedPulmonaryLink::LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole);
- SEGasCompartmentLink& pLeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole = m_Compartments->CreateGasLink(pLeftLingularBonchus, pLeftSuperiorLobeSuperiorLingulaBronchiole, pulse::ExpandedPulmonaryLink::LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole);
- SEGasCompartmentLink& pLeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole = m_Compartments->CreateGasLink(pLeftSuperiorApicoposteriorBronchus, pLeftSuperiorLobeAnteriorBronchiole, pulse::ExpandedPulmonaryLink::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole);
- SEGasCompartmentLink& pLeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole = m_Compartments->CreateGasLink(pLeftSuperiorApicoposteriorBronchus, pLeftSuperiorLobeApicoposteriorBronchiole, pulse::ExpandedPulmonaryLink::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole);
-
- SEGasCompartmentLink& pRightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightSuperiorLobeApicalBronchiole, pRightSuperiorLobeApicalAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace);
- SEGasCompartmentLink& pRightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightSuperiorLobePosteriorBronchiole, pRightSuperiorLobePosteriorAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace);
- SEGasCompartmentLink& pRightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightSuperiorLobeAnteriorBronchiole, pRightSuperiorLobeAnteriorAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace);
- SEGasCompartmentLink& pRightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightMiddleLobeLateralBronchiole, pRightMiddleLobeLateralAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace);
- SEGasCompartmentLink& pRightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightMiddleLobeMedialBronchiole, pRightMiddleLobeMedialAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace);
- SEGasCompartmentLink& pRightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightInferiorLobeSuperiorBronchiole, pRightInferiorLobeSuperiorAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace);
- SEGasCompartmentLink& pRightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightInferiorLobeMedialBasalBronchiole, pRightInferiorLobeMedialBasalAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace);
- SEGasCompartmentLink& pRightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightInferiorLobeAnteriorBasalBronchiole, pRightInferiorLobeAnteriorBasalAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace);
- SEGasCompartmentLink& pRightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightInferiorLobeLateralBasalBronchiole, pRightInferiorLobeLateralBasalAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace);
- SEGasCompartmentLink& pRightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightInferiorLobePosteriorBasalBronchiole, pRightInferiorLobePosteriorBasalAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::RightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace);
+ SEGasCompartmentLink& pCarinaToRightMainBronchus = m_Compartments->CreateGasLink(pCarina, pRightMainBronchus, pulse::ExpandedLungsPulmonaryLink::CarinaToRightMainBronchus);
+ SEGasCompartmentLink& pRightMainBronchusToRightIntermediateBronchus = m_Compartments->CreateGasLink(pRightMainBronchus, pRightIntermediateBronchus, pulse::ExpandedLungsPulmonaryLink::RightMainBronchusToRightIntermediateBronchus);
+ SEGasCompartmentLink& pRightMainBronchusToRightSuperiorLobarBronchus = m_Compartments->CreateGasLink(pRightMainBronchus, pRightSuperiorLobarBronchus, pulse::ExpandedLungsPulmonaryLink::RightMainBronchusToRightSuperiorLobarBronchus);
+ SEGasCompartmentLink& pRightIntermediateBronchusToRightMiddleLobarBronchus = m_Compartments->CreateGasLink(pRightIntermediateBronchus, pRightMiddleLobarBronchus, pulse::ExpandedLungsPulmonaryLink::RightIntermediateBronchusToRightMiddleLobarBronchus);
+ SEGasCompartmentLink& pRightIntermediateBronchusToRightInferiorLobarBronchus1 = m_Compartments->CreateGasLink(pRightIntermediateBronchus, pRightInferiorLobarBronchus1, pulse::ExpandedLungsPulmonaryLink::RightIntermediateBronchusToRightInferiorLobarBronchus1);
+ SEGasCompartmentLink& pRightInferiorLobarBronchus1ToRightInferiorLobarBronchus2 = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus1, pRightInferiorLobarBronchus2, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobarBronchus1ToRightInferiorLobarBronchus2);
+ SEGasCompartmentLink& pRightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus = m_Compartments->CreateGasLink(pRightSuperiorLobarBronchus, pRightSuperiorApicoposteriorBronchus, pulse::ExpandedLungsPulmonaryLink::RightSuperiorLobarBronchusToRightSuperiorApicoposteriorBronchus);
+ SEGasCompartmentLink& pRightInferiorLobarBronchus2ToRightInferiorLobarBronchus3 = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus2, pRightInferiorLobarBronchus3, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobarBronchus2ToRightInferiorLobarBronchus3);
+ SEGasCompartmentLink& pRightInferiorLobarBronchus2ToRightInferiorLobarBronchus4 = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus2, pRightInferiorLobarBronchus4, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobarBronchus2ToRightInferiorLobarBronchus4);
+
+ SEGasCompartmentLink& pCarinaToLeftMainBronchus = m_Compartments->CreateGasLink(pCarina, pLeftMainBronchus, pulse::ExpandedLungsPulmonaryLink::CarinaToLeftMainBronchus);
+ SEGasCompartmentLink& pLeftMainBronchusToLeftInferiorLobarBronchus1 = m_Compartments->CreateGasLink(pLeftMainBronchus, pLeftInferiorLobarBronchus1, pulse::ExpandedLungsPulmonaryLink::LeftMainBronchusToLeftInferiorLobarBronchus1);
+ SEGasCompartmentLink& pLeftMainBronchusToLeftSuperiorLobarBronchus = m_Compartments->CreateGasLink(pLeftMainBronchus, pLeftSuperiorLobarBronchus, pulse::ExpandedLungsPulmonaryLink::LeftMainBronchusToLeftSuperiorLobarBronchus);
+ SEGasCompartmentLink& pLeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2 = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus1, pLeftInferiorLobarBronchus2, pulse::ExpandedLungsPulmonaryLink::LeftInferiorLobarBronchus1ToLeftInferiorLobarBronchus2);
+ SEGasCompartmentLink& pLeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3 = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus2, pLeftInferiorLobarBronchus3, pulse::ExpandedLungsPulmonaryLink::LeftInferiorLobarBronchus2ToLeftInferiorLobarBronchus3);
+ SEGasCompartmentLink& pLeftSuperiorLobarBronchusToLeftLingularBonchus = m_Compartments->CreateGasLink(pLeftSuperiorLobarBronchus, pLeftLingularBonchus, pulse::ExpandedLungsPulmonaryLink::LeftSuperiorLobarBronchusToLeftLingularBonchus);
+ SEGasCompartmentLink& pLeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus = m_Compartments->CreateGasLink(pLeftSuperiorLobarBronchus, pLeftSuperiorApicoposteriorBronchus, pulse::ExpandedLungsPulmonaryLink::LeftSuperiorLobarBronchusToLeftSuperiorApicoposteriorBronchus);
+
+ SEGasCompartmentLink& pRightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole = m_Compartments->CreateGasLink(pRightSuperiorApicoposteriorBronchus, pRightSuperiorLobeApicalBronchiole, pulse::ExpandedLungsPulmonaryLink::RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole);
+ SEGasCompartmentLink& pRightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole = m_Compartments->CreateGasLink(pRightSuperiorApicoposteriorBronchus, pRightSuperiorLobePosteriorBronchiole, pulse::ExpandedLungsPulmonaryLink::RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole);
+ SEGasCompartmentLink& pRightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole = m_Compartments->CreateGasLink(pRightSuperiorLobarBronchus, pRightSuperiorLobeAnteriorBronchiole, pulse::ExpandedLungsPulmonaryLink::RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole);
+ SEGasCompartmentLink& pRightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole = m_Compartments->CreateGasLink(pRightMiddleLobarBronchus, pRightMiddleLobeLateralBronchiole, pulse::ExpandedLungsPulmonaryLink::RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole);
+ SEGasCompartmentLink& pRightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole = m_Compartments->CreateGasLink(pRightMiddleLobarBronchus, pRightMiddleLobeMedialBronchiole, pulse::ExpandedLungsPulmonaryLink::RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole);
+ SEGasCompartmentLink& pRightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus1, pRightInferiorLobeSuperiorBronchiole, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole);
+ SEGasCompartmentLink& pRightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus2, pRightInferiorLobeMedialBasalBronchiole, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole);
+ SEGasCompartmentLink& pRightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus3, pRightInferiorLobeAnteriorBasalBronchiole, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole);
+ SEGasCompartmentLink& pRightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus4, pRightInferiorLobeLateralBasalBronchiole, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole);
+ SEGasCompartmentLink& pRightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole = m_Compartments->CreateGasLink(pRightInferiorLobarBronchus4, pRightInferiorLobePosteriorBasalBronchiole, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole);
+
+ SEGasCompartmentLink& pLeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus3, pLeftInferiorLobeLateralBasalBronchiole, pulse::ExpandedLungsPulmonaryLink::LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole);
+ SEGasCompartmentLink& pLeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus3, pLeftInferiorLobePosteriorBasalBronchiole, pulse::ExpandedLungsPulmonaryLink::LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole);
+ SEGasCompartmentLink& pLeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus2, pLeftInferiorLobeAnteromedialBasalBronchiole, pulse::ExpandedLungsPulmonaryLink::LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole);
+ SEGasCompartmentLink& pLeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole = m_Compartments->CreateGasLink(pLeftInferiorLobarBronchus1, pLeftInferiorLobeSuperiorBronchiole, pulse::ExpandedLungsPulmonaryLink::LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole);
+ SEGasCompartmentLink& pLeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole = m_Compartments->CreateGasLink(pLeftLingularBonchus, pLeftSuperiorLobeInferiorLingulaBronchiole, pulse::ExpandedLungsPulmonaryLink::LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole);
+ SEGasCompartmentLink& pLeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole = m_Compartments->CreateGasLink(pLeftLingularBonchus, pLeftSuperiorLobeSuperiorLingulaBronchiole, pulse::ExpandedLungsPulmonaryLink::LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole);
+ SEGasCompartmentLink& pLeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole = m_Compartments->CreateGasLink(pLeftSuperiorApicoposteriorBronchus, pLeftSuperiorLobeAnteriorBronchiole, pulse::ExpandedLungsPulmonaryLink::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole);
+ SEGasCompartmentLink& pLeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole = m_Compartments->CreateGasLink(pLeftSuperiorApicoposteriorBronchus, pLeftSuperiorLobeApicoposteriorBronchiole, pulse::ExpandedLungsPulmonaryLink::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole);
+
+ SEGasCompartmentLink& pRightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightSuperiorLobeApicalBronchiole, pRightSuperiorLobeApicalAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::RightSuperiorLobeApicalBronchioleToRightSuperiorLobeApicalAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightSuperiorLobePosteriorBronchiole, pRightSuperiorLobePosteriorAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::RightSuperiorLobePosteriorBronchioleToRightSuperiorLobePosteriorAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightSuperiorLobeAnteriorBronchiole, pRightSuperiorLobeAnteriorAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::RightSuperiorLobeAnteriorBronchioleToRightSuperiorLobeAnteriorAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightMiddleLobeLateralBronchiole, pRightMiddleLobeLateralAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::RightMiddleLobeLateralBronchioleToRightMiddleLobeLateralAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightMiddleLobeMedialBronchiole, pRightMiddleLobeMedialAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::RightMiddleLobeMedialBronchioleToRightMiddleLobeMedialAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightInferiorLobeSuperiorBronchiole, pRightInferiorLobeSuperiorAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobeSuperiorBronchioleToRightInferiorLobeSuperiorAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightInferiorLobeMedialBasalBronchiole, pRightInferiorLobeMedialBasalAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobeMedialBasalBronchioleToRightInferiorLobeMedialBasalAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightInferiorLobeAnteriorBasalBronchiole, pRightInferiorLobeAnteriorBasalAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobeAnteriorBasalBronchioleToRightInferiorLobeAnteriorBasalAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightInferiorLobeLateralBasalBronchiole, pRightInferiorLobeLateralBasalAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobeLateralBasalBronchioleToRightInferiorLobeLateralBasalAlveolarDeadSpace);
+ SEGasCompartmentLink& pRightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pRightInferiorLobePosteriorBasalBronchiole, pRightInferiorLobePosteriorBasalAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobePosteriorBasalBronchioleToRightInferiorLobePosteriorBasalAlveolarDeadSpace);
- SEGasCompartmentLink& pLeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftInferiorLobePosteriorBasalBronchiole, pLeftInferiorLobePosteriorBasalAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::LeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace);
- SEGasCompartmentLink& pLeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftInferiorLobeLateralBasalBronchiole, pLeftInferiorLobeLateralBasalAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::LeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace);
- SEGasCompartmentLink& pLeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftInferiorLobeAnteromedialBasalBronchiole, pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::LeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
- SEGasCompartmentLink& pLeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftInferiorLobeSuperiorBronchiole, pLeftInferiorLobeSuperiorAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::LeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace);
- SEGasCompartmentLink& pLeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftSuperiorLobeInferiorLingulaBronchiole, pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::LeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
- SEGasCompartmentLink& pLeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftSuperiorLobeSuperiorLingulaBronchiole, pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::LeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
- SEGasCompartmentLink& pLeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftSuperiorLobeAnteriorBronchiole, pLeftSuperiorLobeAnteriorAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::LeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace);
- SEGasCompartmentLink& pLeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftSuperiorLobeApicoposteriorBronchiole, pLeftSuperiorLobeApicoposteriorAlveolarDeadSpace, pulse::ExpandedPulmonaryLink::LeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
+ SEGasCompartmentLink& pLeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftInferiorLobePosteriorBasalBronchiole, pLeftInferiorLobePosteriorBasalAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::LeftInferiorLobePosteriorBasalBronchioleToLeftInferiorLobePosteriorBasalAlveolarDeadSpace);
+ SEGasCompartmentLink& pLeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftInferiorLobeLateralBasalBronchiole, pLeftInferiorLobeLateralBasalAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::LeftInferiorLobeLateralBasalBronchioleToLeftInferiorLobeLateralBasalAlveolarDeadSpace);
+ SEGasCompartmentLink& pLeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftInferiorLobeAnteromedialBasalBronchiole, pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::LeftInferiorLobeAnteromedialBasalBronchioleToLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace);
+ SEGasCompartmentLink& pLeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftInferiorLobeSuperiorBronchiole, pLeftInferiorLobeSuperiorAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::LeftInferiorLobeSuperiorBronchioleToLeftInferiorLobeSuperiorAlveolarDeadSpace);
+ SEGasCompartmentLink& pLeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftSuperiorLobeInferiorLingulaBronchiole, pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::LeftSuperiorLobeInferiorLingulaBronchioleToLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace);
+ SEGasCompartmentLink& pLeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftSuperiorLobeSuperiorLingulaBronchiole, pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::LeftSuperiorLobeSuperiorLingulaBronchioleToLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace);
+ SEGasCompartmentLink& pLeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftSuperiorLobeAnteriorBronchiole, pLeftSuperiorLobeAnteriorAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::LeftSuperiorLobeAnteriorBronchioleToLeftSuperiorLobeAnteriorAlveolarDeadSpace);
+ SEGasCompartmentLink& pLeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace = m_Compartments->CreateGasLink(pLeftSuperiorLobeApicoposteriorBronchiole, pLeftSuperiorLobeApicoposteriorAlveolarDeadSpace, pulse::ExpandedLungsPulmonaryLink::LeftSuperiorLobeApicoposteriorBronchioleToLeftSuperiorLobeApicoposteriorAlveolarDeadSpace);
- SEGasCompartmentLink& pRightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli = m_Compartments->CreateGasLink(pRightSuperiorLobeApicalAlveolarDeadSpace, pRightSuperiorLobeApicalAlveoli, pulse::ExpandedPulmonaryLink::RightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli);
- SEGasCompartmentLink& pRightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli = m_Compartments->CreateGasLink(pRightSuperiorLobePosteriorAlveolarDeadSpace, pRightSuperiorLobePosteriorAlveoli, pulse::ExpandedPulmonaryLink::RightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli);
- SEGasCompartmentLink& pRightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli = m_Compartments->CreateGasLink(pRightSuperiorLobeAnteriorAlveolarDeadSpace, pRightSuperiorLobeAnteriorAlveoli, pulse::ExpandedPulmonaryLink::RightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli);
- SEGasCompartmentLink& pRightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli = m_Compartments->CreateGasLink(pRightMiddleLobeLateralAlveolarDeadSpace, pRightMiddleLobeLateralAlveoli, pulse::ExpandedPulmonaryLink::RightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli);
- SEGasCompartmentLink& pRightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli = m_Compartments->CreateGasLink(pRightMiddleLobeMedialAlveolarDeadSpace, pRightMiddleLobeMedialAlveoli, pulse::ExpandedPulmonaryLink::RightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli);
- SEGasCompartmentLink& pRightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli = m_Compartments->CreateGasLink(pRightInferiorLobeSuperiorAlveolarDeadSpace, pRightInferiorLobeSuperiorAlveoli, pulse::ExpandedPulmonaryLink::RightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli);
- SEGasCompartmentLink& pRightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli = m_Compartments->CreateGasLink(pRightInferiorLobeMedialBasalAlveolarDeadSpace, pRightInferiorLobeMedialBasalAlveoli, pulse::ExpandedPulmonaryLink::RightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli);
- SEGasCompartmentLink& pRightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli = m_Compartments->CreateGasLink(pRightInferiorLobeAnteriorBasalAlveolarDeadSpace, pRightInferiorLobeAnteriorBasalAlveoli, pulse::ExpandedPulmonaryLink::RightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli);
- SEGasCompartmentLink& pRightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli = m_Compartments->CreateGasLink(pRightInferiorLobeLateralBasalAlveolarDeadSpace, pRightInferiorLobeLateralBasalAlveoli, pulse::ExpandedPulmonaryLink::RightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli);
- SEGasCompartmentLink& pRightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli = m_Compartments->CreateGasLink(pRightInferiorLobePosteriorBasalAlveolarDeadSpace, pRightInferiorLobePosteriorBasalAlveoli, pulse::ExpandedPulmonaryLink::RightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli);
+ SEGasCompartmentLink& pRightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli = m_Compartments->CreateGasLink(pRightSuperiorLobeApicalAlveolarDeadSpace, pRightSuperiorLobeApicalAlveoli, pulse::ExpandedLungsPulmonaryLink::RightSuperiorLobeApicalAlveolarDeadSpaceToRightSuperiorLobeApicalAlveoli);
+ SEGasCompartmentLink& pRightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli = m_Compartments->CreateGasLink(pRightSuperiorLobePosteriorAlveolarDeadSpace, pRightSuperiorLobePosteriorAlveoli, pulse::ExpandedLungsPulmonaryLink::RightSuperiorLobePosteriorAlveolarDeadSpaceToRightSuperiorLobePosteriorAlveoli);
+ SEGasCompartmentLink& pRightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli = m_Compartments->CreateGasLink(pRightSuperiorLobeAnteriorAlveolarDeadSpace, pRightSuperiorLobeAnteriorAlveoli, pulse::ExpandedLungsPulmonaryLink::RightSuperiorLobeAnteriorAlveolarDeadSpaceToRightSuperiorLobeAnteriorAlveoli);
+ SEGasCompartmentLink& pRightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli = m_Compartments->CreateGasLink(pRightMiddleLobeLateralAlveolarDeadSpace, pRightMiddleLobeLateralAlveoli, pulse::ExpandedLungsPulmonaryLink::RightMiddleLobeLateralAlveolarDeadSpaceToRightMiddleLobeLateralAlveoli);
+ SEGasCompartmentLink& pRightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli = m_Compartments->CreateGasLink(pRightMiddleLobeMedialAlveolarDeadSpace, pRightMiddleLobeMedialAlveoli, pulse::ExpandedLungsPulmonaryLink::RightMiddleLobeMedialAlveolarDeadSpaceToRightMiddleLobeMedialAlveoli);
+ SEGasCompartmentLink& pRightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli = m_Compartments->CreateGasLink(pRightInferiorLobeSuperiorAlveolarDeadSpace, pRightInferiorLobeSuperiorAlveoli, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobeSuperiorAlveolarDeadSpaceToRightInferiorLobeSuperiorAlveoli);
+ SEGasCompartmentLink& pRightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli = m_Compartments->CreateGasLink(pRightInferiorLobeMedialBasalAlveolarDeadSpace, pRightInferiorLobeMedialBasalAlveoli, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobeMedialBasalAlveolarDeadSpaceToRightInferiorLobeMedialBasalAlveoli);
+ SEGasCompartmentLink& pRightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli = m_Compartments->CreateGasLink(pRightInferiorLobeAnteriorBasalAlveolarDeadSpace, pRightInferiorLobeAnteriorBasalAlveoli, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobeAnteriorBasalAlveolarDeadSpaceToRightInferiorLobeAnteriorBasalAlveoli);
+ SEGasCompartmentLink& pRightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli = m_Compartments->CreateGasLink(pRightInferiorLobeLateralBasalAlveolarDeadSpace, pRightInferiorLobeLateralBasalAlveoli, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobeLateralBasalAlveolarDeadSpaceToRightInferiorLobeLateralBasalAlveoli);
+ SEGasCompartmentLink& pRightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli = m_Compartments->CreateGasLink(pRightInferiorLobePosteriorBasalAlveolarDeadSpace, pRightInferiorLobePosteriorBasalAlveoli, pulse::ExpandedLungsPulmonaryLink::RightInferiorLobePosteriorBasalAlveolarDeadSpaceToRightInferiorLobePosteriorBasalAlveoli);
- SEGasCompartmentLink& pLeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli = m_Compartments->CreateGasLink(pLeftInferiorLobePosteriorBasalAlveolarDeadSpace, pLeftInferiorLobePosteriorBasalAlveoli, pulse::ExpandedPulmonaryLink::LeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli);
- SEGasCompartmentLink& pLeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli = m_Compartments->CreateGasLink(pLeftInferiorLobeLateralBasalAlveolarDeadSpace, pLeftInferiorLobeLateralBasalAlveoli, pulse::ExpandedPulmonaryLink::LeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli);
- SEGasCompartmentLink& pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli = m_Compartments->CreateGasLink(pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace, pLeftInferiorLobeAnteromedialBasalAlveoli, pulse::ExpandedPulmonaryLink::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli);
- SEGasCompartmentLink& pLeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli = m_Compartments->CreateGasLink(pLeftInferiorLobeSuperiorAlveolarDeadSpace, pLeftInferiorLobeSuperiorAlveoli, pulse::ExpandedPulmonaryLink::LeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli);
- SEGasCompartmentLink& pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli = m_Compartments->CreateGasLink(pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace, pLeftSuperiorLobeInferiorLingulaAlveoli, pulse::ExpandedPulmonaryLink::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli);
- SEGasCompartmentLink& pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli = m_Compartments->CreateGasLink(pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace, pLeftSuperiorLobeSuperiorLingulaAlveoli, pulse::ExpandedPulmonaryLink::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli);
- SEGasCompartmentLink& pLeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli = m_Compartments->CreateGasLink(pLeftSuperiorLobeAnteriorAlveolarDeadSpace, pLeftSuperiorLobeAnteriorAlveoli, pulse::ExpandedPulmonaryLink::LeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli);
- SEGasCompartmentLink& pLeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli = m_Compartments->CreateGasLink(pLeftSuperiorLobeApicoposteriorAlveolarDeadSpace, pLeftSuperiorLobeApicoposteriorAlveoli, pulse::ExpandedPulmonaryLink::LeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli);
+ SEGasCompartmentLink& pLeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli = m_Compartments->CreateGasLink(pLeftInferiorLobePosteriorBasalAlveolarDeadSpace, pLeftInferiorLobePosteriorBasalAlveoli, pulse::ExpandedLungsPulmonaryLink::LeftInferiorLobePosteriorBasalAlveolarDeadSpaceToLeftInferiorLobePosteriorBasalAlveoli);
+ SEGasCompartmentLink& pLeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli = m_Compartments->CreateGasLink(pLeftInferiorLobeLateralBasalAlveolarDeadSpace, pLeftInferiorLobeLateralBasalAlveoli, pulse::ExpandedLungsPulmonaryLink::LeftInferiorLobeLateralBasalAlveolarDeadSpaceToLeftInferiorLobeLateralBasalAlveoli);
+ SEGasCompartmentLink& pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli = m_Compartments->CreateGasLink(pLeftInferiorLobeAnteromedialBasalAlveolarDeadSpace, pLeftInferiorLobeAnteromedialBasalAlveoli, pulse::ExpandedLungsPulmonaryLink::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpaceToLeftInferiorLobeAnteromedialBasalAlveoli);
+ SEGasCompartmentLink& pLeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli = m_Compartments->CreateGasLink(pLeftInferiorLobeSuperiorAlveolarDeadSpace, pLeftInferiorLobeSuperiorAlveoli, pulse::ExpandedLungsPulmonaryLink::LeftInferiorLobeSuperiorAlveolarDeadSpaceToLeftInferiorLobeSuperiorAlveoli);
+ SEGasCompartmentLink& pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli = m_Compartments->CreateGasLink(pLeftSuperiorLobeInferiorLingulaAlveolarDeadSpace, pLeftSuperiorLobeInferiorLingulaAlveoli, pulse::ExpandedLungsPulmonaryLink::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeInferiorLingulaAlveoli);
+ SEGasCompartmentLink& pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli = m_Compartments->CreateGasLink(pLeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace, pLeftSuperiorLobeSuperiorLingulaAlveoli, pulse::ExpandedLungsPulmonaryLink::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpaceToLeftSuperiorLobeSuperiorLingulaAlveoli);
+ SEGasCompartmentLink& pLeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli = m_Compartments->CreateGasLink(pLeftSuperiorLobeAnteriorAlveolarDeadSpace, pLeftSuperiorLobeAnteriorAlveoli, pulse::ExpandedLungsPulmonaryLink::LeftSuperiorLobeAnteriorAlveolarDeadSpaceToLeftSuperiorLobeAnteriorAlveoli);
+ SEGasCompartmentLink& pLeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli = m_Compartments->CreateGasLink(pLeftSuperiorLobeApicoposteriorAlveolarDeadSpace, pLeftSuperiorLobeApicoposteriorAlveoli, pulse::ExpandedLungsPulmonaryLink::LeftSuperiorLobeApicoposteriorAlveolarDeadSpaceToLeftSuperiorLobeApicoposteriorAlveoli);
pCarinaToRightMainBronchus.MapPath(CarinaToRightMainBronchus);
pRightMainBronchusToRightIntermediateBronchus.MapPath(RightMainBronchusToRightIntermediateBronchus);
@@ -1307,9 +1307,9 @@ namespace pulse
lAerosol.StateChange();
}
- void Controller::SetupExpandedPulmonaryCardiovascular()
+ void Controller::SetupExpandedLungsCardiovascular()
{
- Info("Setting Up Expanded Pulmonary Cardiovascular");
+ Info("Setting Up Expanded Lungs Cardiovascular");
bool male = m_InitialPatient->GetSex() == ePatient_Sex::Male ? true : false;
double RightLungRatio = m_InitialPatient->GetRightLungRatio().GetValue();
double LeftLungRatio = 1 - RightLungRatio;
@@ -1705,25 +1705,25 @@ namespace pulse
AbdominalCavity.GetVolumeBaseline().SetValue(10.0, VolumeUnit::mL);
AbdominalCavity.GetPressure().SetValue(0.0, PressureUnit::mmHg);
- SEFluidCircuitNode& RightSuperiorLobeApicalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightSuperiorLobeApicalPulmonaryCapillaries);
- SEFluidCircuitNode& RightSuperiorLobePosteriorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightSuperiorLobePosteriorPulmonaryCapillaries);
- SEFluidCircuitNode& RightSuperiorLobeAnteriorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightSuperiorLobeAnteriorPulmonaryCapillaries);
- SEFluidCircuitNode& RightMiddleLobeLateralPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightMiddleLobeLateralPulmonaryCapillaries);
- SEFluidCircuitNode& RightMiddleLobeMedialPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightMiddleLobeMedialPulmonaryCapillaries);
- SEFluidCircuitNode& RightInferiorLobeSuperiorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightInferiorLobeSuperiorPulmonaryCapillaries);
- SEFluidCircuitNode& RightInferiorLobeMedialBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightInferiorLobeMedialBasalPulmonaryCapillaries);
- SEFluidCircuitNode& RightInferiorLobeAnteriorBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightInferiorLobeAnteriorBasalPulmonaryCapillaries);
- SEFluidCircuitNode& RightInferiorLobeLateralBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightInferiorLobeLateralBasalPulmonaryCapillaries);
- SEFluidCircuitNode& RightInferiorLobePosteriorBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightInferiorLobePosteriorBasalPulmonaryCapillaries);
-
- SEFluidCircuitNode& LeftInferiorLobePosteriorBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftInferiorLobePosteriorBasalPulmonaryCapillaries);
- SEFluidCircuitNode& LeftInferiorLobeLateralBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftInferiorLobeLateralBasalPulmonaryCapillaries);
- SEFluidCircuitNode& LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
- SEFluidCircuitNode& LeftInferiorLobeSuperiorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftInferiorLobeSuperiorPulmonaryCapillaries);
- SEFluidCircuitNode& LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
- SEFluidCircuitNode& LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
- SEFluidCircuitNode& LeftSuperiorLobeAnteriorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftSuperiorLobeAnteriorPulmonaryCapillaries);
- SEFluidCircuitNode& LeftSuperiorLobeApicoposteriorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+ SEFluidCircuitNode& RightSuperiorLobeApicalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::RightSuperiorLobeApicalPulmonaryCapillaries);
+ SEFluidCircuitNode& RightSuperiorLobePosteriorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::RightSuperiorLobePosteriorPulmonaryCapillaries);
+ SEFluidCircuitNode& RightSuperiorLobeAnteriorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::RightSuperiorLobeAnteriorPulmonaryCapillaries);
+ SEFluidCircuitNode& RightMiddleLobeLateralPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::RightMiddleLobeLateralPulmonaryCapillaries);
+ SEFluidCircuitNode& RightMiddleLobeMedialPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::RightMiddleLobeMedialPulmonaryCapillaries);
+ SEFluidCircuitNode& RightInferiorLobeSuperiorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::RightInferiorLobeSuperiorPulmonaryCapillaries);
+ SEFluidCircuitNode& RightInferiorLobeMedialBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::RightInferiorLobeMedialBasalPulmonaryCapillaries);
+ SEFluidCircuitNode& RightInferiorLobeAnteriorBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::RightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ SEFluidCircuitNode& RightInferiorLobeLateralBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::RightInferiorLobeLateralBasalPulmonaryCapillaries);
+ SEFluidCircuitNode& RightInferiorLobePosteriorBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::RightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ SEFluidCircuitNode& LeftInferiorLobePosteriorBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::LeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ SEFluidCircuitNode& LeftInferiorLobeLateralBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::LeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ SEFluidCircuitNode& LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ SEFluidCircuitNode& LeftInferiorLobeSuperiorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::LeftInferiorLobeSuperiorPulmonaryCapillaries);
+ SEFluidCircuitNode& LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ SEFluidCircuitNode& LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ SEFluidCircuitNode& LeftSuperiorLobeAnteriorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::LeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ SEFluidCircuitNode& LeftSuperiorLobeApicoposteriorPulmonaryCapillaries = cCardiovascular.CreateNode(pulse::ExpandedLungsCardiovascularNode::LeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
RightSuperiorLobeApicalPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionRightSuperiorLobeApicalPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
RightSuperiorLobePosteriorPulmonaryCapillaries.GetVolumeBaseline().SetValue(VolumeFractionRightSuperiorLobePosteriorPulmonaryCapillaries * bloodVolume_mL, VolumeUnit::mL);
@@ -2012,65 +2012,65 @@ namespace pulse
SEFluidCircuitPath& IVToVenaCava1 = cCardiovascular.CreatePath(Ground, VenaCava1, pulse::CardiovascularPath::IVToVenaCava1);
IVToVenaCava1.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s);
- SEFluidCircuitPath& RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightSuperiorLobeApicalPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries);
- SEFluidCircuitPath& RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightSuperiorLobePosteriorPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries);
- SEFluidCircuitPath& RightPulmonaryArteries1ToRightSuperiorLobeAnteriorPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightSuperiorLobeAnteriorPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeAnteriorPulmonaryCapillaries);
- SEFluidCircuitPath& RightPulmonaryArteries1ToRightMiddleLobeLateralPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightMiddleLobeLateralPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeLateralPulmonaryCapillaries);
- SEFluidCircuitPath& RightPulmonaryArteries1ToRightMiddleLobeMedialPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightMiddleLobeMedialPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeMedialPulmonaryCapillaries);
- SEFluidCircuitPath& RightPulmonaryArteries1ToRightInferiorLobeSuperiorPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightInferiorLobeSuperiorPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeSuperiorPulmonaryCapillaries);
- SEFluidCircuitPath& RightPulmonaryArteries1ToRightInferiorLobeMedialBasalPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightInferiorLobeMedialBasalPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeMedialBasalPulmonaryCapillaries);
- SEFluidCircuitPath& RightPulmonaryArteries1ToRightInferiorLobeAnteriorBasalPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightInferiorLobeAnteriorBasalPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeAnteriorBasalPulmonaryCapillaries);
- SEFluidCircuitPath& RightPulmonaryArteries1ToRightInferiorLobeLateralBasalPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightInferiorLobeLateralBasalPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeLateralBasalPulmonaryCapillaries);
- SEFluidCircuitPath& RightPulmonaryArteries1ToRightInferiorLobePosteriorBasalPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightInferiorLobePosteriorBasalPulmonaryCapillaries, pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobePosteriorBasalPulmonaryCapillaries);
-
- SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftInferiorLobePosteriorBasalPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftInferiorLobePosteriorBasalPulmonaryCapillaries, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobePosteriorBasalPulmonaryCapillaries);
- SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftInferiorLobeLateralBasalPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftInferiorLobeLateralBasalPulmonaryCapillaries, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeLateralBasalPulmonaryCapillaries);
- SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
- SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftInferiorLobeSuperiorPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftInferiorLobeSuperiorPulmonaryCapillaries, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeSuperiorPulmonaryCapillaries);
- SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
- SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
- SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftSuperiorLobeAnteriorPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftSuperiorLobeAnteriorPulmonaryCapillaries, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeAnteriorPulmonaryCapillaries);
- SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftSuperiorLobeApicoposteriorPulmonaryCapillaries, pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
-
- SEFluidCircuitPath& RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightSuperiorLobeApicalPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1);
- SEFluidCircuitPath& RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightSuperiorLobePosteriorPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1);
- SEFluidCircuitPath& RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightSuperiorLobeAnteriorPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1);
- SEFluidCircuitPath& RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightMiddleLobeLateralPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1);
- SEFluidCircuitPath& RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightMiddleLobeMedialPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1);
- SEFluidCircuitPath& RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightInferiorLobeSuperiorPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1);
- SEFluidCircuitPath& RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightInferiorLobeMedialBasalPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1);
- SEFluidCircuitPath& RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightInferiorLobeAnteriorBasalPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1);
- SEFluidCircuitPath& RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightInferiorLobeLateralBasalPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1);
- SEFluidCircuitPath& RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightInferiorLobePosteriorBasalPulmonaryCapillaries, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1);
-
- SEFluidCircuitPath& LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftInferiorLobePosteriorBasalPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1);
- SEFluidCircuitPath& LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftInferiorLobeLateralBasalPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1);
- SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1);
- SEFluidCircuitPath& LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftInferiorLobeSuperiorPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1);
- SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1);
- SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1);
- SEFluidCircuitPath& LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftSuperiorLobeAnteriorPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1);
- SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1);
-
- SEFluidCircuitPath& RightSuperiorLobeApicalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightSuperiorLobeApicalPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToGround);
- SEFluidCircuitPath& RightSuperiorLobePosteriorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightSuperiorLobePosteriorPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToGround);
- SEFluidCircuitPath& RightSuperiorLobeAnteriorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightSuperiorLobeAnteriorPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToGround);
- SEFluidCircuitPath& RightMiddleLobeLateralPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightMiddleLobeLateralPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToGround);
- SEFluidCircuitPath& RightMiddleLobeMedialPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightMiddleLobeMedialPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToGround);
- SEFluidCircuitPath& RightInferiorLobeSuperiorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightInferiorLobeSuperiorPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToGround);
- SEFluidCircuitPath& RightInferiorLobeMedialBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightInferiorLobeMedialBasalPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToGround);
- SEFluidCircuitPath& RightInferiorLobeAnteriorBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightInferiorLobeAnteriorBasalPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToGround);
- SEFluidCircuitPath& RightInferiorLobeLateralBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightInferiorLobeLateralBasalPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToGround);
- SEFluidCircuitPath& RightInferiorLobePosteriorBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightInferiorLobePosteriorBasalPulmonaryCapillaries, Ground, pulse::CardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToGround);
-
- SEFluidCircuitPath& LeftInferiorLobePosteriorBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftInferiorLobePosteriorBasalPulmonaryCapillaries, Ground, pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToGround);
- SEFluidCircuitPath& LeftInferiorLobeLateralBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftInferiorLobeLateralBasalPulmonaryCapillaries, Ground, pulse::CardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToGround);
- SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries, Ground, pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToGround);
- SEFluidCircuitPath& LeftInferiorLobeSuperiorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftInferiorLobeSuperiorPulmonaryCapillaries, Ground, pulse::CardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToGround);
- SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries, Ground, pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToGround);
- SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries, Ground, pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToGround);
- SEFluidCircuitPath& LeftSuperiorLobeAnteriorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftSuperiorLobeAnteriorPulmonaryCapillaries, Ground, pulse::CardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToGround);
- SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries, Ground, pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightSuperiorLobeApicalPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightSuperiorLobePosteriorPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightSuperiorLobeAnteriorPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightSuperiorLobeAnteriorPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeAnteriorPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightMiddleLobeLateralPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightMiddleLobeLateralPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeLateralPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightMiddleLobeMedialPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightMiddleLobeMedialPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeMedialPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightInferiorLobeSuperiorPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightInferiorLobeSuperiorPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeSuperiorPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightInferiorLobeMedialBasalPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightInferiorLobeMedialBasalPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeMedialBasalPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightInferiorLobeAnteriorBasalPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightInferiorLobeAnteriorBasalPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightInferiorLobeLateralBasalPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightInferiorLobeLateralBasalPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeLateralBasalPulmonaryCapillaries);
+ SEFluidCircuitPath& RightPulmonaryArteries1ToRightInferiorLobePosteriorBasalPulmonaryCapillaries = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightInferiorLobePosteriorBasalPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftInferiorLobePosteriorBasalPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftInferiorLobePosteriorBasalPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftInferiorLobeLateralBasalPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftInferiorLobeLateralBasalPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftInferiorLobeSuperiorPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftInferiorLobeSuperiorPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeSuperiorPulmonaryCapillaries);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftSuperiorLobeAnteriorPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftSuperiorLobeAnteriorPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ SEFluidCircuitPath& LeftPulmonaryArteries1ToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftSuperiorLobeApicoposteriorPulmonaryCapillaries, pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
+ SEFluidCircuitPath& RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightSuperiorLobeApicalPulmonaryCapillaries, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightSuperiorLobePosteriorPulmonaryCapillaries, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightSuperiorLobeAnteriorPulmonaryCapillaries, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightMiddleLobeLateralPulmonaryCapillaries, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightMiddleLobeMedialPulmonaryCapillaries, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightInferiorLobeSuperiorPulmonaryCapillaries, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightInferiorLobeMedialBasalPulmonaryCapillaries, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightInferiorLobeAnteriorBasalPulmonaryCapillaries, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightInferiorLobeLateralBasalPulmonaryCapillaries, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1);
+ SEFluidCircuitPath& RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1 = cCardiovascular.CreatePath(RightInferiorLobePosteriorBasalPulmonaryCapillaries, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1);
+
+ SEFluidCircuitPath& LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftInferiorLobePosteriorBasalPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1);
+ SEFluidCircuitPath& LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftInferiorLobeLateralBasalPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1);
+ SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1);
+ SEFluidCircuitPath& LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftInferiorLobeSuperiorPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1);
+ SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1);
+ SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1);
+ SEFluidCircuitPath& LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftSuperiorLobeAnteriorPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1);
+ SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1 = cCardiovascular.CreatePath(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries, LeftPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1);
+
+ SEFluidCircuitPath& RightSuperiorLobeApicalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightSuperiorLobeApicalPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightSuperiorLobePosteriorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightSuperiorLobePosteriorPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightSuperiorLobeAnteriorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightSuperiorLobeAnteriorPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightMiddleLobeLateralPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightMiddleLobeLateralPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightMiddleLobeMedialPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightMiddleLobeMedialPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightInferiorLobeSuperiorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightInferiorLobeSuperiorPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightInferiorLobeMedialBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightInferiorLobeMedialBasalPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightInferiorLobeAnteriorBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightInferiorLobeAnteriorBasalPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightInferiorLobeLateralBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightInferiorLobeLateralBasalPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& RightInferiorLobePosteriorBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(RightInferiorLobePosteriorBasalPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToGround);
+
+ SEFluidCircuitPath& LeftInferiorLobePosteriorBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftInferiorLobePosteriorBasalPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& LeftInferiorLobeLateralBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftInferiorLobeLateralBasalPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& LeftInferiorLobeSuperiorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftInferiorLobeSuperiorPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& LeftSuperiorLobeAnteriorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftSuperiorLobeAnteriorPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToGround);
+ SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToGround = cCardiovascular.CreatePath(LeftSuperiorLobeApicoposteriorPulmonaryCapillaries, Ground, pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToGround);
RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceRightSuperiorLobeApicalPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries.GetResistanceBaseline().SetValue(ResistanceRightSuperiorLobePosteriorPulmonaryCapillaries, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
@@ -2133,25 +2133,25 @@ namespace pulse
LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg);
//Shunts
- SEFluidCircuitPath& RightSuperiorLobeApicalShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightSuperiorLobeApicalShunt);
- SEFluidCircuitPath& RightSuperiorLobePosteriorShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightSuperiorLobePosteriorShunt);
- SEFluidCircuitPath& RightSuperiorLobeAnteriorShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightSuperiorLobeAnteriorShunt);
- SEFluidCircuitPath& RightMiddleLobeLateralShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightMiddleLobeLateralShunt);
- SEFluidCircuitPath& RightMiddleLobeMedialShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightMiddleLobeMedialShunt);
- SEFluidCircuitPath& RightInferiorLobeSuperiorShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobeSuperiorShunt);
- SEFluidCircuitPath& RightInferiorLobeMedialBasalShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobeMedialBasalShunt);
- SEFluidCircuitPath& RightInferiorLobeAnteriorBasalShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalShunt);
- SEFluidCircuitPath& RightInferiorLobeLateralBasalShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobeLateralBasalShunt);
- SEFluidCircuitPath& RightInferiorLobePosteriorBasalShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::CardiovascularPath::RightInferiorLobePosteriorBasalShunt);
-
- SEFluidCircuitPath& LeftInferiorLobePosteriorBasalShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalShunt);
- SEFluidCircuitPath& LeftInferiorLobeLateralBasalShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftInferiorLobeLateralBasalShunt);
- SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalShunt);
- SEFluidCircuitPath& LeftInferiorLobeSuperiorShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftInferiorLobeSuperiorShunt);
- SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaShunt);
- SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaShunt);
- SEFluidCircuitPath& LeftSuperiorLobeAnteriorShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftSuperiorLobeAnteriorShunt);
- SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorShunt);
+ SEFluidCircuitPath& RightSuperiorLobeApicalShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeApicalShunt);
+ SEFluidCircuitPath& RightSuperiorLobePosteriorShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobePosteriorShunt);
+ SEFluidCircuitPath& RightSuperiorLobeAnteriorShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeAnteriorShunt);
+ SEFluidCircuitPath& RightMiddleLobeLateralShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeLateralShunt);
+ SEFluidCircuitPath& RightMiddleLobeMedialShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeMedialShunt);
+ SEFluidCircuitPath& RightInferiorLobeSuperiorShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeSuperiorShunt);
+ SEFluidCircuitPath& RightInferiorLobeMedialBasalShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeMedialBasalShunt);
+ SEFluidCircuitPath& RightInferiorLobeAnteriorBasalShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeAnteriorBasalShunt);
+ SEFluidCircuitPath& RightInferiorLobeLateralBasalShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeLateralBasalShunt);
+ SEFluidCircuitPath& RightInferiorLobePosteriorBasalShunt = cCardiovascular.CreatePath(RightPulmonaryArteries1, RightPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::RightInferiorLobePosteriorBasalShunt);
+
+ SEFluidCircuitPath& LeftInferiorLobePosteriorBasalShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobePosteriorBasalShunt);
+ SEFluidCircuitPath& LeftInferiorLobeLateralBasalShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeLateralBasalShunt);
+ SEFluidCircuitPath& LeftInferiorLobeAnteromedialBasalShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeAnteromedialBasalShunt);
+ SEFluidCircuitPath& LeftInferiorLobeSuperiorShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeSuperiorShunt);
+ SEFluidCircuitPath& LeftSuperiorLobeInferiorLingulaShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeInferiorLingulaShunt);
+ SEFluidCircuitPath& LeftSuperiorLobeSuperiorLingulaShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeSuperiorLingulaShunt);
+ SEFluidCircuitPath& LeftSuperiorLobeAnteriorShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeAnteriorShunt);
+ SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorShunt = cCardiovascular.CreatePath(LeftPulmonaryArteries1, LeftPulmonaryVeins1, pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeApicoposteriorShunt);
RightSuperiorLobeApicalShunt.GetResistanceBaseline().SetValue(10.0 * ResistanceShuntRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
RightSuperiorLobePosteriorShunt.GetResistanceBaseline().SetValue(10.0 * ResistanceShuntRight, PressureTimePerVolumeUnit::mmHg_s_Per_mL);
@@ -2456,25 +2456,25 @@ namespace pulse
SELiquidCompartment& vGround = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Ground);
vGround.MapNode(Ground);
- SELiquidCompartment& vRightSuperiorLobeApicalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightSuperiorLobeApicalPulmonaryCapillaries);
- SELiquidCompartment& vRightSuperiorLobePosteriorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightSuperiorLobePosteriorPulmonaryCapillaries);
- SELiquidCompartment& vRightSuperiorLobeAnteriorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightSuperiorLobeAnteriorPulmonaryCapillaries);
- SELiquidCompartment& vRightMiddleLobeLateralPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightMiddleLobeLateralPulmonaryCapillaries);
- SELiquidCompartment& vRightMiddleLobeMedialPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightMiddleLobeMedialPulmonaryCapillaries);
- SELiquidCompartment& vRightInferiorLobeSuperiorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightInferiorLobeSuperiorPulmonaryCapillaries);
- SELiquidCompartment& vRightInferiorLobeMedialBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightInferiorLobeMedialBasalPulmonaryCapillaries);
- SELiquidCompartment& vRightInferiorLobeAnteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightInferiorLobeAnteriorBasalPulmonaryCapillaries);
- SELiquidCompartment& vRightInferiorLobeLateralBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightInferiorLobeLateralBasalPulmonaryCapillaries);
- SELiquidCompartment& vRightInferiorLobePosteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightInferiorLobePosteriorBasalPulmonaryCapillaries);
-
- SELiquidCompartment& vLeftInferiorLobePosteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftInferiorLobePosteriorBasalPulmonaryCapillaries);
- SELiquidCompartment& vLeftInferiorLobeLateralBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftInferiorLobeLateralBasalPulmonaryCapillaries);
- SELiquidCompartment& vLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
- SELiquidCompartment& vLeftInferiorLobeSuperiorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftInferiorLobeSuperiorPulmonaryCapillaries);
- SELiquidCompartment& vLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
- SELiquidCompartment& vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
- SELiquidCompartment& vLeftSuperiorLobeAnteriorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftSuperiorLobeAnteriorPulmonaryCapillaries);
- SELiquidCompartment& vLeftSuperiorLobeApicoposteriorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+ SELiquidCompartment& vRightSuperiorLobeApicalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightSuperiorLobeApicalPulmonaryCapillaries);
+ SELiquidCompartment& vRightSuperiorLobePosteriorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightSuperiorLobePosteriorPulmonaryCapillaries);
+ SELiquidCompartment& vRightSuperiorLobeAnteriorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightSuperiorLobeAnteriorPulmonaryCapillaries);
+ SELiquidCompartment& vRightMiddleLobeLateralPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightMiddleLobeLateralPulmonaryCapillaries);
+ SELiquidCompartment& vRightMiddleLobeMedialPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightMiddleLobeMedialPulmonaryCapillaries);
+ SELiquidCompartment& vRightInferiorLobeSuperiorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightInferiorLobeSuperiorPulmonaryCapillaries);
+ SELiquidCompartment& vRightInferiorLobeMedialBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightInferiorLobeMedialBasalPulmonaryCapillaries);
+ SELiquidCompartment& vRightInferiorLobeAnteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ SELiquidCompartment& vRightInferiorLobeLateralBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightInferiorLobeLateralBasalPulmonaryCapillaries);
+ SELiquidCompartment& vRightInferiorLobePosteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ SELiquidCompartment& vLeftInferiorLobePosteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ SELiquidCompartment& vLeftInferiorLobeLateralBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ SELiquidCompartment& vLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ SELiquidCompartment& vLeftInferiorLobeSuperiorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftInferiorLobeSuperiorPulmonaryCapillaries);
+ SELiquidCompartment& vLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ SELiquidCompartment& vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ SELiquidCompartment& vLeftSuperiorLobeAnteriorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ SELiquidCompartment& vLeftSuperiorLobeApicoposteriorPulmonaryCapillaries = m_Compartments->CreateLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
vRightSuperiorLobeApicalPulmonaryCapillaries.MapNode(RightSuperiorLobeApicalPulmonaryCapillaries);
vRightSuperiorLobePosteriorPulmonaryCapillaries.MapNode(RightSuperiorLobePosteriorPulmonaryCapillaries);
@@ -2700,65 +2700,65 @@ namespace pulse
SELiquidCompartmentLink& vVenaCavaIV = m_Compartments->CreateLiquidLink(vGround, vVenaCava, pulse::VascularLink::VenaCavaIV);
vVenaCavaIV.MapPath(IVToVenaCava1);
- SELiquidCompartmentLink& vRightPulmonaryArteriesToRightSuperiorLobeApicalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightSuperiorLobeApicalPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightSuperiorLobeApicalPulmonaryCapillaries);
- SELiquidCompartmentLink& vRightPulmonaryArteriesToRightSuperiorLobePosteriorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightSuperiorLobePosteriorPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightSuperiorLobePosteriorPulmonaryCapillaries);
- SELiquidCompartmentLink& vRightPulmonaryArteriesToRightSuperiorLobeAnteriorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightSuperiorLobeAnteriorPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightSuperiorLobeAnteriorPulmonaryCapillaries);
- SELiquidCompartmentLink& vRightPulmonaryArteriesToRightMiddleLobeLateralPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightMiddleLobeLateralPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightMiddleLobeLateralPulmonaryCapillaries);
- SELiquidCompartmentLink& vRightPulmonaryArteriesToRightMiddleLobeMedialPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightMiddleLobeMedialPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightMiddleLobeMedialPulmonaryCapillaries);
- SELiquidCompartmentLink& vRightPulmonaryArteriesToRightInferiorLobeSuperiorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightInferiorLobeSuperiorPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightInferiorLobeSuperiorPulmonaryCapillaries);
- SELiquidCompartmentLink& vRightPulmonaryArteriesToRightInferiorLobeMedialBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightInferiorLobeMedialBasalPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightInferiorLobeMedialBasalPulmonaryCapillaries);
- SELiquidCompartmentLink& vRightPulmonaryArteriesToRightInferiorLobeAnteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightInferiorLobeAnteriorBasalPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightInferiorLobeAnteriorBasalPulmonaryCapillaries);
- SELiquidCompartmentLink& vRightPulmonaryArteriesToRightInferiorLobeLateralBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightInferiorLobeLateralBasalPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightInferiorLobeLateralBasalPulmonaryCapillaries);
- SELiquidCompartmentLink& vRightPulmonaryArteriesToRightInferiorLobePosteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightInferiorLobePosteriorBasalPulmonaryCapillaries, pulse::VascularLink::RightPulmonaryArteriesToRightInferiorLobePosteriorBasalPulmonaryCapillaries);
-
- SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftInferiorLobePosteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftInferiorLobePosteriorBasalPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToLeftInferiorLobePosteriorBasalPulmonaryCapillaries);
- SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftInferiorLobeLateralBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftInferiorLobeLateralBasalPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToLeftInferiorLobeLateralBasalPulmonaryCapillaries);
- SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
- SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftInferiorLobeSuperiorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftInferiorLobeSuperiorPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToLeftInferiorLobeSuperiorPulmonaryCapillaries);
- SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
- SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
- SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftSuperiorLobeAnteriorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftSuperiorLobeAnteriorPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToLeftSuperiorLobeAnteriorPulmonaryCapillaries);
- SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftSuperiorLobeApicoposteriorPulmonaryCapillaries, pulse::VascularLink::LeftPulmonaryArteriesToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
-
- SELiquidCompartmentLink& vRightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightSuperiorLobeApicalPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins);
- SELiquidCompartmentLink& vRightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightSuperiorLobePosteriorPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins);
- SELiquidCompartmentLink& vRightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightSuperiorLobeAnteriorPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins);
- SELiquidCompartmentLink& vRightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightMiddleLobeLateralPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins);
- SELiquidCompartmentLink& vRightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightMiddleLobeMedialPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins);
- SELiquidCompartmentLink& vRightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightInferiorLobeSuperiorPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins);
- SELiquidCompartmentLink& vRightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightInferiorLobeMedialBasalPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins);
- SELiquidCompartmentLink& vRightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightInferiorLobeAnteriorBasalPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins);
- SELiquidCompartmentLink& vRightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightInferiorLobeLateralBasalPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins);
- SELiquidCompartmentLink& vRightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightInferiorLobePosteriorBasalPulmonaryCapillaries, vRightPulmonaryVeins, pulse::VascularLink::RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins);
-
- SELiquidCompartmentLink& vLeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftInferiorLobePosteriorBasalPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins);
- SELiquidCompartmentLink& vLeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftInferiorLobeLateralBasalPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins);
- SELiquidCompartmentLink& vLeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins);
- SELiquidCompartmentLink& vLeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftInferiorLobeSuperiorPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins);
- SELiquidCompartmentLink& vLeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins);
- SELiquidCompartmentLink& vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins);
- SELiquidCompartmentLink& vLeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftSuperiorLobeAnteriorPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins);
- SELiquidCompartmentLink& vLeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftSuperiorLobeApicoposteriorPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::VascularLink::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins);
-
- SELiquidCompartmentLink& vRightSuperiorLobeApicalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightSuperiorLobeApicalShunt);
- SELiquidCompartmentLink& vRightSuperiorLobePosteriorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightSuperiorLobePosteriorShunt);
- SELiquidCompartmentLink& vRightSuperiorLobeAnteriorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightSuperiorLobeAnteriorShunt);
- SELiquidCompartmentLink& vRightMiddleLobeLateralShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightMiddleLobeLateralShunt);
- SELiquidCompartmentLink& vRightMiddleLobeMedialShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightMiddleLobeMedialShunt);
- SELiquidCompartmentLink& vRightInferiorLobeSuperiorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightInferiorLobeSuperiorShunt);
- SELiquidCompartmentLink& vRightInferiorLobeMedialBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightInferiorLobeMedialBasalShunt);
- SELiquidCompartmentLink& vRightInferiorLobeAnteriorBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightInferiorLobeAnteriorBasalShunt);
- SELiquidCompartmentLink& vRightInferiorLobeLateralBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightInferiorLobeLateralBasalShunt);
- SELiquidCompartmentLink& vRightInferiorLobePosteriorBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::RightInferiorLobePosteriorBasalShunt);
-
- SELiquidCompartmentLink& vLeftInferiorLobePosteriorBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftInferiorLobePosteriorBasalShunt);
- SELiquidCompartmentLink& vLeftInferiorLobeLateralBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftInferiorLobeLateralBasalShunt);
- SELiquidCompartmentLink& vLeftInferiorLobeAnteromedialBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftInferiorLobeAnteromedialBasalShunt);
- SELiquidCompartmentLink& vLeftInferiorLobeSuperiorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftInferiorLobeSuperiorShunt);
- SELiquidCompartmentLink& vLeftSuperiorLobeInferiorLingulaShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftSuperiorLobeInferiorLingulaShunt);
- SELiquidCompartmentLink& vLeftSuperiorLobeSuperiorLingulaShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftSuperiorLobeSuperiorLingulaShunt);
- SELiquidCompartmentLink& vLeftSuperiorLobeAnteriorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftSuperiorLobeAnteriorShunt);
- SELiquidCompartmentLink& vLeftSuperiorLobeApicoposteriorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::VascularLink::LeftSuperiorLobeApicoposteriorShunt);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightSuperiorLobeApicalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightSuperiorLobeApicalPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::RightPulmonaryArteriesToRightSuperiorLobeApicalPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightSuperiorLobePosteriorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightSuperiorLobePosteriorPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::RightPulmonaryArteriesToRightSuperiorLobePosteriorPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightSuperiorLobeAnteriorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightSuperiorLobeAnteriorPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::RightPulmonaryArteriesToRightSuperiorLobeAnteriorPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightMiddleLobeLateralPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightMiddleLobeLateralPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::RightPulmonaryArteriesToRightMiddleLobeLateralPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightMiddleLobeMedialPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightMiddleLobeMedialPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::RightPulmonaryArteriesToRightMiddleLobeMedialPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightInferiorLobeSuperiorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightInferiorLobeSuperiorPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::RightPulmonaryArteriesToRightInferiorLobeSuperiorPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightInferiorLobeMedialBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightInferiorLobeMedialBasalPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::RightPulmonaryArteriesToRightInferiorLobeMedialBasalPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightInferiorLobeAnteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightInferiorLobeAnteriorBasalPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::RightPulmonaryArteriesToRightInferiorLobeAnteriorBasalPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightInferiorLobeLateralBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightInferiorLobeLateralBasalPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::RightPulmonaryArteriesToRightInferiorLobeLateralBasalPulmonaryCapillaries);
+ SELiquidCompartmentLink& vRightPulmonaryArteriesToRightInferiorLobePosteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vRightPulmonaryArteries, vRightInferiorLobePosteriorBasalPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::RightPulmonaryArteriesToRightInferiorLobePosteriorBasalPulmonaryCapillaries);
+
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftInferiorLobePosteriorBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftInferiorLobePosteriorBasalPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::LeftPulmonaryArteriesToLeftInferiorLobePosteriorBasalPulmonaryCapillaries);
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftInferiorLobeLateralBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftInferiorLobeLateralBasalPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::LeftPulmonaryArteriesToLeftInferiorLobeLateralBasalPulmonaryCapillaries);
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::LeftPulmonaryArteriesToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries);
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftInferiorLobeSuperiorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftInferiorLobeSuperiorPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::LeftPulmonaryArteriesToLeftInferiorLobeSuperiorPulmonaryCapillaries);
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::LeftPulmonaryArteriesToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries);
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::LeftPulmonaryArteriesToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries);
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftSuperiorLobeAnteriorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftSuperiorLobeAnteriorPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::LeftPulmonaryArteriesToLeftSuperiorLobeAnteriorPulmonaryCapillaries);
+ SELiquidCompartmentLink& vLeftPulmonaryArteriesToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftSuperiorLobeApicoposteriorPulmonaryCapillaries, pulse::ExpandedLungsVascularLink::LeftPulmonaryArteriesToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries);
+
+ SELiquidCompartmentLink& vRightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightSuperiorLobeApicalPulmonaryCapillaries, vRightPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightSuperiorLobePosteriorPulmonaryCapillaries, vRightPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightSuperiorLobeAnteriorPulmonaryCapillaries, vRightPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightMiddleLobeLateralPulmonaryCapillaries, vRightPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightMiddleLobeMedialPulmonaryCapillaries, vRightPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightInferiorLobeSuperiorPulmonaryCapillaries, vRightPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightInferiorLobeMedialBasalPulmonaryCapillaries, vRightPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightInferiorLobeAnteriorBasalPulmonaryCapillaries, vRightPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightInferiorLobeLateralBasalPulmonaryCapillaries, vRightPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins);
+ SELiquidCompartmentLink& vRightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins = m_Compartments->CreateLiquidLink(vRightInferiorLobePosteriorBasalPulmonaryCapillaries, vRightPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins);
+
+ SELiquidCompartmentLink& vLeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftInferiorLobePosteriorBasalPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ SELiquidCompartmentLink& vLeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftInferiorLobeLateralBasalPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ SELiquidCompartmentLink& vLeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins);
+ SELiquidCompartmentLink& vLeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftInferiorLobeSuperiorPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins);
+ SELiquidCompartmentLink& vLeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins);
+ SELiquidCompartmentLink& vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins);
+ SELiquidCompartmentLink& vLeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftSuperiorLobeAnteriorPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins);
+ SELiquidCompartmentLink& vLeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins = m_Compartments->CreateLiquidLink(vLeftSuperiorLobeApicoposteriorPulmonaryCapillaries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins);
+
+ SELiquidCompartmentLink& vRightSuperiorLobeApicalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightSuperiorLobeApicalShunt);
+ SELiquidCompartmentLink& vRightSuperiorLobePosteriorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightSuperiorLobePosteriorShunt);
+ SELiquidCompartmentLink& vRightSuperiorLobeAnteriorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightSuperiorLobeAnteriorShunt);
+ SELiquidCompartmentLink& vRightMiddleLobeLateralShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightMiddleLobeLateralShunt);
+ SELiquidCompartmentLink& vRightMiddleLobeMedialShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightMiddleLobeMedialShunt);
+ SELiquidCompartmentLink& vRightInferiorLobeSuperiorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightInferiorLobeSuperiorShunt);
+ SELiquidCompartmentLink& vRightInferiorLobeMedialBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightInferiorLobeMedialBasalShunt);
+ SELiquidCompartmentLink& vRightInferiorLobeAnteriorBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightInferiorLobeAnteriorBasalShunt);
+ SELiquidCompartmentLink& vRightInferiorLobeLateralBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightInferiorLobeLateralBasalShunt);
+ SELiquidCompartmentLink& vRightInferiorLobePosteriorBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::RightInferiorLobePosteriorBasalShunt);
+
+ SELiquidCompartmentLink& vLeftInferiorLobePosteriorBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::LeftInferiorLobePosteriorBasalShunt);
+ SELiquidCompartmentLink& vLeftInferiorLobeLateralBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::LeftInferiorLobeLateralBasalShunt);
+ SELiquidCompartmentLink& vLeftInferiorLobeAnteromedialBasalShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::LeftInferiorLobeAnteromedialBasalShunt);
+ SELiquidCompartmentLink& vLeftInferiorLobeSuperiorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::LeftInferiorLobeSuperiorShunt);
+ SELiquidCompartmentLink& vLeftSuperiorLobeInferiorLingulaShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::LeftSuperiorLobeInferiorLingulaShunt);
+ SELiquidCompartmentLink& vLeftSuperiorLobeSuperiorLingulaShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::LeftSuperiorLobeSuperiorLingulaShunt);
+ SELiquidCompartmentLink& vLeftSuperiorLobeAnteriorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::LeftSuperiorLobeAnteriorShunt);
+ SELiquidCompartmentLink& vLeftSuperiorLobeApicoposteriorShunt = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vLeftPulmonaryVeins, pulse::ExpandedLungsVascularLink::LeftSuperiorLobeApicoposteriorShunt);
vRightPulmonaryArteriesToRightSuperiorLobeApicalPulmonaryCapillaries.MapPath( RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries);
vRightPulmonaryArteriesToRightSuperiorLobePosteriorPulmonaryCapillaries.MapPath( RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries);
diff --git a/src/cpp/engine/common/controller/SubstanceManager.cpp b/src/cpp/engine/common/controller/SubstanceManager.cpp
index 107f387f7..244c9d836 100644
--- a/src/cpp/engine/common/controller/SubstanceManager.cpp
+++ b/src/cpp/engine/common/controller/SubstanceManager.cpp
@@ -238,9 +238,9 @@ namespace pulse
}
}
- if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::On)
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::On)
{
- for (SEGasCompartment* cmpt : m_data.GetCompartments().GetExpandedPulmonaryLeafCompartments())
+ for (SEGasCompartment* cmpt : m_data.GetCompartments().GetExpandedLungsPulmonaryLeafCompartments())
{
if (cmpt->HasVolume())
{
@@ -351,166 +351,124 @@ namespace pulse
double Hb_total_mM = Hb_total_g_Per_dL / m_Hb->GetMolarMass(MassPerAmountUnit::g_Per_mmol) * 10.0;
// Bootstrapped values from many runs (using standard patient)
- if (m_data.GetConfiguration().UseExpandedVasculature() == eSwitch::On)
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Aorta), Hb_total_mM, 0.974905, 0.129608, 0.02817, 1.3012, 25.9389, 7.39961);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Bone), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Brain), Hb_total_mM, 0.827281, 0.0612181, 0.133288, 1.38958, 26.0916, 7.37362);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Fat), Hb_total_mM, 0.830303, 0.0616616, 0.128914, 1.38717, 26.0876, 7.3743);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LargeIntestine), Hb_total_mM, 0.807872, 0.0584747, 0.149044, 1.39821, 26.106, 7.37117);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftAfferentArteriole), Hb_total_mM, 0.927186, 0.0870192, 0.0595885, 1.35232, 26.0285, 7.38437);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftArm), Hb_total_mM, 0.974914, 0.129637, 0.0281665, 1.30153, 25.9395, 7.39951);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftEfferentArteriole), Hb_total_mM, 0.907413, 0.0791142, 0.072315, 1.35842, 26.0389, 7.38259);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftGlomerularCapillaries), Hb_total_mM, 0.9209, 0.0773075, 0.031322, 1.07857, 25.5034, 7.47375);
+ //No Hb through glomerular ultrafiltration
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftBowmansCapsules), 0.0, 0.0, 0.0773075, 0.0, 1.07857, 25.5034, 7.47375);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftTubules), 0.0, 0.0, 0.0773075, 0.0, 1.07857, 25.5034, 7.47375);
+ //----------------------------------------
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftHeart), Hb_total_mM, 0.974919, 0.129622, 0.0281731, 1.30089, 25.9384, 7.3997);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftLeg), Hb_total_mM, 0.974914, 0.129637, 0.0281665, 1.30153, 25.9395, 7.39951);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftPeritubularCapillaries), Hb_total_mM, 0.89667, 0.0757891, 0.0873866, 1.36599, 26.0518, 7.38039);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftPulmonaryArteries), Hb_total_mM, 0.813117, 0.0591941, 0.146207, 1.39669, 26.1035, 7.3716);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftPulmonaryCapillaries), Hb_total_mM, 0.983029, 0.149863, 0.0281766, 1.29193, 25.9223, 7.40244);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftPulmonaryVeins), Hb_total_mM, 0.974924, 0.129359, 0.0282471, 1.29371, 25.9255, 7.40189);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftRenalArtery), Hb_total_mM, 0.941145, 0.0945363, 0.0484668, 1.34704, 26.0194, 7.38592);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftRenalVein), Hb_total_mM, 0.859657, 0.0668517, 0.112249, 1.37857, 26.0731, 7.37676);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Liver), Hb_total_mM, 0.729017, 0.0500882, 0.21436, 1.43708, 26.1698, 7.36032);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Muscle), Hb_total_mM, 0.830253, 0.0616652, 0.130118, 1.38785, 26.0887, 7.37411);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Myocardium), Hb_total_mM, 0.829366, 0.0615371, 0.13173, 1.38874, 26.0902, 7.37386);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Pericardium), Hb_total_mM, 0.725881, 0.0491881, 0.142507, 1.39215, 26.0959, 7.37289);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightAfferentArteriole), Hb_total_mM, 0.927186, 0.0870192, 0.0595885, 1.35232, 26.0285, 7.38437);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightArm), Hb_total_mM, 0.974914, 0.129637, 0.0281665, 1.30153, 25.9395, 7.39951);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightEfferentArteriole), Hb_total_mM, 0.907413, 0.0791142, 0.072315, 1.35842, 26.0389, 7.38259);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightGlomerularCapillaries), Hb_total_mM, 0.9209, 0.0773075, 0.031322, 1.07857, 25.5034, 7.47375);
+ //No Hb through glomerular ultrafiltration
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightBowmansCapsules), 0.0, 0.0, 0.0773075, 0.0, 1.07857, 25.5034, 7.47375);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightTubules), 0.0, 0.0, 0.0773075, 0.0, 1.07857, 25.5034, 7.47375);
+ //----------------------------------------
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightHeart), Hb_total_mM, 0.813115, 0.0591938, 0.14621, 1.39669, 26.1035, 7.3716);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightLeg), Hb_total_mM, 0.974914, 0.129637, 0.0281665, 1.30153, 25.9395, 7.39951);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightPeritubularCapillaries), Hb_total_mM, 0.89667, 0.0757891, 0.0873866, 1.36599, 26.0518, 7.38039);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightPulmonaryArteries), Hb_total_mM, 0.813117, 0.0591941, 0.146207, 1.39669, 26.1035, 7.3716);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightPulmonaryCapillaries), Hb_total_mM, 0.982298, 0.148493, 0.0279498, 1.31484, 25.9632, 7.39548);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightPulmonaryVeins), Hb_total_mM, 0.974936, 0.130199, 0.0280263, 1.31523, 25.9638, 7.39537);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightRenalArtery), Hb_total_mM, 0.941145, 0.0945363, 0.0484668, 1.34704, 26.0194, 7.38592);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightRenalVein), Hb_total_mM, 0.859657, 0.0668517, 0.112249, 1.37857, 26.0731, 7.37676);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Skin), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::SmallIntestine), Hb_total_mM, 0.842176, 0.0636112, 0.122046, 1.3836, 26.0816, 7.37532);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Splanchnic), Hb_total_mM, 0.817051, 0.0597293, 0.141898, 1.39428, 26.0995, 7.37228);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Spleen), Hb_total_mM, 0.830039, 0.0616463, 0.131757, 1.38878, 26.0903, 7.37385);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::VenaCava), Hb_total_mM, 0.813122, 0.0591948, 0.146203, 1.39669, 26.1035, 7.3716);
+
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Bone), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Bone));
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Brain), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Brain));
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Fat), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Fat));
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Gut), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Gut));
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::LeftKidney), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftKidney));
+ //TODO: Make this work for the expanded model
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::Off)
{
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::Aorta), Hb_total_mM, 0.974905, 0.129608, 0.02817, 1.3012, 25.9389, 7.39961);
- CopyConcentrations (*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::Aorta), *cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::ArterialBuffer));
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::Extracranial), Hb_total_mM, 0.827281, 0.0612181, 0.133288, 1.38958, 26.0916, 7.37362);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::Intracranial), Hb_total_mM, 0.827281, 0.0612181, 0.133288, 1.38958, 26.0916, 7.37362);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::Gut1), Hb_total_mM, 0.859657, 0.0668517, 0.112249, 1.37857, 26.0731, 7.37676);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LargeIntestine), Hb_total_mM, 0.807872, 0.0584747, 0.149044, 1.39821, 26.106, 7.37117);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftAfferentArteriole), Hb_total_mM, 0.927186, 0.0870192, 0.0595885, 1.35232, 26.0285, 7.38437);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmArterioles), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmBone), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmFat), Hb_total_mM, 0.830303, 0.0616616, 0.128914, 1.38717, 26.0876, 7.3743);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmMicrovasculature), Hb_total_mM, 0.974914, 0.129637, 0.0281665, 1.30153, 25.9395, 7.39951);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmMuscle), Hb_total_mM, 0.830253, 0.0616652, 0.130118, 1.38785, 26.0887, 7.37411);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmSkin), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftArmVenules), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftEfferentArteriole), Hb_total_mM, 0.907413, 0.0791142, 0.072315, 1.35842, 26.0389, 7.38259);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftGlomerularCapillaries), Hb_total_mM, 0.9209, 0.0773075, 0.031322, 1.07857, 25.5034, 7.47375);
- //No Hb through glomerular ultrafiltration
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftBowmansCapsules), 0.0, 0.0, 0.0773075, 0.0, 1.07857, 25.5034, 7.47375);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftTubules), 0.0, 0.0, 0.0773075, 0.0, 1.07857, 25.5034, 7.47375);
- //----------------------------------------
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftHeart), Hb_total_mM, 0.974919, 0.129622, 0.0281731, 1.30089, 25.9384, 7.3997);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegArterioles), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegBone), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegFat), Hb_total_mM, 0.830303, 0.0616616, 0.128914, 1.38717, 26.0876, 7.3743);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegMicrovasculature), Hb_total_mM, 0.974914, 0.129637, 0.0281665, 1.30153, 25.9395, 7.39951);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegMuscle), Hb_total_mM, 0.830253, 0.0616652, 0.130118, 1.38785, 26.0887, 7.37411);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegSkin), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLegVenules), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftPeritubularCapillaries), Hb_total_mM, 0.89667, 0.0757891, 0.0873866, 1.36599, 26.0518, 7.38039);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftPulmonaryArteries), Hb_total_mM, 0.813117, 0.0591941, 0.146207, 1.39669, 26.1035, 7.3716);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftPulmonaryCapillaries), Hb_total_mM, 0.983029, 0.149863, 0.0281766, 1.29193, 25.9223, 7.40244);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftPulmonaryVeins), Hb_total_mM, 0.974924, 0.129359, 0.0282471, 1.29371, 25.9255, 7.40189);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftRenalArtery), Hb_total_mM, 0.941145, 0.0945363, 0.0484668, 1.34704, 26.0194, 7.38592);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftRenalVein), Hb_total_mM, 0.859657, 0.0668517, 0.112249, 1.37857, 26.0731, 7.37676);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::Liver), Hb_total_mM, 0.729017, 0.0500882, 0.21436, 1.43708, 26.1698, 7.36032);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::Myocardium), Hb_total_mM, 0.829366, 0.0615371, 0.13173, 1.38874, 26.0902, 7.37386);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::Pericardium), Hb_total_mM, 0.725881, 0.0491881, 0.142507, 1.39215, 26.0959, 7.37289);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightAfferentArteriole), Hb_total_mM, 0.927186, 0.0870192, 0.0595885, 1.35232, 26.0285, 7.38437);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmArterioles), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmBone), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmFat), Hb_total_mM, 0.830303, 0.0616616, 0.128914, 1.38717, 26.0876, 7.3743);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmMicrovasculature), Hb_total_mM, 0.974914, 0.129637, 0.0281665, 1.30153, 25.9395, 7.39951); //todo
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmMuscle), Hb_total_mM, 0.830253, 0.0616652, 0.130118, 1.38785, 26.0887, 7.37411);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmSkin), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightArmVenules), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightEfferentArteriole), Hb_total_mM, 0.907413, 0.0791142, 0.072315, 1.35842, 26.0389, 7.38259);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightGlomerularCapillaries), Hb_total_mM, 0.9209, 0.0773075, 0.031322, 1.07857, 25.5034, 7.47375);
- //No Hb through glomerular ultrafiltration
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightBowmansCapsules), 0.0, 0.0, 0.0773075, 0.0, 1.07857, 25.5034, 7.47375);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightTubules), 0.0, 0.0, 0.0773075, 0.0, 1.07857, 25.5034, 7.47375);
- //----------------------------------------
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightHeart), Hb_total_mM, 0.813115, 0.0591938, 0.14621, 1.39669, 26.1035, 7.3716);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegArterioles), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegBone), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegFat), Hb_total_mM, 0.830303, 0.0616616, 0.128914, 1.38717, 26.0876, 7.3743);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegMicrovasculature), Hb_total_mM, 0.974914, 0.129637, 0.0281665, 1.30153, 25.9395, 7.39951);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegMuscle), Hb_total_mM, 0.830253, 0.0616652, 0.130118, 1.38785, 26.0887, 7.37411);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegSkin), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightLegVenules), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightPeritubularCapillaries), Hb_total_mM, 0.89667, 0.0757891, 0.0873866, 1.36599, 26.0518, 7.38039);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightPulmonaryArteries), Hb_total_mM, 0.813117, 0.0591941, 0.146207, 1.39669, 26.1035, 7.3716);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightPulmonaryCapillaries), Hb_total_mM, 0.982298, 0.148493, 0.0279498, 1.31484, 25.9632, 7.39548);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightPulmonaryVeins), Hb_total_mM, 0.974936, 0.130199, 0.0280263, 1.31523, 25.9638, 7.39537);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightRenalArtery), Hb_total_mM, 0.941145, 0.0945363, 0.0484668, 1.34704, 26.0194, 7.38592);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightRenalVein), Hb_total_mM, 0.859657, 0.0668517, 0.112249, 1.37857, 26.0731, 7.37676);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::SmallIntestine), Hb_total_mM, 0.842176, 0.0636112, 0.122046, 1.3836, 26.0816, 7.37532);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::Splanchnic), Hb_total_mM, 0.817051, 0.0597293, 0.141898, 1.39428, 26.0995, 7.37228);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::Spleen), Hb_total_mM, 0.830039, 0.0616463, 0.131757, 1.38878, 26.0903, 7.37385);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoArterioles), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoBone), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoFat), Hb_total_mM, 0.830303, 0.0616616, 0.128914, 1.38717, 26.0876, 7.3743);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoMicrovasculature), Hb_total_mM, 0.830253, 0.0616652, 0.130118, 1.38785, 26.0887, 7.37411);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoMuscle), Hb_total_mM, 0.830253, 0.0616652, 0.130118, 1.38785, 26.0887, 7.37411);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoSkin), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoVenules), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::VenaCava), Hb_total_mM, 0.813122, 0.0591948, 0.146203, 1.39669, 26.1035, 7.3716);
- CopyConcentrations(*cmpts.GetLiquidCompartment( pulse::ExpandedVascularCompartment::VenaCava), *cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::VenousBuffer));
-
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Bone), *cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoBone));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Brain), *cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::Intracranial));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Fat), *cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoFat));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Gut), *cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::Gut));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::LeftKidney), *cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftKidney));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::LeftLung), *cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::LeftLung));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Liver), *cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::Liver));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Muscle), *cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoMuscle));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Myocardium), *cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::Myocardium));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::RightKidney), *cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightKidney));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::RightLung), *cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::RightLung));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Skin), *cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::TorsoSkin));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Spleen), *cmpts.GetLiquidCompartment(pulse::ExpandedVascularCompartment::Spleen));
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::LeftLung), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftLung));
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::RightLung), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightLung));
}
- else
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Liver), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Liver));
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Muscle), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Muscle));
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Myocardium), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Myocardium));
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::RightKidney), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightKidney));
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Skin), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Skin));
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Spleen), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Spleen));
+
+ if (m_data.GetConfiguration().UseComputationalLifeExpansion() == eSwitch::On)
{
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Aorta), Hb_total_mM, 0.974905, 0.129608, 0.02817, 1.3012, 25.9389, 7.39961);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Bone), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Brain), Hb_total_mM, 0.827281, 0.0612181, 0.133288, 1.38958, 26.0916, 7.37362);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Fat), Hb_total_mM, 0.830303, 0.0616616, 0.128914, 1.38717, 26.0876, 7.3743);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LargeIntestine), Hb_total_mM, 0.807872, 0.0584747, 0.149044, 1.39821, 26.106, 7.37117);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftAfferentArteriole), Hb_total_mM, 0.927186, 0.0870192, 0.0595885, 1.35232, 26.0285, 7.38437);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftArm), Hb_total_mM, 0.974914, 0.129637, 0.0281665, 1.30153, 25.9395, 7.39951);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftEfferentArteriole), Hb_total_mM, 0.907413, 0.0791142, 0.072315, 1.35842, 26.0389, 7.38259);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftGlomerularCapillaries), Hb_total_mM, 0.9209, 0.0773075, 0.031322, 1.07857, 25.5034, 7.47375);
- //No Hb through glomerular ultrafiltration
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftBowmansCapsules), 0.0, 0.0, 0.0773075, 0.0, 1.07857, 25.5034, 7.47375);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftTubules), 0.0, 0.0, 0.0773075, 0.0, 1.07857, 25.5034, 7.47375);
+ CopyConcentrations(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Aorta), *cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::ArterialBuffer));
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::Extracranial), Hb_total_mM, 0.827281, 0.0612181, 0.133288, 1.38958, 26.0916, 7.37362);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::Intracranial), Hb_total_mM, 0.827281, 0.0612181, 0.133288, 1.38958, 26.0916, 7.37362);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::Gut1), Hb_total_mM, 0.859657, 0.0668517, 0.112249, 1.37857, 26.0731, 7.37676);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmArterioles), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmBone), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmFat), Hb_total_mM, 0.830303, 0.0616616, 0.128914, 1.38717, 26.0876, 7.3743);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmMicrovasculature), Hb_total_mM, 0.974914, 0.129637, 0.0281665, 1.30153, 25.9395, 7.39951);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmMuscle), Hb_total_mM, 0.830253, 0.0616652, 0.130118, 1.38785, 26.0887, 7.37411);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmSkin), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftArmVenules), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
//----------------------------------------
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftHeart), Hb_total_mM, 0.974919, 0.129622, 0.0281731, 1.30089, 25.9384, 7.3997);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftLeg), Hb_total_mM, 0.974914, 0.129637, 0.0281665, 1.30153, 25.9395, 7.39951);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftPeritubularCapillaries), Hb_total_mM, 0.89667, 0.0757891, 0.0873866, 1.36599, 26.0518, 7.38039);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftPulmonaryArteries), Hb_total_mM, 0.813117, 0.0591941, 0.146207, 1.39669, 26.1035, 7.3716);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftPulmonaryCapillaries), Hb_total_mM, 0.983029, 0.149863, 0.0281766, 1.29193, 25.9223, 7.40244);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftPulmonaryVeins), Hb_total_mM, 0.974924, 0.129359, 0.0282471, 1.29371, 25.9255, 7.40189);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftRenalArtery), Hb_total_mM, 0.941145, 0.0945363, 0.0484668, 1.34704, 26.0194, 7.38592);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftRenalVein), Hb_total_mM, 0.859657, 0.0668517, 0.112249, 1.37857, 26.0731, 7.37676);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Liver), Hb_total_mM, 0.729017, 0.0500882, 0.21436, 1.43708, 26.1698, 7.36032);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Muscle), Hb_total_mM, 0.830253, 0.0616652, 0.130118, 1.38785, 26.0887, 7.37411);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Myocardium), Hb_total_mM, 0.829366, 0.0615371, 0.13173, 1.38874, 26.0902, 7.37386);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Pericardium), Hb_total_mM, 0.725881, 0.0491881, 0.142507, 1.39215, 26.0959, 7.37289);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightAfferentArteriole), Hb_total_mM, 0.927186, 0.0870192, 0.0595885, 1.35232, 26.0285, 7.38437);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightArm), Hb_total_mM, 0.974914, 0.129637, 0.0281665, 1.30153, 25.9395, 7.39951);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightEfferentArteriole), Hb_total_mM, 0.907413, 0.0791142, 0.072315, 1.35842, 26.0389, 7.38259);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightGlomerularCapillaries), Hb_total_mM, 0.9209, 0.0773075, 0.031322, 1.07857, 25.5034, 7.47375);
- //No Hb through glomerular ultrafiltration
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightBowmansCapsules), 0.0, 0.0, 0.0773075, 0.0, 1.07857, 25.5034, 7.47375);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightTubules), 0.0, 0.0, 0.0773075, 0.0, 1.07857, 25.5034, 7.47375);
- //----------------------------------------
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightHeart), Hb_total_mM, 0.813115, 0.0591938, 0.14621, 1.39669, 26.1035, 7.3716);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightLeg), Hb_total_mM, 0.974914, 0.129637, 0.0281665, 1.30153, 25.9395, 7.39951);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightPeritubularCapillaries), Hb_total_mM, 0.89667, 0.0757891, 0.0873866, 1.36599, 26.0518, 7.38039);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightPulmonaryArteries), Hb_total_mM, 0.813117, 0.0591941, 0.146207, 1.39669, 26.1035, 7.3716);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightPulmonaryCapillaries), Hb_total_mM, 0.982298, 0.148493, 0.0279498, 1.31484, 25.9632, 7.39548);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightPulmonaryVeins), Hb_total_mM, 0.974936, 0.130199, 0.0280263, 1.31523, 25.9638, 7.39537);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightRenalArtery), Hb_total_mM, 0.941145, 0.0945363, 0.0484668, 1.34704, 26.0194, 7.38592);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightRenalVein), Hb_total_mM, 0.859657, 0.0668517, 0.112249, 1.37857, 26.0731, 7.37676);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Skin), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::SmallIntestine), Hb_total_mM, 0.842176, 0.0636112, 0.122046, 1.3836, 26.0816, 7.37532);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Splanchnic), Hb_total_mM, 0.817051, 0.0597293, 0.141898, 1.39428, 26.0995, 7.37228);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::Spleen), Hb_total_mM, 0.830039, 0.0616463, 0.131757, 1.38878, 26.0903, 7.37385);
- InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::VenaCava), Hb_total_mM, 0.813122, 0.0591948, 0.146203, 1.39669, 26.1035, 7.3716);
-
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Bone), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Bone));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Brain), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Brain));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Fat), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Fat));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Gut), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Gut));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::LeftKidney), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftKidney));
- //TODO: Make this work for the expanded model
- if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
- {
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::LeftLung), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::LeftLung));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::RightLung), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightLung));
- }
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Liver), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Liver));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Muscle), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Muscle));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Myocardium), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Myocardium));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::RightKidney), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::RightKidney));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Skin), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Skin));
- InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Spleen), *cmpts.GetLiquidCompartment(pulse::VascularCompartment::Spleen));
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegArterioles), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegBone), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegFat), Hb_total_mM, 0.830303, 0.0616616, 0.128914, 1.38717, 26.0876, 7.3743);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegMicrovasculature), Hb_total_mM, 0.974914, 0.129637, 0.0281665, 1.30153, 25.9395, 7.39951);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegMuscle), Hb_total_mM, 0.830253, 0.0616652, 0.130118, 1.38785, 26.0887, 7.37411);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegSkin), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::LeftLegVenules), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
+
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmArterioles), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmBone), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmFat), Hb_total_mM, 0.830303, 0.0616616, 0.128914, 1.38717, 26.0876, 7.3743);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmMicrovasculature), Hb_total_mM, 0.974914, 0.129637, 0.0281665, 1.30153, 25.9395, 7.39951); //todo
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmMuscle), Hb_total_mM, 0.830253, 0.0616652, 0.130118, 1.38785, 26.0887, 7.37411);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmSkin), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightArmVenules), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
+
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegArterioles), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegBone), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegFat), Hb_total_mM, 0.830303, 0.0616616, 0.128914, 1.38717, 26.0876, 7.3743);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegMicrovasculature), Hb_total_mM, 0.974914, 0.129637, 0.0281665, 1.30153, 25.9395, 7.39951);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegMuscle), Hb_total_mM, 0.830253, 0.0616652, 0.130118, 1.38785, 26.0887, 7.37411);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegSkin), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::RightLegVenules), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
+
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoArterioles), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoBone), Hb_total_mM, 0.830363, 0.0616873, 0.13056, 1.3881, 26.0892, 7.37404);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoFat), Hb_total_mM, 0.830303, 0.0616616, 0.128914, 1.38717, 26.0876, 7.3743);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoMicrovasculature), Hb_total_mM, 0.830253, 0.0616652, 0.130118, 1.38785, 26.0887, 7.37411);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoMuscle), Hb_total_mM, 0.830253, 0.0616652, 0.130118, 1.38785, 26.0887, 7.37411);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoSkin), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
+ InitializeBloodGases(*cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoVenules), Hb_total_mM, 0.82836, 0.061373, 0.131491, 1.38858, 26.09, 7.3739);
+
+ CopyConcentrations(*cmpts.GetLiquidCompartment(pulse::VascularCompartment::VenaCava), *cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::VenousBuffer));
+
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Bone), *cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoBone));
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Brain), *cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::Intracranial));
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Fat), *cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoFat));
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Muscle), *cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoMuscle));
+ InitializeBloodGases(*cmpts.GetTissueCompartment(pulse::TissueCompartment::Skin), *cmpts.GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::TorsoSkin));
}
SEScalarMassPerVolume concentration;
diff --git a/src/cpp/engine/common/system/physiology/BloodChemistryModel.cpp b/src/cpp/engine/common/system/physiology/BloodChemistryModel.cpp
index 3ea20a1c8..97f4957e3 100644
--- a/src/cpp/engine/common/system/physiology/BloodChemistryModel.cpp
+++ b/src/cpp/engine/common/system/physiology/BloodChemistryModel.cpp
@@ -135,10 +135,10 @@ namespace pulse
m_AortaO2 = m_Aorta->GetSubstanceQuantity(m_data.GetSubstances().GetO2());
m_AortaCO2 = m_Aorta->GetSubstanceQuantity(m_data.GetSubstances().GetCO2());
m_AortaHCO3 = m_Aorta->GetSubstanceQuantity(m_data.GetSubstances().GetHCO3());
- if(m_data.GetConfiguration().UseExpandedVasculature() == eSwitch::Off)
+ if(m_data.GetConfiguration().UseComputationalLifeExpansion() == eSwitch::Off)
m_BrainO2 = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::Brain)->GetSubstanceQuantity(m_data.GetSubstances().GetO2());
else
- m_BrainO2 = m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedVascularCompartment::Intracranial)->GetSubstanceQuantity(m_data.GetSubstances().GetO2());
+ m_BrainO2 = m_data.GetCompartments().GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::Intracranial)->GetSubstanceQuantity(m_data.GetSubstances().GetO2());
m_MyocardiumO2 = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::Myocardium)->GetSubstanceQuantity(m_data.GetSubstances().GetO2());
m_RightArm = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightArm);
diff --git a/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp b/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp
index 92cdde08a..ff09a74c9 100644
--- a/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp
+++ b/src/cpp/engine/common/system/physiology/CardiovascularModel.cpp
@@ -384,47 +384,47 @@ namespace pulse
m_RightPulmonaryVeinsNode = m_CirculatoryCircuit->GetNode(pulse::CardiovascularNode::RightPulmonaryVeins1);
m_AbdominalCavityNode = m_CirculatoryCircuit->GetNode(pulse::CardiovascularNode::AbdominalCavity1);
//Paths
- if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::On)
- {
- m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeApicalShunt));
- m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobePosteriorShunt));
- m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeAnteriorShunt));
- m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeLateralShunt));
- m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeMedialShunt));
- m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeSuperiorShunt));
- m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeMedialBasalShunt));
- m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalShunt));
- m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeLateralBasalShunt));
- m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobePosteriorBasalShunt));
-
- m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalShunt));
- m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeLateralBasalShunt));
- m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalShunt));
- m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeSuperiorShunt));
- m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaShunt));
- m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaShunt));
- m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeAnteriorShunt));
- m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorShunt));
-
- m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries));
- m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries));
- m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeAnteriorPulmonaryCapillaries));
- m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeLateralPulmonaryCapillaries));
- m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeMedialPulmonaryCapillaries));
- m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeSuperiorPulmonaryCapillaries));
- m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeMedialBasalPulmonaryCapillaries));
- m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeAnteriorBasalPulmonaryCapillaries));
- m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeLateralBasalPulmonaryCapillaries));
- m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobePosteriorBasalPulmonaryCapillaries));
-
- m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobePosteriorBasalPulmonaryCapillaries));
- m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeLateralBasalPulmonaryCapillaries));
- m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries));
- m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeSuperiorPulmonaryCapillaries));
- m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries));
- m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries));
- m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeAnteriorPulmonaryCapillaries));
- m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries));
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::On)
+ {
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeApicalShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobePosteriorShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeAnteriorShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeLateralShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeMedialShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeSuperiorShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeMedialBasalShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeAnteriorBasalShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeLateralBasalShunt));
+ m_RightPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobePosteriorBasalShunt));
+
+ m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobePosteriorBasalShunt));
+ m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeLateralBasalShunt));
+ m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeAnteromedialBasalShunt));
+ m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeSuperiorShunt));
+ m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeInferiorLingulaShunt));
+ m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeSuperiorLingulaShunt));
+ m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeAnteriorShunt));
+ m_LeftPulmonaryArteriesToVeins.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeApicoposteriorShunt));
+
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeAnteriorPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeLateralPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeMedialPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeSuperiorPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeMedialBasalPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeAnteriorBasalPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeLateralBasalPulmonaryCapillaries));
+ m_RightPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobePosteriorBasalPulmonaryCapillaries));
+
+ m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobePosteriorBasalPulmonaryCapillaries));
+ m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeLateralBasalPulmonaryCapillaries));
+ m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries));
+ m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeSuperiorPulmonaryCapillaries));
+ m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries));
+ m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries));
+ m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeAnteriorPulmonaryCapillaries));
+ m_LeftPulmonaryArteriesToCapillaries.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries));
}
else
{
@@ -463,169 +463,169 @@ namespace pulse
m_LeftPulmonaryVenousReturnResistancePath = m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryVeins1ToLeftIntermediatePulmonaryVeins1);
// Setup Default vs. Expanded Circuit Parameters
- if (m_data.GetConfiguration().UseExpandedVasculature() == eSwitch::On)
+ if (m_data.GetConfiguration().UseComputationalLifeExpansion() == eSwitch::On)
{
// For Metabolic Tone Response
- m_AortaToBrain = m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Aorta5ToIntracranial1);
- m_AortaToMyocardium = m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Aorta5ToMyocardium1);
- m_BrainToVenaCava = m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Intracranial3ToVenaCava2);
- m_MyocardiumToVenaCava = m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Myocardium3ToVenaCava2);
- m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Torso1ToTorsoMuscle1));
- m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::TorsoMuscle1ToTorso2));
- m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArm1ToRightArmMuscle1));
- m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArmMuscle1ToRightArm2));
- m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmMuscle1));
- m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArmMuscle1ToLeftArm2));
- m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegMuscle1));
- m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLegMuscle1ToRightLeg2));
- m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegMuscle1));
- m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLegMuscle1ToLeftLeg2));
-
- m_Brain = m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedVascularCompartment::Intracranial);
- m_BrainResistanceDownstreamPath = m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Intracranial2ToIntracranial3);
- m_BrainResistanceUpstreamPath = m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Intracranial1ToIntracranial2);
-
- m_SkinPaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Torso1ToTorsoSkin1));
- m_SkinPaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArm1ToRightArmSkin1));
- m_SkinPaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmSkin1));
- m_SkinPaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegSkin1));
- m_SkinPaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegSkin1));
-
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Extracranial1ToExtracranial2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Extracranial2ToExtracranial3));
-
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Intracranial1ToIntracranial2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Intracranial2ToIntracranial3));
-
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Myocardium1ToMyocardium2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Myocardium2ToMyocardium3));
-
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Gut1ToLiver1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Gut1ToSplanchnic1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Gut1ToSpleen1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Gut1ToSmallIntestine1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Gut1ToLargeIntestine1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::PortalVein1ToLiver1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Liver1ToLiver2));
-
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArm1ToRightArmBone1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArmBone1ToRightArm2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArm1ToRightArmFat1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArmFat1ToRightArm2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArm1ToRightArmMuscle1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArmMuscle1ToRightArm2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArm1ToRightArmSkin1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArmSkin1ToRightArm2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArm1ToRightArmMicrovasculature1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArmMicrovasculature1ToRightArm2));
-
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmBone1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArmBone1ToLeftArm2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmFat1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArmFat1ToLeftArm2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmMuscle1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArmMuscle1ToLeftArm2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmSkin1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArmSkin1ToLeftArm2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArm1ToLeftArmMicrovasculature1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArmMicrovasculature1ToLeftArm2));
-
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Torso1ToTorsoBone1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::TorsoBone1ToTorso2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Torso1ToTorsoFat1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::TorsoFat1ToTorso2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Torso1ToTorsoMuscle1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::TorsoMuscle1ToTorso2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Torso1ToTorsoSkin1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::TorsoSkin1ToTorso2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Torso1ToTorsoMicrovasculature1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::TorsoMicrovasculature1ToTorso2));
-
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegBone1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLegBone1ToRightLeg2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegFat1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLegFat1ToRightLeg2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegMuscle1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLegMuscle1ToRightLeg2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegSkin1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLegSkin1ToRightLeg2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLeg1ToRightLegMicrovasculature1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLegMicrovasculature1ToRightLeg2));
-
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegBone1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLegBone1ToLeftLeg2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegFat1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLegFat1ToLeftLeg2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegMuscle1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLegMuscle1ToLeftLeg2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegSkin1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLegSkin1ToLeftLeg2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLeg1ToLeftLegMicrovasculature1));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLegMicrovasculature1ToLeftLeg2));
-
-
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Extracranial1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Intracranial1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Extracranial3ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Intracranial3ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Myocardium1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Myocardium2ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Myocardium3ToGround));
-
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArm1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArmBone1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArmFat1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArmMuscle1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArmSkin1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArmMicrovasculature1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightArm2ToGround));
-
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArm1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArmBone1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArmFat1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArmMuscle1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArmSkin1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArmMicrovasculature1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftArm2ToGround));
-
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Torso1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::TorsoBone1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::TorsoFat1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::TorsoMuscle1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::TorsoSkin1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::TorsoMicrovasculature1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Torso2ToGround));
-
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLeg1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLegBone1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLegFat1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLegMuscle1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLegSkin1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLegMicrovasculature1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightLeg2ToGround));
-
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLeg1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLegBone1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLegFat1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLegMuscle1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLegSkin1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLegMicrovasculature1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftLeg2ToGround));
-
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Gut1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Liver1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Liver2ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Splanchnic1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::Spleen1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LargeIntestine1ToGround));
- m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::SmallIntestine1ToGround));
-
- if (!m_data.GetConfiguration().IsRenalEnabled())
- {
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftKidney1ToLeftKidney2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightKidney1ToRightKidney2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::LeftKidney3ToVenaCava2));
- m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedCardiovascularPath::RightKidney3ToVenaCava2));
+ m_AortaToBrain = m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Aorta5ToIntracranial1);
+ m_AortaToMyocardium = m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Aorta5ToMyocardium1);
+ m_BrainToVenaCava = m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Intracranial3ToVenaCava2);
+ m_MyocardiumToVenaCava = m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Myocardium3ToVenaCava2);
+ m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Torso1ToTorsoMuscle1));
+ m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::TorsoMuscle1ToTorso2));
+ m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmMuscle1));
+ m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArmMuscle1ToRightArm2));
+ m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmMuscle1));
+ m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArmMuscle1ToLeftArm2));
+ m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegMuscle1));
+ m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLegMuscle1ToRightLeg2));
+ m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegMuscle1));
+ m_MuscleResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLegMuscle1ToLeftLeg2));
+
+ m_Brain = m_data.GetCompartments().GetLiquidCompartment(pulse::ComputationalLifeVascularCompartment::Intracranial);
+ m_BrainResistanceDownstreamPath = m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Intracranial2ToIntracranial3);
+ m_BrainResistanceUpstreamPath = m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Intracranial1ToIntracranial2);
+
+ m_SkinPaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Torso1ToTorsoSkin1));
+ m_SkinPaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmSkin1));
+ m_SkinPaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmSkin1));
+ m_SkinPaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegSkin1));
+ m_SkinPaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegSkin1));
+
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Extracranial1ToExtracranial2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Extracranial2ToExtracranial3));
+
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Intracranial1ToIntracranial2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Intracranial2ToIntracranial3));
+
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::Myocardium1ToMyocardium2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Myocardium2ToMyocardium3));
+
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Gut1ToLiver1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Gut1ToSplanchnic1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Gut1ToSpleen1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Gut1ToSmallIntestine1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Gut1ToLargeIntestine1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::PortalVein1ToLiver1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::Liver1ToLiver2));
+
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmBone1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArmBone1ToRightArm2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmFat1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArmFat1ToRightArm2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmMuscle1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArmMuscle1ToRightArm2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmSkin1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArmSkin1ToRightArm2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArm1ToRightArmMicrovasculature1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArmMicrovasculature1ToRightArm2));
+
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmBone1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArmBone1ToLeftArm2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmFat1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArmFat1ToLeftArm2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmMuscle1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArmMuscle1ToLeftArm2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmSkin1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArmSkin1ToLeftArm2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArm1ToLeftArmMicrovasculature1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArmMicrovasculature1ToLeftArm2));
+
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Torso1ToTorsoBone1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::TorsoBone1ToTorso2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Torso1ToTorsoFat1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::TorsoFat1ToTorso2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Torso1ToTorsoMuscle1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::TorsoMuscle1ToTorso2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Torso1ToTorsoSkin1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::TorsoSkin1ToTorso2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Torso1ToTorsoMicrovasculature1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::TorsoMicrovasculature1ToTorso2));
+
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegBone1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLegBone1ToRightLeg2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegFat1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLegFat1ToRightLeg2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegMuscle1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLegMuscle1ToRightLeg2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegSkin1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLegSkin1ToRightLeg2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLeg1ToRightLegMicrovasculature1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLegMicrovasculature1ToRightLeg2));
+
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegBone1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLegBone1ToLeftLeg2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegFat1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLegFat1ToLeftLeg2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegMuscle1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLegMuscle1ToLeftLeg2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegSkin1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLegSkin1ToLeftLeg2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLeg1ToLeftLegMicrovasculature1));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLegMicrovasculature1ToLeftLeg2));
+
+
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Extracranial1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Intracranial1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Extracranial3ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Intracranial3ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::Myocardium1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Myocardium2ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Myocardium3ToGround));
+
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightArm1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArmBone1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArmFat1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArmMuscle1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArmSkin1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArmMicrovasculature1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightArm2ToGround));
+
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftArm1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArmBone1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArmFat1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArmMuscle1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArmSkin1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArmMicrovasculature1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftArm2ToGround));
+
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Torso1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::TorsoBone1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::TorsoFat1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::TorsoMuscle1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::TorsoSkin1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::TorsoMicrovasculature1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Torso2ToGround));
+
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightLeg1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLegBone1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLegFat1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLegMuscle1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLegSkin1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLegMicrovasculature1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightLeg2ToGround));
+
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftLeg1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLegBone1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLegFat1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLegMuscle1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLegSkin1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLegMicrovasculature1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftLeg2ToGround));
+
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Gut1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::Liver1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::Liver2ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::Splanchnic1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::Spleen1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LargeIntestine1ToGround));
+ m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::SmallIntestine1ToGround));
+
+ if (m_data.GetConfiguration().UseExpandedKidneys() != eSwitch::On)
+ {
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftKidney1ToLeftKidney2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightKidney1ToRightKidney2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::LeftKidney3ToVenaCava2));
+ m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ComputationalLifeCardiovascularPath::RightKidney3ToVenaCava2));
m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::RenalPath::LeftRenalArteryCompliance));
m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::RenalPath::RightRenalArteryCompliance));
@@ -700,7 +700,7 @@ namespace pulse
m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LargeIntestine1ToGround));
m_SystemicCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::SmallIntestine1ToGround));
- if (!m_data.GetConfiguration().IsRenalEnabled())
+ if (m_data.GetConfiguration().UseExpandedKidneys() != eSwitch::On)
{
m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::Aorta1ToLeftKidney1));
m_SystemicResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::Aorta1ToRightKidney1));
@@ -723,27 +723,27 @@ namespace pulse
m_AortaResistancePaths.push_back(m_AortaResistancePath);
m_VenaCavaResistancePaths.push_back(m_VenaCavaResistancePath);
- if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::On)
- {
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToGround));
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToGround));
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToGround));
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToGround));
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToGround));
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToGround));
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToGround));
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToGround));
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToGround));
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToGround));
-
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToGround));
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToGround));
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToGround));
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToGround));
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToGround));
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToGround));
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToGround));
- m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToGround));
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::On)
+ {
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToGround));
+
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToGround));
+ m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToGround));
}
else
{
@@ -757,67 +757,67 @@ namespace pulse
m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryVeins1ToGround));
m_RespiratoryCompliancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryVeins1ToGround));
- if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::On)
- {
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeApicalShunt));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobePosteriorShunt));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeAnteriorShunt));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeLateralShunt));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeMedialShunt));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeSuperiorShunt));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeMedialBasalShunt));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalShunt));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeLateralBasalShunt));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobePosteriorBasalShunt));
-
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalShunt));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeLateralBasalShunt));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalShunt));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeSuperiorShunt));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaShunt));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaShunt));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeAnteriorShunt));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorShunt));
-
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeAnteriorPulmonaryCapillaries));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeLateralPulmonaryCapillaries));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeMedialPulmonaryCapillaries));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeSuperiorPulmonaryCapillaries));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeMedialBasalPulmonaryCapillaries));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeAnteriorBasalPulmonaryCapillaries));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeLateralBasalPulmonaryCapillaries));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobePosteriorBasalPulmonaryCapillaries));
-
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobePosteriorBasalPulmonaryCapillaries));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeLateralBasalPulmonaryCapillaries));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeSuperiorPulmonaryCapillaries));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeAnteriorPulmonaryCapillaries));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries));
-
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1));
-
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1));
- m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1));
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::On)
+ {
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeApicalShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobePosteriorShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeAnteriorShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeLateralShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeMedialShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeSuperiorShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeMedialBasalShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeAnteriorBasalShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeLateralBasalShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobePosteriorBasalShunt));
+
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobePosteriorBasalShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeLateralBasalShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeAnteromedialBasalShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeSuperiorShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeInferiorLingulaShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeSuperiorLingulaShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeAnteriorShunt));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeApicoposteriorShunt));
+
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeApicalPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobePosteriorPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightSuperiorLobeAnteriorPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeLateralPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightMiddleLobeMedialPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeSuperiorPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeMedialBasalPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeAnteriorBasalPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobeLateralBasalPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightPulmonaryArteries1ToRightInferiorLobePosteriorBasalPulmonaryCapillaries));
+
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobePosteriorBasalPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeLateralBasalPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeAnteromedialBasalPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftInferiorLobeSuperiorPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeInferiorLingulaPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeAnteriorPulmonaryCapillaries));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftPulmonaryArteries1ToLeftSuperiorLobeApicoposteriorPulmonaryCapillaries));
+
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1));
+
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1));
+ m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1));
}
else
{
@@ -837,7 +837,7 @@ namespace pulse
m_PulmonaryResistancePaths.push_back(m_CirculatoryCircuit->GetPath(pulse::CardiovascularPath::RightPulmonaryVeins1ToRightIntermediatePulmonaryVeins1));
// Add the expanded kidney paths
- if (m_data.GetConfiguration().IsRenalEnabled())
+ if (m_data.GetConfiguration().UseExpandedKidneys() == eSwitch::On)
{
SEFluidCircuitPath* p;
// Add kidney resistance paths
@@ -3543,58 +3543,58 @@ namespace pulse
std::vector tissueResistancePaths;
std::vector tissuePressureCVSources;
- if (m_data.GetConfiguration().UseExpandedVasculature() == eSwitch::On)
+ if (m_data.GetConfiguration().UseComputationalLifeExpansion() == eSwitch::On)
{
- tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ExpandedCardiovascularNode::TorsoBone1));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::ExpandedCardiovascularTissuePath::BoneT2ToBoneT1));
+ tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ComputationalLifeCardiovascularNode::TorsoBone1));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::BoneT2ToBoneT1));
- tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ExpandedCardiovascularNode::Intracranial2));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::ExpandedCardiovascularTissuePath::BrainT2ToBrainT1));
+ tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ComputationalLifeCardiovascularNode::Intracranial2));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::BrainT2ToBrainT1));
- tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ExpandedCardiovascularNode::TorsoFat1));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::ExpandedCardiovascularTissuePath::FatT2ToFatT1));
+ tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ComputationalLifeCardiovascularNode::TorsoFat1));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::FatT2ToFatT1));
// Have to pick one of the 3 nodes GI is mapped to for pressure (Could use Large Intestine | Splanchnic)
- tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ExpandedCardiovascularNode::SmallIntestine1));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::ExpandedCardiovascularTissuePath::GutT2ToGutT1));
+ tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::SmallIntestine1));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::GutT2ToGutT1));
- tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ExpandedCardiovascularNode::Liver1));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::ExpandedCardiovascularTissuePath::LiverT2ToLiverT1));
+ tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::Liver1));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::LiverT2ToLiverT1));
- if (m_data.GetConfiguration().IsRenalEnabled())
+ if (m_data.GetConfiguration().UseExpandedKidneys() == eSwitch::On)
{
tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::RenalNode::LeftGlomerularCapillaries));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::ExpandedCardiovascularTissuePath::LeftKidneyT2ToLeftKidneyT1));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::LeftKidneyT2ToLeftKidneyT1));
tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::RenalNode::RightGlomerularCapillaries));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::ExpandedCardiovascularTissuePath::RightKidneyT2ToRightKidneyT1));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::RightKidneyT2ToRightKidneyT1));
}
else
{
- tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ExpandedCardiovascularNode::LeftKidney2));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::ExpandedCardiovascularTissuePath::LeftKidneyT2ToLeftKidneyT1));
+ tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::LeftKidney2));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::LeftKidneyT2ToLeftKidneyT1));
- tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ExpandedCardiovascularNode::RightKidney2));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::ExpandedCardiovascularTissuePath::RightKidneyT2ToRightKidneyT1));
+ tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::RightKidney2));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::RightKidneyT2ToRightKidneyT1));
}
- tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ExpandedCardiovascularNode::LeftPulmonaryCapillaries1));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::ExpandedCardiovascularTissuePath::LeftLungT2ToLeftLungT1));
+ tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::LeftPulmonaryCapillaries1));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::LeftLungT2ToLeftLungT1));
- tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ExpandedCardiovascularNode::TorsoMuscle1));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::ExpandedCardiovascularTissuePath::MuscleT2ToMuscleT1));
+ tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ComputationalLifeCardiovascularNode::TorsoMuscle1));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::MuscleT2ToMuscleT1));
- tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ExpandedCardiovascularNode::Myocardium2));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::ExpandedCardiovascularTissuePath::MyocardiumT2ToMyocardiumT1));
+ tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::Myocardium2));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::MyocardiumT2ToMyocardiumT1));
- tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ExpandedCardiovascularNode::RightPulmonaryCapillaries1));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::ExpandedCardiovascularTissuePath::RightLungT2ToRightLungT1));
+ tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::RightPulmonaryCapillaries1));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::RightLungT2ToRightLungT1));
- tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ExpandedCardiovascularNode::TorsoSkin1));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::ExpandedCardiovascularTissuePath::SkinT2ToSkinT1));
+ tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ComputationalLifeCardiovascularNode::TorsoSkin1));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::SkinT2ToSkinT1));
- tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::ExpandedCardiovascularNode::Spleen1));
- tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::ExpandedCardiovascularTissuePath::SpleenT2ToSpleenT1));
+ tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::Spleen1));
+ tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::SpleenT2ToSpleenT1));
}
else
{
@@ -3614,7 +3614,7 @@ namespace pulse
tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::Liver1));
tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::LiverT2ToLiverT1));
- if (m_data.GetConfiguration().IsRenalEnabled())
+ if (m_data.GetConfiguration().UseExpandedKidneys() == eSwitch::On)
{
tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::RenalNode::LeftGlomerularCapillaries));
tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::LeftKidneyT2ToLeftKidneyT1));
@@ -3632,7 +3632,7 @@ namespace pulse
}
//TODO: Make this work for the expanded model
- if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::Off)
{
tissuePressureCVSources.push_back(m_data.GetCircuits().GetFluidNode(pulse::CardiovascularNode::LeftPulmonaryCapillaries1));
tissueResistancePaths.push_back(m_data.GetCircuits().GetFluidPath(pulse::TissuePath::LeftLungT2ToLeftLungT1));
diff --git a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
index e1d78e8ba..75475cfec 100644
--- a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
+++ b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
@@ -500,7 +500,7 @@ namespace pulse
// Capillary Path
// Alveoli Compartment
// Capillary Compartment
- if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::Off)
{
// Side
// Alveoli Node
@@ -551,218 +551,218 @@ namespace pulse
m_LungComponents[eLungCompartment::RightSuperiorLobeApical] =
{
eSide::Right,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeApicalAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeApicalAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightSuperiorLobeApicalAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobeApicalShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobeApicalAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightSuperiorLobeApicalPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobeApicalAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobeApicalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobeApicalAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeApicalShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobeApicalAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightSuperiorLobeApicalPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightSuperiorLobePosterior] =
{
eSide::Right,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobePosteriorAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobePosteriorAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightSuperiorLobePosteriorAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobePosteriorShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobePosteriorAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightSuperiorLobePosteriorPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobePosteriorAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobePosteriorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobePosteriorAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobePosteriorShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobePosteriorAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightSuperiorLobePosteriorPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightSuperiorLobeAnterior] =
{
eSide::Right,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeAnteriorAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightSuperiorLobeAnteriorAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightSuperiorLobeAnteriorAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobeAnteriorShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightSuperiorLobeAnteriorAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightSuperiorLobeAnteriorPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobeAnteriorAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobeAnteriorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobeAnteriorAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeAnteriorShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobeAnteriorAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightSuperiorLobeAnteriorPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightMiddleLobeLateral] =
{
eSide::Right,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeLateralAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeLateralAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightMiddleLobeLateralAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightMiddleLobeLateralShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobeLateralAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightMiddleLobeLateralPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightMiddleLobeLateralAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightMiddleLobeLateralAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightMiddleLobeLateralAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeLateralShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightMiddleLobeLateralAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightMiddleLobeLateralPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightMiddleLobeMedial] =
{
eSide::Right,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeMedialAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightMiddleLobeMedialAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightMiddleLobeMedialAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightMiddleLobeMedialShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightMiddleLobeMedialAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightMiddleLobeMedialPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightMiddleLobeMedialAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightMiddleLobeMedialAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightMiddleLobeMedialAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeMedialShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightMiddleLobeMedialAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightMiddleLobeMedialPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightInferiorLobeSuperior] =
{
eSide::Right,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeSuperiorAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeSuperiorAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobeSuperiorAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeSuperiorShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeSuperiorAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightInferiorLobeSuperiorPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeSuperiorAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeSuperiorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeSuperiorAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeSuperiorShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeSuperiorAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightInferiorLobeSuperiorPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightInferiorLobeMedialBasal] =
{
eSide::Right,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeMedialBasalAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeMedialBasalAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobeMedialBasalAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeMedialBasalShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeMedialBasalAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightInferiorLobeMedialBasalPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeMedialBasalAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeMedialBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeMedialBasalAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeMedialBasalShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeMedialBasalAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightInferiorLobeMedialBasalPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightInferiorLobeAnteriorBasal] =
{
eSide::Right,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeAnteriorBasalAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeAnteriorBasalAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobeAnteriorBasalAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeAnteriorBasalAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightInferiorLobeAnteriorBasalPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeAnteriorBasalAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeAnteriorBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeAnteriorBasalAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeAnteriorBasalShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeAnteriorBasalAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightInferiorLobeAnteriorBasalPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightInferiorLobeLateralBasal] =
{
eSide::Right,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeLateralBasalAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobeLateralBasalAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobeLateralBasalAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeLateralBasalShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobeLateralBasalAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightInferiorLobeLateralBasalPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeLateralBasalAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeLateralBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeLateralBasalAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeLateralBasalShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeLateralBasalAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightInferiorLobeLateralBasalPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightInferiorLobePosteriorBasal] =
{
eSide::Right,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobePosteriorBasalAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::RightInferiorLobePosteriorBasalAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::RightInferiorLobePosteriorBasalAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobePosteriorBasalShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::RightInferiorLobePosteriorBasalAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightInferiorLobePosteriorBasalPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobePosteriorBasalAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobePosteriorBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobePosteriorBasalAlveoliToRightPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobePosteriorBasalShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobePosteriorBasalAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightInferiorLobePosteriorBasalPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::LeftInferiorLobePosteriorBasal] =
{
eSide::Left,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobePosteriorBasalAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobePosteriorBasalAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobePosteriorBasalAlveoliToLeftPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobePosteriorBasalAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftInferiorLobePosteriorBasalPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobePosteriorBasalAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobePosteriorBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobePosteriorBasalAlveoliToLeftPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobePosteriorBasalShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobePosteriorBasalAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftInferiorLobePosteriorBasalPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::LeftInferiorLobeLateralBasal] =
{
eSide::Left,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeLateralBasalAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeLateralBasalAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobeLateralBasalAlveoliToLeftPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeLateralBasalShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeLateralBasalAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftInferiorLobeLateralBasalPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeLateralBasalAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeLateralBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobeLateralBasalAlveoliToLeftPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeLateralBasalShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobeLateralBasalAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftInferiorLobeLateralBasalPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::LeftInferiorLobeAnteromedialBasal] =
{
eSide::Left,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeAnteromedialBasalAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobeAnteromedialBasalAlveoliToLeftPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeAnteromedialBasalAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeAnteromedialBasalAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobeAnteromedialBasalAlveoliToLeftPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeAnteromedialBasalShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobeAnteromedialBasalAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::LeftInferiorLobeSuperior] =
{
eSide::Left,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeSuperiorAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftInferiorLobeSuperiorAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftInferiorLobeSuperiorAlveoliToLeftPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeSuperiorShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeSuperiorAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftInferiorLobeSuperiorPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeSuperiorAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeSuperiorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobeSuperiorAlveoliToLeftPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeSuperiorShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobeSuperiorAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftInferiorLobeSuperiorPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::LeftSuperiorLobeInferiorLingula] =
{
eSide::Left,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeInferiorLingulaAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftSuperiorLobeInferiorLingulaAlveoliToLeftPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeInferiorLingulaAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeInferiorLingulaAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeInferiorLingulaAlveoliToLeftPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeInferiorLingulaShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeInferiorLingulaAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::LeftSuperiorLobeSuperiorLingula] =
{
eSide::Left,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeSuperiorLingulaAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftSuperiorLobeSuperiorLingulaAlveoliToLeftPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeSuperiorLingulaAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeSuperiorLingulaAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeSuperiorLingulaAlveoliToLeftPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeSuperiorLingulaShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeSuperiorLingulaAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::LeftSuperiorLobeAnterior] =
{
eSide::Left,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeAnteriorAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeAnteriorAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftSuperiorLobeAnteriorAlveoliToLeftPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeAnteriorShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeAnteriorAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftSuperiorLobeAnteriorPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeAnteriorAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeAnteriorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeAnteriorAlveoliToLeftPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeAnteriorShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeAnteriorAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftSuperiorLobeAnteriorPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::LeftSuperiorLobeApicoposterior] =
{
eSide::Left,
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeApicoposteriorAlveoli),
- m_RespiratoryCircuit->GetNode(pulse::ExpandedRespiratoryNode::LeftSuperiorLobeApicoposteriorAlveolarDeadSpace),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole),
- m_RespiratoryCircuit->GetPath(pulse::ExpandedRespiratoryPath::LeftSuperiorLobeApicoposteriorAlveoliToLeftPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::CardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobeApicoposteriorAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftSuperiorLobeApicoposteriorPulmonaryCapillaries)
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeApicoposteriorAlveoli),
+ m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeApicoposteriorAlveolarDeadSpace),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole),
+ m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeApicoposteriorAlveoliToLeftPleuralConnection),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeApicoposteriorShunt),
+ m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1),
+ m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeApicoposteriorAlveoli),
+ m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftSuperiorLobeApicoposteriorPulmonaryCapillaries)
};
}
@@ -979,7 +979,7 @@ namespace pulse
//Update system data
CalculateVitalSigns();
- if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::Off)
{
//TODO: Make this work for the expanded model
ComputeExposedModelParameters();
@@ -3063,7 +3063,7 @@ namespace pulse
//TODO: Make this work for the expanded model
double leftHealthyLungCompliance_L_Per_cmH2O = 0.1;
double rightHealthyLungCompliance_L_Per_cmH2O = 0.1;
- if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::Off)
{
leftHealthyLungCompliance_L_Per_cmH2O = m_LeftAlveoliToLeftPleuralConnection->GetComplianceBaseline(VolumePerPressureUnit::L_Per_cmH2O);
rightHealthyLungCompliance_L_Per_cmH2O = m_RightAlveoliToRightPleuralConnection->GetComplianceBaseline(VolumePerPressureUnit::L_Per_cmH2O);
@@ -3174,7 +3174,7 @@ namespace pulse
double functionalResidualCapacity_L = m_data.GetInitialPatient().GetFunctionalResidualCapacity(VolumeUnit::L) * lungRatio;
- if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::On)
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::On)
{
//TODO: Make this work for the expanded model
healthyLungCompliance_L_Per_cmH2O = 0.1;
@@ -3672,6 +3672,20 @@ namespace pulse
double leftAlveoliResistance_cmH2O_s_Per_L = m_LeftAnatomicDeadSpaceToLeftAlveolarDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
double esophagusResistance_cmH2O_s_Per_L = m_AirwayToStomach->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ double rightBronchiResistance_cmH2O_s_Per_L = 0.0;
+ double leftBronchiResistance_cmH2O_s_Per_L = 0.0;
+ double rightAlveoliResistance_cmH2O_s_Per_L = 0.0;
+ double leftAlveoliResistance_cmH2O_s_Per_L = 0.0;
+
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::Off)
+ {
+ //TODO: Make this work for the expanded model
+ rightBronchiResistance_cmH2O_s_Per_L = m_CarinaToRightAnatomicDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ leftBronchiResistance_cmH2O_s_Per_L = m_CarinaToLeftAnatomicDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ rightAlveoliResistance_cmH2O_s_Per_L = m_RightAnatomicDeadSpaceToRightAlveolarDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ leftAlveoliResistance_cmH2O_s_Per_L = m_LeftAnatomicDeadSpaceToLeftAlveolarDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ }
+
bool inhaling = false;
if (m_PharynxToCarina->GetNextFlow(VolumePerTimeUnit::L_Per_s) > 0.0)
{
@@ -3758,7 +3772,7 @@ namespace pulse
//Tuned based on mechanical ventilator validation data
tracheaResistance_cmH2O_s_Per_L *= intubationTracheatracheaResistanceMultiplier_cmH2O_s_Per_L;
- if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::On)
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::On)
{
//Trachea resistance was tuned from 1.125 to 0.8 cmH2O-s/L in the circuit setup
tracheaResistance_cmH2O_s_Per_L *= 1.125 / 0.8;
@@ -4122,12 +4136,24 @@ namespace pulse
BLIM(leftAlveoliResistance_cmH2O_s_Per_L, m_DefaultClosedResistance_cmH2O_s_Per_L, m_DefaultOpenResistance_cmH2O_s_Per_L);
//Set new values
- m_PharynxToCarina->GetNextResistance().SetValue(tracheaResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- m_CarinaToRightAnatomicDeadSpace->GetNextResistance().SetValue(rightBronchiResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- m_CarinaToLeftAnatomicDeadSpace->GetNextResistance().SetValue(leftBronchiResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- m_RightAnatomicDeadSpaceToRightAlveolarDeadSpace->GetNextResistance().SetValue(rightAlveoliResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- m_LeftAnatomicDeadSpaceToLeftAlveolarDeadSpace->GetNextResistance().SetValue(leftAlveoliResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- m_AirwayToStomach->GetNextResistance().SetValue(esophagusResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::Off)
+ {
+ //TODO: Make this work for the expanded model
+ m_PharynxToCarina->GetNextResistance().SetValue(tracheaResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ m_CarinaToRightAnatomicDeadSpace->GetNextResistance().SetValue(rightBronchiResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ m_CarinaToLeftAnatomicDeadSpace->GetNextResistance().SetValue(leftBronchiResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ m_RightAnatomicDeadSpaceToRightAlveolarDeadSpace->GetNextResistance().SetValue(rightAlveoliResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ m_LeftAnatomicDeadSpaceToLeftAlveolarDeadSpace->GetNextResistance().SetValue(leftAlveoliResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ m_AirwayToStomach->GetNextResistance().SetValue(esophagusResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ }
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::Off)
+ {
+ //TODO: Make this work for the expanded model
+ m_CarinaToRightAnatomicDeadSpace->GetNextResistance().SetValue(rightBronchiResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ m_CarinaToLeftAnatomicDeadSpace->GetNextResistance().SetValue(leftBronchiResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ m_RightAnatomicDeadSpaceToRightAlveolarDeadSpace->GetNextResistance().SetValue(rightAlveoliResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ m_LeftAnatomicDeadSpaceToLeftAlveolarDeadSpace->GetNextResistance().SetValue(leftAlveoliResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ }
//------------------------------------------------------------------------------------------------------
//Restrictive
@@ -5640,15 +5666,15 @@ namespace pulse
return pulse::PulmonaryCompartment::RightLung;
//case eLungCompartment::LeftInferiorLobe:
- // return pulse::ExpandedPulmonaryCompartment::LeftInferiorLobeLung;
+ // return pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobeLung;
//case eLungCompartment::LeftSuperiorLobe:
- // return pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobe;
+ // return pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobe;
//case eLungCompartment::RightInferiorLobe:
- // return pulse::ExpandedPulmonaryCompartment::RightInferiorLobe;
+ // return pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobe;
//case eLungCompartment::RightMiddleLobe:
- // return pulse::ExpandedPulmonaryCompartment::RightMiddleLobe;
+ // return pulse::ExpandedLungsPulmonaryCompartment::RightMiddleLobe;
//case eLungCompartment::RightSuperiorLobe:
- // return pulse::ExpandedPulmonaryCompartment::RightSuperiorLobe;
+ // return pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobe;
default:
Warning("Unsupported eLungCompartment");
@@ -5663,15 +5689,15 @@ namespace pulse
if (cmpt == pulse::PulmonaryCompartment::RightLung)
return eLungCompartment::RightLung;
- //if (cmpt == pulse::ExpandedPulmonaryCompartment::LeftInferiorLobe)
+ //if (cmpt == pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobe)
// return eLungCompartment::LeftInferiorLobe;
- //if (cmpt == pulse::ExpandedPulmonaryCompartment::LeftSuperiorLobe)
+ //if (cmpt == pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobe)
// return eLungCompartment::LeftSuperiorLobe;
- //if (cmpt == pulse::ExpandedPulmonaryCompartment::RightInferiorLobe)
+ //if (cmpt == pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobe)
// return eLungCompartment::RightInferiorLobe;
- //if (cmpt == pulse::ExpandedPulmonaryCompartment::RightMiddleLobe)
+ //if (cmpt == pulse::ExpandedLungsPulmonaryCompartment::RightMiddleLobe)
// return eLungCompartment::RightMiddleLobe;
- //if (cmpt == pulse::ExpandedPulmonaryCompartment::RightSuperiorLobe)
+ //if (cmpt == pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobe)
// return eLungCompartment::RightSuperiorLobe;
return (eLungCompartment)-1;
diff --git a/src/cpp/engine/common/system/physiology/TissueModel.cpp b/src/cpp/engine/common/system/physiology/TissueModel.cpp
index 46d9a2441..c3817c743 100644
--- a/src/cpp/engine/common/system/physiology/TissueModel.cpp
+++ b/src/cpp/engine/common/system/physiology/TissueModel.cpp
@@ -216,7 +216,7 @@ namespace pulse
m_LeftPulmonaryCapillaries = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftPulmonaryCapillaries);
m_RightPulmonaryCapillaries = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightPulmonaryCapillaries);
- std::string BrainCmpt = m_data.GetConfiguration().UseExpandedVasculature() == eSwitch::On ? pulse::ExpandedVascularCompartment::Intracranial : pulse::VascularCompartment::Brain;
+ std::string BrainCmpt = m_data.GetConfiguration().UseComputationalLifeExpansion() == eSwitch::On ? pulse::ComputationalLifeVascularCompartment::Intracranial : pulse::VascularCompartment::Brain;
//Store tissue-blood pairs
m_TissueToVascular.clear();
m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::Fat)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::Fat);
@@ -227,7 +227,7 @@ namespace pulse
m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::RightKidney)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightKidney);
m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::Liver)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::Liver);
//TODO: Make this work for the expanded model
- if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::Off)
{
m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::LeftLung)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::LeftLung);
m_TissueToVascular[m_data.GetCompartments().GetTissueCompartment(pulse::TissueCompartment::RightLung)] = m_data.GetCompartments().GetLiquidCompartment(pulse::VascularCompartment::RightLung);
diff --git a/src/cpp/engine/files.cmake b/src/cpp/engine/files.cmake
index 7ff5d9d10..1d04917fe 100644
--- a/src/cpp/engine/files.cmake
+++ b/src/cpp/engine/files.cmake
@@ -91,8 +91,8 @@ set(ENGINE_CPP_FILES
engine/common/controller/CompartmentManager.cpp
engine/common/controller/Controller.cpp
engine/common/controller/SetupCircuitsAndCompartments.cpp
- engine/common/controller/SetupExpandedCardiovascular.cpp
- engine/common/controller/SetupExpandedRespiratory.cpp
+ engine/common/controller/SetupComputationalLifeExpansion.cpp
+ engine/common/controller/SetupExpandedLungs.cpp
engine/common/controller/SubstanceManager.cpp
engine/common/system/environment/EnvironmentModel.cpp
engine/common/system/equipment/AnesthesiaMachineModel.cpp
diff --git a/src/cpp/engine/human_adult/hemodynamics/controller/CompartmentManager.cpp b/src/cpp/engine/human_adult/hemodynamics/controller/CompartmentManager.cpp
index 762c71587..9898b5cc3 100644
--- a/src/cpp/engine/human_adult/hemodynamics/controller/CompartmentManager.cpp
+++ b/src/cpp/engine/human_adult/hemodynamics/controller/CompartmentManager.cpp
@@ -50,7 +50,7 @@ namespace pulse { namespace human_adult_hemodynamics
Warning("Could not find expected Extravascular compartment, " + name + " in compartment manager");
}
}
- if (m_data.GetConfiguration().IsRenalEnabled())
+ if (m_data.GetConfiguration().UseExpandedKidneys() == eSwitch::On)
{
SORT_CMPTS(Urine, Liquid);
}
diff --git a/src/cpp/engine/human_adult/hemodynamics/controller/SetupCircuitsAndCompartments.cpp b/src/cpp/engine/human_adult/hemodynamics/controller/SetupCircuitsAndCompartments.cpp
index 01d98fab8..8b6ad788f 100644
--- a/src/cpp/engine/human_adult/hemodynamics/controller/SetupCircuitsAndCompartments.cpp
+++ b/src/cpp/engine/human_adult/hemodynamics/controller/SetupCircuitsAndCompartments.cpp
@@ -29,7 +29,7 @@ namespace pulse { namespace human_adult_hemodynamics
m_Compartments->Setup();
SetupCardiovascular();
- if (m_Config->IsRenalEnabled())
+ if (m_Config->UseExpandedKidneys() == eSwitch::On)
SetupRenal();
if (m_Config->IsTissueEnabled())
SetupTissue();
diff --git a/src/cpp/engine/human_adult/whole_body/test/AerosolTest.cpp b/src/cpp/engine/human_adult/whole_body/test/AerosolTest.cpp
index 153ec0a45..626f49470 100644
--- a/src/cpp/engine/human_adult/whole_body/test/AerosolTest.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/AerosolTest.cpp
@@ -272,7 +272,7 @@ namespace pulse { namespace human_adult_whole_body
pc.GetSubstances().LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &pc.GetSubstances());
- pc.m_Config->EnableRenal(eSwitch::Off);
+ pc.m_Config->UseExpandedKidneys(eSwitch::Off);
pc.m_Config->EnableTissue(eSwitch::Off);
pc.CreateCircuitsAndCompartments();
pc.GetSubstances().InitializeGasCompartments();
diff --git a/src/cpp/engine/human_adult/whole_body/test/AnesthesiaCircuit.cpp b/src/cpp/engine/human_adult/whole_body/test/AnesthesiaCircuit.cpp
index 465e61442..0490f8c75 100644
--- a/src/cpp/engine/human_adult/whole_body/test/AnesthesiaCircuit.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/AnesthesiaCircuit.cpp
@@ -38,7 +38,7 @@ namespace pulse { namespace human_adult_whole_body
/// and variable values for the circuit elements.The outputs are the resultant flows and pressures
/// on the circuit nodes and paths. These are then stored in a file in sTestDirectory
//--------------------------------------------------------------------------------------------------
- void EngineTest::AnesthesiaMachineCircuitAndTransportTest(RespiratoryConfiguration config, const std::string& sTestDirectory)
+ void EngineTest::AnesthesiaMachineCircuitAndTransportTest(RespiratoryConfiguration config, bool expandedLungs, const std::string& sTestDirectory)
{
TimingProfile tmr;
tmr.Start("Test");
@@ -57,7 +57,8 @@ namespace pulse { namespace human_adult_whole_body
pc.GetSubstances().LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &pc.GetSubstances());
- pc.m_Config->EnableRenal(eSwitch::Off);
+ pc.m_Config->UseExpandedKidneys(eSwitch::Off);
+ pc.m_Config->UseExpandedLungs(expandedLungs ? eSwitch::On : eSwitch::Off);
pc.m_Config->EnableTissue(eSwitch::Off);
pc.CreateCircuitsAndCompartments();
SEEnvironmentalConditions env(pc.GetLogger());
@@ -174,11 +175,16 @@ namespace pulse { namespace human_adult_whole_body
void EngineTest::AnesthesiaMachineCircuitAndTransportTest(const std::string& sTestDirectory)
{
- AnesthesiaMachineCircuitAndTransportTest(AnesthesiaMachineSolo, sTestDirectory);
+ AnesthesiaMachineCircuitAndTransportTest(AnesthesiaMachineSolo, false, sTestDirectory);
}
void EngineTest::RespiratoryWithAnesthesiaMachineCircuitAndTransportTest(const std::string& sTestDirectory)
{
- AnesthesiaMachineCircuitAndTransportTest(RespiratoryWithAnesthesiaMachine, sTestDirectory);
+ AnesthesiaMachineCircuitAndTransportTest(RespiratoryWithAnesthesiaMachine, false, sTestDirectory);
+ }
+
+ void EngineTest::RespiratoryExpandedLungsWithAnesthesiaMachineCircuitAndTransportTest(const std::string& sTestDirectory)
+ {
+ AnesthesiaMachineCircuitAndTransportTest(RespiratoryWithAnesthesiaMachine, true, sTestDirectory);
}
END_NAMESPACE_EX
diff --git a/src/cpp/engine/human_adult/whole_body/test/CardiovascularCircuit.cpp b/src/cpp/engine/human_adult/whole_body/test/CardiovascularCircuit.cpp
index bc5bbca12..3e320130f 100644
--- a/src/cpp/engine/human_adult/whole_body/test/CardiovascularCircuit.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/CardiovascularCircuit.cpp
@@ -44,32 +44,47 @@ namespace pulse { namespace human_adult_whole_body
// We use 1,1,1,0 to run our test without any scaling of the circuit and using the HeartRate Baseline in the standard patient file
void EngineTest::CardiovascularCircuitAndTransportTest(const std::string& sTestDirectory)
{
- CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, false, false, false, false, sTestDirectory, "Cardiovascular", false);
+ CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, false, false, false, false, false, sTestDirectory, "Cardiovascular", false);
}
void EngineTest::CardiovascularAndRenalCircuitAndTransportTest(const std::string& sTestDirectory)
{
- CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, false, true, false, false, sTestDirectory, "CardiovascularAndRenal", false);
+ CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, false, false, false, true, false, sTestDirectory, "CardiovascularAndRenal", false);
}
void EngineTest::CardiovascularAndTissueCircuitAndTransportTest(const std::string& sTestDirectory)
{
- CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, true, false, false, false, sTestDirectory, "CardiovascularAndTissue", false);
+ CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, false, false, true, false, false, sTestDirectory, "CardiovascularAndTissue", false);
}
void EngineTest::CardiovascularAndCerebrospinalFluidCircuitAndTransportTest(const std::string& sTestDirectory)
{
- CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, false, false, true, false, sTestDirectory, "CardiovascularAndCerebrospinalFluid", false);
+ CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, false, true, false, false, false, sTestDirectory, "CardiovascularAndCerebrospinalFluid", false);
+ }
+
+ void EngineTest::CardiovascularAndExpandedLungsCircuitAndTransportTest(const std::string& sTestDirectory)
+ {
+ CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, false, false, false, false, true, sTestDirectory, "CardiovascularAndCerebrospinalFluid", false);
}
void EngineTest::FullCardiovascularCircuitAndTransportTest(const std::string& sTestDirectory)
{// \todo enable csf when ready
- CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, true, true, false, false, sTestDirectory, "FullCardiovascular", false);
+ CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, false, false, true, true, false, sTestDirectory, "FullCardiovascular", false);
+ }
+
+ void EngineTest::FullExpandedLungsCardiovascularCircuitAndTransportTest(const std::string& sTestDirectory)
+ {// \todo enable csf when ready
+ CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, false, false, true, true, true, sTestDirectory, "FullCardiovascular", false);
}
void EngineTest::CardiovascularBloodGasesTest(const std::string& sTestDirectory)
{// \todo enable csf when ready
- CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, true, true, false, true, sTestDirectory, "CardiovascularBloodGasesTest", false);
+ CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, true, false, true, true, false, sTestDirectory, "CardiovascularBloodGasesTest", false);
+ }
+
+ void EngineTest::CardiovascularExpandedLungsBloodGasesTest(const std::string& sTestDirectory)
+ {// \todo enable csf when ready
+ CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, true, false, true, true, true, sTestDirectory, "CardiovascularBloodGasesTest", false);
}
void EngineTest::TuneCardiovascularCircuitTest(const std::string& sTestDirectory)
@@ -143,7 +158,7 @@ namespace pulse { namespace human_adult_whole_body
testSuite.GetLogger()->Info("Running " + sTestName);
pc.SetDataRoot("./");
pc.Initialize(patient);
- pc.m_Config->EnableRenal(eSwitch::On);
+ pc.m_Config->UseExpandedKidneys(eSwitch::On);
pc.m_Config->EnableTissue(eSwitch::On);
SETestCase& testCase = testSuite.CreateTestCase();
@@ -166,8 +181,8 @@ namespace pulse { namespace human_adult_whole_body
double complianceScale, double resistanceScale, double volumeScale, double heartRate_bpm,
double systemicResistanceScale, double systemicComplianceScale, double aortaResistanceScale,
double aortaComplianceScale, double rightHeartResistanceScale, double venaCavaComplianceScale,
- bool connectTissue, bool connectRenal, bool connectCSF, bool balanceBloodGases, const std::string& sTestDirectory,
- const std::string& sTestName, bool breakOutResults)
+ bool balanceBloodGases, bool connectCSF, bool connectTissue, bool expandedKidneys, bool expandedLungs,
+ const std::string& sTestDirectory, const std::string& sTestName, bool breakOutResults)
{
//breakOutResults True = seperate files for different types (i.e. volumes, flows, etc.); False = one file with everything
double testTime_s = 120;
@@ -221,13 +236,12 @@ namespace pulse { namespace human_adult_whole_body
pc.GetCurrentPatient().GetHeartRateBaseline().SetValue(heartRate_bpm, FrequencyUnit::Per_min);
}
- pc.m_Config->EnableRenal(connectRenal ? eSwitch::On : eSwitch::Off);
pc.m_Config->EnableTissue(connectTissue ? eSwitch::On : eSwitch::Off);
pc.m_Config->EnableCerebrospinalFluid(connectCSF ? eSwitch::On : eSwitch::Off);
+ pc.m_Config->UseExpandedLungs(expandedLungs ? eSwitch::On : eSwitch::Off);
+ pc.m_Config->UseExpandedKidneys(expandedKidneys ? eSwitch::On : eSwitch::Off);
pc.m_Config->TuneCardiovascularCircuit(eSwitch::On);// Run the circuit as constructed
//pc.m_Config->CardiovascularTuningFile("./test_results/unit_tests/Pulse/"+ sTestName+"Tuning.csv");
- //Aaron - Make a seperate test that turns this on
- pc.m_Config->UseExpandedRespiratory(eSwitch::On);
pc.CreateCircuitsAndCompartments();
std::vector subs2Track;
@@ -259,7 +273,7 @@ namespace pulse { namespace human_adult_whole_body
SEScalarMassPerVolume N2_ug_per_mL;
N2_ug_per_mL.SetValue(0.5, MassPerVolumeUnit::ug_Per_mL);
subMgr.SetSubstanceConcentration(subMgr.GetN2(), pc.GetCompartments().GetVascularLeafCompartments(), N2_ug_per_mL);
- if (connectRenal)
+ if (expandedKidneys)
{
subMgr.SetSubstanceConcentration(subMgr.GetN2(), pc.GetCompartments().GetUrineLeafCompartments(), N2_ug_per_mL);
}
@@ -707,7 +721,7 @@ namespace pulse { namespace human_adult_whole_body
{
for (double vcFactor = 0.5; vcFactor < 1.51; vcFactor += 0.25)
{
- CardiovascularCircuitAndTransportTest(Heart, comp, res, vol, heartRate_bpm, srFactor, scFactor, arFactor, acFactor, vrFactor, vcFactor, false, false, false, false, sTestDirectory, "CVScale", true);
+ CardiovascularCircuitAndTransportTest(Heart, comp, res, vol, heartRate_bpm, srFactor, scFactor, arFactor, acFactor, vrFactor, vcFactor, false, false, false, false, false, sTestDirectory, "CVScale", true);
cvLastMeanPressureTrk.Track("SystemicResistanceScale", testNo, srFactor);
cvLastMeanPressureTrk.Track("SystemicComplianceScale", testNo, scFactor);
diff --git a/src/cpp/engine/human_adult/whole_body/test/EngineTest.cpp b/src/cpp/engine/human_adult/whole_body/test/EngineTest.cpp
index 9a8019791..ec395e0e7 100644
--- a/src/cpp/engine/human_adult/whole_body/test/EngineTest.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/EngineTest.cpp
@@ -57,29 +57,22 @@ namespace pulse { namespace human_adult_whole_body
void EngineTest::FillFunctionMap()
{
- //A few functions have overloads, so we have to use the pointer clarify which one we want
- testFunction cardioCTTest = &EngineTest::CardiovascularCircuitAndTransportTest;
- testFunction cardioBGTest = &EngineTest::CardiovascularBloodGasesTest;
- testFunction cardioTuneCircuitTest = &EngineTest::TuneCardiovascularCircuitTest;
- testFunction respCTTest = &EngineTest::RespiratoryCircuitAndTransportTest;
- testFunction anesthCTTest = &EngineTest::AnesthesiaMachineCircuitAndTransportTest;
- testFunction ventCTTest = &EngineTest::MechanicalVentilatorCircuitAndTransportTest;
- testFunction setupPatientTest = &EngineTest::SetupPatientTest;
-
-
testMap.insert(std::make_pair("ReadScenarios", &EngineTest::ReadScenarios));
testMap.insert(std::make_pair("ReuseEngine", &EngineTest::ReuseEngine));
testMap.insert(std::make_pair("SerializationTest", &EngineTest::SerializationTest));
- testMap.insert(std::make_pair("SetupPatientTest", setupPatientTest));
+ testMap.insert(std::make_pair("SetupPatientTest", &EngineTest::SetupPatientTest));
//Fill a map that ties unit test names to their actual functions
- testMap.insert(std::make_pair("CardiovascularCircuitAndTransportTest", cardioCTTest));
+ testMap.insert(std::make_pair("CardiovascularCircuitAndTransportTest", (testFunction) &EngineTest::CardiovascularCircuitAndTransportTest));
testMap.insert(std::make_pair("CardiovascularAndRenalCircuitAndTransportTest", &EngineTest::CardiovascularAndRenalCircuitAndTransportTest));
testMap.insert(std::make_pair("CardiovascularAndTissueCircuitAndTransportTest", &EngineTest::CardiovascularAndTissueCircuitAndTransportTest));
testMap.insert(std::make_pair("CardiovascularAndCerebrospinalFluidCircuitAndTransportTest", &EngineTest::CardiovascularAndCerebrospinalFluidCircuitAndTransportTest));
+ testMap.insert(std::make_pair("CardiovascularAndExpandedLungsCircuitAndTransportTest", &EngineTest::CardiovascularAndExpandedLungsCircuitAndTransportTest));
testMap.insert(std::make_pair("FullCardiovascularCircuitAndTransportTest", &EngineTest::FullCardiovascularCircuitAndTransportTest));
- testMap.insert(std::make_pair("CardiovascularBloodGasesTest", cardioBGTest));
- testMap.insert(std::make_pair("TuneCardiovascularCircuitTest", cardioTuneCircuitTest));
+ testMap.insert(std::make_pair("FullExpandedLungsCardiovascularCircuitAndTransportTest", &EngineTest::FullExpandedLungsCardiovascularCircuitAndTransportTest));
+ testMap.insert(std::make_pair("CardiovascularBloodGasesTest", &EngineTest::CardiovascularBloodGasesTest));
+ testMap.insert(std::make_pair("CardiovascularExpandedLungsBloodGasesTest", &EngineTest::CardiovascularExpandedLungsBloodGasesTest));
+ testMap.insert(std::make_pair("TuneCardiovascularCircuitTest", (testFunction) & EngineTest::TuneCardiovascularCircuitTest));
testMap.insert(std::make_pair("CardiovascularCircuitScaleTests", &EngineTest::CardiovascularCircuitScaleTests));
testMap.insert(std::make_pair("RenalCircuitAndTransportTest", &EngineTest::RenalCircuitAndTransportTest));
@@ -88,18 +81,23 @@ namespace pulse { namespace human_adult_whole_body
testMap.insert(std::make_pair("RenalSecretionTest", &EngineTest::RenalSecretionTest));
testMap.insert(std::make_pair("RenalUrinateTest", &EngineTest::RenalUrinateTest));
- testMap.insert(std::make_pair("RespiratoryCircuitAndTransportTest", respCTTest));
+ testMap.insert(std::make_pair("RespiratoryCircuitAndTransportTest", (testFunction) & EngineTest::RespiratoryCircuitAndTransportTest));
+ testMap.insert(std::make_pair("RespiratoryExpandedLungsCircuitAndTransportTest", &EngineTest::RespiratoryExpandedLungsCircuitAndTransportTest));
testMap.insert(std::make_pair("RespiratoryDriverTest", &EngineTest::RespiratoryDriverTest));
- testMap.insert(std::make_pair("AnesthesiaMachineCircuitAndTransportTest", anesthCTTest));
+ testMap.insert(std::make_pair("AnesthesiaMachineCircuitAndTransportTest", (testFunction) & EngineTest::AnesthesiaMachineCircuitAndTransportTest));
testMap.insert(std::make_pair("RespiratoryWithAnesthesiaMachineCircuitAndTransportTest", &EngineTest::RespiratoryWithAnesthesiaMachineCircuitAndTransportTest));
+ testMap.insert(std::make_pair("RespiratoryExpandedLungsWithAnesthesiaMachineCircuitAndTransportTest", &EngineTest::RespiratoryExpandedLungsWithAnesthesiaMachineCircuitAndTransportTest));
- testMap.insert(std::make_pair("MechanicalVentilatorCircuitAndTransportTest", ventCTTest));
+ testMap.insert(std::make_pair("MechanicalVentilatorCircuitAndTransportTest", (testFunction) & EngineTest::MechanicalVentilatorCircuitAndTransportTest));
testMap.insert(std::make_pair("RespiratoryWithMechanicalVentilatorCircuitAndTransportTest", &EngineTest::RespiratoryWithMechanicalVentilatorCircuitAndTransportTest));
+ testMap.insert(std::make_pair("RespiratoryExpandedLungsWithMechanicalVentilatorCircuitAndTransportTest", &EngineTest::RespiratoryExpandedLungsWithMechanicalVentilatorCircuitAndTransportTest));
testMap.insert(std::make_pair("RespiratoryWithInhalerCircuitAndTransportTest", &EngineTest::RespiratoryWithInhalerCircuitAndTransportTest));
+ testMap.insert(std::make_pair("RespiratoryExpandedLungsWithInhalerCircuitAndTransportTest", &EngineTest::RespiratoryExpandedLungsWithInhalerCircuitAndTransportTest));
testMap.insert(std::make_pair("RespiratoryWithMechanicalVentilationCircuitAndTransportTest", &EngineTest::RespiratoryWithMechanicalVentilationCircuitAndTransportTest));
+ testMap.insert(std::make_pair("RespiratoryExpandedLungsWithMechanicalVentilationCircuitAndTransportTest", &EngineTest::RespiratoryExpandedLungsWithMechanicalVentilationCircuitAndTransportTest));
testMap.insert(std::make_pair("InternalTemperatureVariableBMRCircuitTest", &EngineTest::InternalTemperatureVariableBMRCircuitTest));
testMap.insert(std::make_pair("InternalTemperatureVariableSkinCircuitTest", &EngineTest::InternalTemperatureVariableSkinCircuitTest));
diff --git a/src/cpp/engine/human_adult/whole_body/test/EngineTest.h b/src/cpp/engine/human_adult/whole_body/test/EngineTest.h
index 9534ac5aa..c47bbf0a3 100644
--- a/src/cpp/engine/human_adult/whole_body/test/EngineTest.h
+++ b/src/cpp/engine/human_adult/whole_body/test/EngineTest.h
@@ -38,17 +38,23 @@ namespace pulse { namespace human_adult_whole_body
void CardiovascularAndRenalCircuitAndTransportTest(const std::string& sTestDirectory);
void CardiovascularAndTissueCircuitAndTransportTest(const std::string& sTestDirectory);
void CardiovascularAndCerebrospinalFluidCircuitAndTransportTest(const std::string& sTestDirectory);
+ void CardiovascularAndExpandedLungsCircuitAndTransportTest(const std::string& sTestDirectory);
void FullCardiovascularCircuitAndTransportTest(const std::string& sTestDirectory);
- void CardiovascularBloodGasesTest(const std::string& sTestDirectory);// Characterize the cv circuit
- void TuneCardiovascularCircuitTest(const std::string& sTestDirectory);
+ void FullExpandedLungsCardiovascularCircuitAndTransportTest(const std::string& sTestDirectory);
+ void CardiovascularBloodGasesTest(const std::string& sTestDirectory);// Everything with Saturation
+ void CardiovascularExpandedLungsBloodGasesTest(const std::string& sTestDirectory);// Everything with Saturation
// Cardiovascular Utilities //
+ void TuneCardiovascularCircuitTest(const std::string& sTestDirectory);
void CardiovascularCircuitScaleTests(const std::string& sTestDirectory);
protected:
enum CardiovascularDriver { Sinusoid = 0, Heart };
+ enum Expanded { None=0, Vasculature, Respiratory }; // Vasculature expansion defined by ComputationalLife
void SinusoidHeartDriver(double time_s, double heartRate_s, double& lHeartElastance, double& rHeartElastance);
- void CardiovascularCircuitAndTransportTest(CardiovascularDriver driverType, double complianceScale, double resistanceScale, double volumeScale, double heartRate_bpm,
- double sysRes, double sysComp, double aortaRes, double aortaComp, double rightHeartRes, double venaCavaComp, bool connectTissue, bool connectRenal, bool connectCSF,
- bool balanceBloodgases, const std::string& sTestDirectory, const std::string& sTestName, bool breakOutResults);
+ void CardiovascularCircuitAndTransportTest(CardiovascularDriver driverType,
+ double complianceScale, double resistanceScale, double volumeScale, double heartRate_bpm,
+ double sysRes, double sysComp, double aortaRes, double aortaComp, double rightHeartRes, double venaCavaComp,
+ bool balanceBloodGases, bool connectCSF, bool connectTissue, bool expandedKidneys, bool expandedLungs,
+ const std::string& sTestDirectory, const std::string& sTestName, bool breakOutResults);
void TuneCardiovascularCircuitTest(SETestSuite& testSuite, const std::string& sTestDirectory, const std::string& sTestName, SEPatient& patient);
double m_MeanAortaPressure;
@@ -78,11 +84,12 @@ namespace pulse { namespace human_adult_whole_body
// Respiratory //
/////////////////
void RespiratoryCircuitAndTransportTest(const std::string& sTestDirectory);
+ void RespiratoryExpandedLungsCircuitAndTransportTest(const std::string& sTestDirectory);
void RespiratoryDriverTest(const std::string& sTestDirectory);
protected:
enum RespiratoryConfiguration { RespiratorySolo, AnesthesiaMachineSolo, RespiratoryWithAnesthesiaMachine, RespiratoryWithInhaler, RespiratoryWithMechanicalVentilation, MechanicalVentilatorSolo, RespiratoryWithMechanicalVentilator
};
- void RespiratoryCircuitAndTransportTest(RespiratoryConfiguration config, const std::string& sTestDirectory);
+ void RespiratoryCircuitAndTransportTest(RespiratoryConfiguration config, bool expandedLungs, const std::string& sTestDirectory);
public:
////////////////////////
@@ -90,8 +97,9 @@ namespace pulse { namespace human_adult_whole_body
////////////////////////
void AnesthesiaMachineCircuitAndTransportTest(const std::string& sTestDirectory);
void RespiratoryWithAnesthesiaMachineCircuitAndTransportTest(const std::string& sTestDirectory);
+ void RespiratoryExpandedLungsWithAnesthesiaMachineCircuitAndTransportTest(const std::string& sTestDirectory);
protected:
- void AnesthesiaMachineCircuitAndTransportTest(RespiratoryConfiguration config, const std::string& sTestDirectory);
+ void AnesthesiaMachineCircuitAndTransportTest(RespiratoryConfiguration config, bool expandedLungs, const std::string& sTestDirectory);
public:
///////////////////////////
@@ -99,14 +107,16 @@ namespace pulse { namespace human_adult_whole_body
///////////////////////////
void MechanicalVentilatorCircuitAndTransportTest(const std::string& sTestDirectory);
void RespiratoryWithMechanicalVentilatorCircuitAndTransportTest(const std::string& sTestDirectory);
+ void RespiratoryExpandedLungsWithMechanicalVentilatorCircuitAndTransportTest(const std::string& sTestDirectory);
protected:
- void MechanicalVentilatorCircuitAndTransportTest(RespiratoryConfiguration config, const std::string& sTestDirectory);
+ void MechanicalVentilatorCircuitAndTransportTest(RespiratoryConfiguration config, bool expandedLungs, const std::string& sTestDirectory);
public:
/////////////
// Inhaler //
/////////////
void RespiratoryWithInhalerCircuitAndTransportTest(const std::string& sTestDirectory);
+ void RespiratoryExpandedLungsWithInhalerCircuitAndTransportTest(const std::string& sTestDirectory);
protected:
public:
@@ -114,6 +124,7 @@ namespace pulse { namespace human_adult_whole_body
// Mechanical Ventilation //
////////////////////////////
void RespiratoryWithMechanicalVentilationCircuitAndTransportTest(const std::string& sTestDirectory);
+ void RespiratoryExpandedLungsWithMechanicalVentilationCircuitAndTransportTest(const std::string& sTestDirectory);
protected:
public:
diff --git a/src/cpp/engine/human_adult/whole_body/test/FourCompartmentTest.cpp b/src/cpp/engine/human_adult/whole_body/test/FourCompartmentTest.cpp
index aa60dfa9c..c483e6c5d 100644
--- a/src/cpp/engine/human_adult/whole_body/test/FourCompartmentTest.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/FourCompartmentTest.cpp
@@ -95,7 +95,7 @@ namespace pulse { namespace human_adult_whole_body
subMgr.LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &subMgr);
- pc.m_Config->EnableRenal(eSwitch::Off);
+ pc.m_Config->UseExpandedKidneys(eSwitch::Off);
pc.m_Config->EnableTissue(eSwitch::Off);
pc.CreateCircuitsAndCompartments();
subMgr.InitializeGasCompartments();
diff --git a/src/cpp/engine/human_adult/whole_body/test/MechanicalVentilatorCircuit.cpp b/src/cpp/engine/human_adult/whole_body/test/MechanicalVentilatorCircuit.cpp
index 614efa480..dec874ac2 100644
--- a/src/cpp/engine/human_adult/whole_body/test/MechanicalVentilatorCircuit.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/MechanicalVentilatorCircuit.cpp
@@ -38,7 +38,7 @@ namespace pulse { namespace human_adult_whole_body
/// and variable values for the circuit elements.The outputs are the resultant flows and pressures
/// on the circuit nodes and paths. These are then stored in a file in sTestDirectory
//--------------------------------------------------------------------------------------------------
- void EngineTest::MechanicalVentilatorCircuitAndTransportTest(RespiratoryConfiguration config, const std::string& sTestDirectory)
+ void EngineTest::MechanicalVentilatorCircuitAndTransportTest(RespiratoryConfiguration config, bool expandedLungs, const std::string& sTestDirectory)
{
TimingProfile tmr;
tmr.Start("Test");
@@ -57,7 +57,8 @@ namespace pulse { namespace human_adult_whole_body
pc.GetSubstances().LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &pc.GetSubstances());
- pc.m_Config->EnableRenal(eSwitch::Off);
+ pc.m_Config->UseExpandedLungs(expandedLungs ? eSwitch::On : eSwitch::Off);
+ pc.m_Config->UseExpandedKidneys(eSwitch::Off);
pc.m_Config->EnableTissue(eSwitch::Off);
pc.CreateCircuitsAndCompartments();
SEEnvironmentalConditions env(pc.GetLogger());
@@ -169,11 +170,16 @@ namespace pulse { namespace human_adult_whole_body
void EngineTest::MechanicalVentilatorCircuitAndTransportTest(const std::string& sTestDirectory)
{
- MechanicalVentilatorCircuitAndTransportTest(MechanicalVentilatorSolo, sTestDirectory);
+ MechanicalVentilatorCircuitAndTransportTest(MechanicalVentilatorSolo, false, sTestDirectory);
}
void EngineTest::RespiratoryWithMechanicalVentilatorCircuitAndTransportTest(const std::string& sTestDirectory)
{
- MechanicalVentilatorCircuitAndTransportTest(RespiratoryWithMechanicalVentilator, sTestDirectory);
+ MechanicalVentilatorCircuitAndTransportTest(RespiratoryWithMechanicalVentilator, false, sTestDirectory);
+ }
+
+ void EngineTest::RespiratoryExpandedLungsWithMechanicalVentilatorCircuitAndTransportTest(const std::string& sTestDirectory)
+ {
+ MechanicalVentilatorCircuitAndTransportTest(RespiratoryWithMechanicalVentilator, true, sTestDirectory);
}
END_NAMESPACE_EX
diff --git a/src/cpp/engine/human_adult/whole_body/test/NervousTests.cpp b/src/cpp/engine/human_adult/whole_body/test/NervousTests.cpp
index 9fca6316b..6b051dbf7 100644
--- a/src/cpp/engine/human_adult/whole_body/test/NervousTests.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/NervousTests.cpp
@@ -79,7 +79,7 @@ namespace pulse { namespace human_adult_whole_body
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &pc.GetSubstances());
//Renal and Tissue are on
- pc.m_Config->EnableRenal(eSwitch::On);
+ pc.m_Config->UseExpandedKidneys(eSwitch::On);
pc.m_Config->EnableTissue(eSwitch::On);
pc.CreateCircuitsAndCompartments();
diff --git a/src/cpp/engine/human_adult/whole_body/test/RenalCircuit.cpp b/src/cpp/engine/human_adult/whole_body/test/RenalCircuit.cpp
index 4cb625a77..6edd836c2 100644
--- a/src/cpp/engine/human_adult/whole_body/test/RenalCircuit.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/RenalCircuit.cpp
@@ -56,7 +56,7 @@ namespace pulse { namespace human_adult_whole_body
subMgr.LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &subMgr);
- pc.m_Config->EnableRenal(eSwitch::On);
+ pc.m_Config->UseExpandedKidneys(eSwitch::On);
pc.m_Config->EnableTissue(eSwitch::Off);
pc.CreateCircuitsAndCompartments();
// Renal needs these tissue compartments
@@ -189,7 +189,7 @@ namespace pulse { namespace human_adult_whole_body
subMgr.LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &subMgr);
- pc.m_Config->EnableRenal(eSwitch::On);
+ pc.m_Config->UseExpandedKidneys(eSwitch::On);
pc.m_Config->EnableTissue(eSwitch::Off);
pc.CreateCircuitsAndCompartments();
// Renal needs these tissue compartments
@@ -505,7 +505,7 @@ namespace pulse { namespace human_adult_whole_body
subMgr.LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &subMgr);
- pc.m_Config->EnableRenal(eSwitch::On);
+ pc.m_Config->UseExpandedKidneys(eSwitch::On);
pc.m_Config->EnableTissue(eSwitch::Off);
pc.CreateCircuitsAndCompartments();
// Renal needs these tissue compartments
diff --git a/src/cpp/engine/human_adult/whole_body/test/RespiratoryCircuit.cpp b/src/cpp/engine/human_adult/whole_body/test/RespiratoryCircuit.cpp
index aaa4390df..b1a4cb3f8 100644
--- a/src/cpp/engine/human_adult/whole_body/test/RespiratoryCircuit.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/RespiratoryCircuit.cpp
@@ -32,7 +32,7 @@
namespace pulse { namespace human_adult_whole_body
{
- void EngineTest::RespiratoryCircuitAndTransportTest(RespiratoryConfiguration config, const std::string & sTestDirectory)
+ void EngineTest::RespiratoryCircuitAndTransportTest(RespiratoryConfiguration config, bool expandedLungs, const std::string & sTestDirectory)
{
TimingProfile tmr;
tmr.Start("Test");
@@ -53,10 +53,9 @@ namespace pulse { namespace human_adult_whole_body
pc.GetSubstances().LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &pc.GetSubstances());
- pc.m_Config->EnableRenal(eSwitch::Off);
pc.m_Config->EnableTissue(eSwitch::Off);
- //Aaron - Make a seperate test that turns this on
- pc.m_Config->UseExpandedRespiratory(eSwitch::On);
+ pc.m_Config->UseExpandedKidneys(eSwitch::Off);
+ pc.m_Config->UseExpandedLungs(expandedLungs ? eSwitch::On : eSwitch::Off);
pc.CreateCircuitsAndCompartments();
pc.GetSubstances().InitializeGasCompartments();
SEEnvironmentalConditions& env = pc.GetEnvironment().GetEnvironmentalConditions();
@@ -196,17 +195,32 @@ namespace pulse { namespace human_adult_whole_body
void EngineTest::RespiratoryCircuitAndTransportTest(const std::string & sTestDirectory)
{
- RespiratoryCircuitAndTransportTest(RespiratorySolo, sTestDirectory);
+ RespiratoryCircuitAndTransportTest(RespiratorySolo, false, sTestDirectory);
+ }
+
+ void EngineTest::RespiratoryExpandedLungsCircuitAndTransportTest(const std::string& sTestDirectory)
+ {
+ RespiratoryCircuitAndTransportTest(RespiratorySolo, true, sTestDirectory);
}
void EngineTest::RespiratoryWithInhalerCircuitAndTransportTest(const std::string & sTestDirectory)
{
- RespiratoryCircuitAndTransportTest(RespiratoryWithInhaler, sTestDirectory);
+ RespiratoryCircuitAndTransportTest(RespiratoryWithInhaler, false, sTestDirectory);
+ }
+
+ void EngineTest::RespiratoryExpandedLungsWithInhalerCircuitAndTransportTest(const std::string& sTestDirectory)
+ {
+ RespiratoryCircuitAndTransportTest(RespiratoryWithInhaler, true, sTestDirectory);
}
void EngineTest::RespiratoryWithMechanicalVentilationCircuitAndTransportTest(const std::string & sTestDirectory)
{
- RespiratoryCircuitAndTransportTest(RespiratoryWithMechanicalVentilation, sTestDirectory);
+ RespiratoryCircuitAndTransportTest(RespiratoryWithMechanicalVentilation, false, sTestDirectory);
+ }
+
+ void EngineTest::RespiratoryExpandedLungsWithMechanicalVentilationCircuitAndTransportTest(const std::string& sTestDirectory)
+ {
+ RespiratoryCircuitAndTransportTest(RespiratoryWithMechanicalVentilation, true, sTestDirectory);
}
void EngineTest::RespiratoryDriverTest(const std::string & sTestDirectory)
@@ -222,7 +236,7 @@ namespace pulse { namespace human_adult_whole_body
pc.GetSubstances().LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &pc.GetSubstances());
- pc.m_Config->EnableRenal(eSwitch::Off);
+ pc.m_Config->UseExpandedKidneys(eSwitch::Off);
pc.m_Config->EnableTissue(eSwitch::Off);
pc.CreateCircuitsAndCompartments();
SEEnvironmentalConditions env(pc.GetLogger());
diff --git a/src/cpp/engine/human_adult/whole_body/test/SolverTests.cpp b/src/cpp/engine/human_adult/whole_body/test/SolverTests.cpp
index c855486d6..c60ec0512 100644
--- a/src/cpp/engine/human_adult/whole_body/test/SolverTests.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/SolverTests.cpp
@@ -56,7 +56,7 @@ namespace pulse { namespace human_adult_whole_body
pc.GetSubstances().LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &pc.GetSubstances());
- pc.m_Config->EnableRenal(eSwitch::On);
+ pc.m_Config->UseExpandedKidneys(eSwitch::On);
pc.m_Config->EnableTissue(eSwitch::On);
pc.CreateCircuitsAndCompartments();
diff --git a/src/cpp/engine/human_adult/whole_body/test/TemperatureCircuit.cpp b/src/cpp/engine/human_adult/whole_body/test/TemperatureCircuit.cpp
index f307473a5..41b6400b6 100644
--- a/src/cpp/engine/human_adult/whole_body/test/TemperatureCircuit.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/TemperatureCircuit.cpp
@@ -50,7 +50,7 @@ namespace pulse { namespace human_adult_whole_body
pc.GetSubstances().LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &pc.GetSubstances());
- pc.m_Config->EnableRenal(eSwitch::Off);
+ pc.m_Config->UseExpandedKidneys(eSwitch::Off);
pc.m_Config->EnableTissue(eSwitch::Off);
pc.CreateCircuitsAndCompartments();
@@ -130,7 +130,7 @@ namespace pulse { namespace human_adult_whole_body
pc.GetSubstances().LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &pc.GetSubstances());
- pc.m_Config->EnableRenal(eSwitch::Off);
+ pc.m_Config->UseExpandedKidneys(eSwitch::Off);
pc.m_Config->EnableTissue(eSwitch::Off);
pc.CreateCircuitsAndCompartments();
@@ -233,7 +233,7 @@ namespace pulse { namespace human_adult_whole_body
pc.GetSubstances().LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &pc.GetSubstances());
- pc.m_Config->EnableRenal(eSwitch::Off);
+ pc.m_Config->UseExpandedKidneys(eSwitch::Off);
pc.m_Config->EnableTissue(eSwitch::Off);
pc.CreateCircuitsAndCompartments();
@@ -335,7 +335,7 @@ namespace pulse { namespace human_adult_whole_body
pc.GetSubstances().LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &pc.GetSubstances());
- pc.m_Config->EnableRenal(eSwitch::Off);
+ pc.m_Config->UseExpandedKidneys(eSwitch::Off);
pc.m_Config->EnableTissue(eSwitch::Off);
pc.CreateCircuitsAndCompartments();
@@ -465,7 +465,7 @@ namespace pulse { namespace human_adult_whole_body
pc.GetSubstances().LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &pc.GetSubstances());
- pc.m_Config->EnableRenal(eSwitch::Off);
+ pc.m_Config->UseExpandedKidneys(eSwitch::Off);
pc.m_Config->EnableTissue(eSwitch::Off);
pc.CreateCircuitsAndCompartments();
@@ -625,7 +625,7 @@ namespace pulse { namespace human_adult_whole_body
pc.GetSubstances().LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &pc.GetSubstances());
- pc.m_Config->EnableRenal(eSwitch::Off);
+ pc.m_Config->UseExpandedKidneys(eSwitch::Off);
pc.m_Config->EnableTissue(eSwitch::Off);
pc.CreateCircuitsAndCompartments();
@@ -725,7 +725,7 @@ namespace pulse { namespace human_adult_whole_body
pc.GetSubstances().LoadSubstanceDirectory("./");
pc.GetSaturationCalculator().Setup();
pc.m_Config->Initialize("./", &pc.GetSubstances());
- pc.m_Config->EnableRenal(eSwitch::Off);
+ pc.m_Config->UseExpandedKidneys(eSwitch::Off);
pc.m_Config->EnableTissue(eSwitch::Off);
pc.CreateCircuitsAndCompartments();
EnvironmentModel& env = (EnvironmentModel&)pc.GetEnvironment();
diff --git a/src/cpp/engine/io/protobuf/PBConfiguration.cpp b/src/cpp/engine/io/protobuf/PBConfiguration.cpp
index 78801e179..d4f2e5fd9 100644
--- a/src/cpp/engine/io/protobuf/PBConfiguration.cpp
+++ b/src/cpp/engine/io/protobuf/PBConfiguration.cpp
@@ -78,6 +78,8 @@ namespace pulse
if (src.has_cardiovascularconfiguration())
{
const PULSE_BIND::ConfigurationData_CardiovascularConfigurationData& config = src.cardiovascularconfiguration();
+ if (config.computationallifeexpansion() != CDM_BIND::eSwitch::NullSwitch)
+ dst.UseComputationalLifeExpansion((eSwitch)config.computationallifeexpansion());
if (config.has_leftheartelastancemaximum())
PBProperty::Load(config.leftheartelastancemaximum(), dst.GetLeftHeartElastanceMaximum());
if (config.has_leftheartelastanceminimum())
@@ -90,8 +92,6 @@ namespace pulse
PBProperty::Load(config.rightheartelastanceminimum(), dst.GetRightHeartElastanceMinimum());
if (config.has_standardpulmonarycapillarycoverage())
PBProperty::Load(config.standardpulmonarycapillarycoverage(), dst.GetStandardPulmonaryCapillaryCoverage());
- if (config.useexpandedvasculature() != CDM_BIND::eSwitch::NullSwitch)
- dst.UseExpandedVasculature((eSwitch)config.useexpandedvasculature());
if (config.tunecardiovascularcircuit() != CDM_BIND::eSwitch::NullSwitch)
dst.TuneCardiovascularCircuit((eSwitch)config.tunecardiovascularcircuit());
dst.CardiovascularTuningFile(config.cardiovasculartuningfile());
@@ -288,8 +288,8 @@ namespace pulse
{
const PULSE_BIND::ConfigurationData_RenalConfigurationData& config = src.renalconfiguration();
- if (config.enablerenal() != CDM_BIND::eSwitch::NullSwitch)
- dst.EnableRenal((eSwitch)config.enablerenal());
+ if (config.expandedkidneys() != CDM_BIND::eSwitch::NullSwitch)
+ dst.UseExpandedKidneys((eSwitch)config.expandedkidneys());
if (config.has_plasmasodiumconcentrationsetpoint())
PBProperty::Load(config.plasmasodiumconcentrationsetpoint(), dst.GetPlasmaSodiumConcentrationSetPoint());
@@ -327,6 +327,8 @@ namespace pulse
if (src.has_respiratoryconfiguration())
{
const PULSE_BIND::ConfigurationData_RespiratoryConfigurationData& config = src.respiratoryconfiguration();
+ if (config.expandedlungs() != CDM_BIND::eSwitch::NullSwitch)
+ dst.UseExpandedLungs((eSwitch)config.expandedlungs());
if (config.has_centralcontrollerco2pressuresetpoint())
PBProperty::Load(config.centralcontrollerco2pressuresetpoint(), dst.GetCentralControllerCO2PressureSetPoint());
if (config.has_centralventilatorycontrollergain())
@@ -345,8 +347,6 @@ namespace pulse
PBProperty::Load(config.ventilationtidalvolumeintercept(), dst.GetVentilationTidalVolumeIntercept());
if (config.has_ventilatoryocclusionpressure())
PBProperty::Load(config.ventilatoryocclusionpressure(), dst.GetVentilatoryOcclusionPressure());
- if (config.useexpandedrespiratory() != CDM_BIND::eSwitch::NullSwitch)
- dst.UseExpandedRespiratory((eSwitch)config.useexpandedrespiratory());
}
// Tissue
@@ -402,6 +402,7 @@ namespace pulse
// Cardiovascular
PULSE_BIND::ConfigurationData_CardiovascularConfigurationData* cv = dst.mutable_cardiovascularconfiguration();
+ cv->set_computationallifeexpansion((CDM_BIND::eSwitch)src.m_UseComputationalLifeExpansion);
if (src.HasLeftHeartElastanceMaximum())
cv->set_allocated_leftheartelastancemaximum(PBProperty::Unload(*src.m_LeftHeartElastanceMaximum));
if (src.HasLeftHeartElastanceMinimum())
@@ -414,7 +415,6 @@ namespace pulse
cv->set_allocated_rightheartelastanceminimum(PBProperty::Unload(*src.m_RightHeartElastanceMinimum));
if (src.HasStandardPulmonaryCapillaryCoverage())
cv->set_allocated_standardpulmonarycapillarycoverage(PBProperty::Unload(*src.m_StandardPulmonaryCapillaryCoverage));
- cv->set_useexpandedvasculature((CDM_BIND::eSwitch)src.m_UseExpandedVasculature);
cv->set_tunecardiovascularcircuit((CDM_BIND::eSwitch)src.m_TuneCardiovascularCircuit);
cv->set_cardiovasculartuningfile(src.m_CardiovascularTuningFile);
@@ -554,7 +554,7 @@ namespace pulse
// Renal
PULSE_BIND::ConfigurationData_RenalConfigurationData* renal = dst.mutable_renalconfiguration();
- renal->set_enablerenal((CDM_BIND::eSwitch)src.m_RenalEnabled);
+ renal->set_expandedkidneys((CDM_BIND::eSwitch)src.m_UseExpandedKidneys);
if (src.HasPlasmaSodiumConcentrationSetPoint())
renal->set_allocated_plasmasodiumconcentrationsetpoint(PBProperty::Unload(*src.m_PlasmaSodiumConcentrationSetPoint));
if (src.HasPeritubularPotassiumConcentrationSetPoint())
@@ -585,6 +585,7 @@ namespace pulse
// Respiratory
PULSE_BIND::ConfigurationData_RespiratoryConfigurationData* resp = dst.mutable_respiratoryconfiguration();
+ resp->set_expandedlungs((CDM_BIND::eSwitch)src.m_UseExpandedLungs);
if (src.HasCentralControllerCO2PressureSetPoint())
resp->set_allocated_centralcontrollerco2pressuresetpoint(PBProperty::Unload(*src.m_CentralControllerCO2PressureSetPoint));
if (src.HasCentralVentilatoryControllerGain())
@@ -603,7 +604,6 @@ namespace pulse
resp->set_allocated_ventilationtidalvolumeintercept(PBProperty::Unload(*src.m_VentilationTidalVolumeIntercept));
if (src.HasVentilatoryOcclusionPressure())
resp->set_allocated_ventilatoryocclusionpressure(PBProperty::Unload(*src.m_VentilatoryOcclusionPressure));
- resp->set_useexpandedrespiratory((CDM_BIND::eSwitch)src.m_UseExpandedRespiratory);
// Tissue
PULSE_BIND::ConfigurationData_TissueConfigurationData* tissue = dst.mutable_tissueconfiguration();
diff --git a/src/cpp/howto/HowTo-ExpandedRespiratory.cpp b/src/cpp/howto/HowTo-ExpandedRespiratory.cpp
index eab890f29..a3a5badd8 100644
--- a/src/cpp/howto/HowTo-ExpandedRespiratory.cpp
+++ b/src/cpp/howto/HowTo-ExpandedRespiratory.cpp
@@ -55,7 +55,7 @@ void HowToExpandedRespiratory()
pe->GetLogger()->SetLogFile("./test_results/howto/HowTo_ExpandedRespiratory.log");
PulseConfiguration config;
- config.UseExpandedRespiratory(eSwitch::On);
+ config.UseExpandedLungs(eSwitch::On);
pe->SetConfigurationOverride(&config);
pe->GetEngineTracker()->GetDataRequestManager().CreatePhysiologyDataRequest("HeartRate", FrequencyUnit::Per_min);
@@ -152,7 +152,7 @@ void HowToExpandedRespiratoryAnalysisInitialState()
pe->GetLogger()->SetLogFile("./test_results/howto/HowTo_ExpandedRespiratoryAnalysisInitialState.log");
PulseConfiguration config;
- config.UseExpandedRespiratory(eSwitch::On);
+ config.UseExpandedLungs(eSwitch::On);
pe->SetConfigurationOverride(&config);
SEPatientConfiguration pc;
@@ -207,7 +207,7 @@ void HowToExpandedRespiratoryAnalysisOriginal()
pe->GetLogger()->SetLogFile("./test_results/howto/HowTo_ExpandedRespiratoryAnalysisOriginal.log");
PulseConfiguration config;
- config.UseExpandedRespiratory(eSwitch::On);
+ config.UseExpandedLungs(eSwitch::On);
pe->SetConfigurationOverride(&config);
// Create an ofstream object for output file
@@ -594,7 +594,7 @@ void HowToExpandedRespiratoryAnalysis()
pe->GetLogger()->AddForward(&myLogger);
PulseConfiguration config;
- config.UseExpandedRespiratory(eSwitch::On);
+ config.UseExpandedLungs(eSwitch::On);
pe->SetConfigurationOverride(&config);
// Load the state to start fresh each run
diff --git a/src/cpp/howto/HowTo-ExpandedVasculature.cpp b/src/cpp/howto/HowTo-ExpandedVasculature.cpp
index 5a5c36b81..5dfa7bdf9 100644
--- a/src/cpp/howto/HowTo-ExpandedVasculature.cpp
+++ b/src/cpp/howto/HowTo-ExpandedVasculature.cpp
@@ -18,7 +18,7 @@ void HowToExpandedVasculature()
pc.SetPatientFile("./patients/StandardMale.json");
PulseConfiguration config;
- config.UseExpandedVasculature(eSwitch::On);
+ config.UseComputationalLifeExpansion(eSwitch::On);
pe->SetConfigurationOverride(&config);
pe->InitializeEngine(pc);
diff --git a/src/cpp/test_driver/main.cpp b/src/cpp/test_driver/main.cpp
index f2cda2e58..39f67c7d7 100644
--- a/src/cpp/test_driver/main.cpp
+++ b/src/cpp/test_driver/main.cpp
@@ -51,8 +51,11 @@ int main(int argc, char* argv[])
//hawbTest.CardiovascularAndRenalCircuitAndTransportTest(hawbDir);
//hawbTest.CardiovascularAndTissueCircuitAndTransportTest(hawbDir);
//hawbTest.CardiovascularAndCerebrospinalFluidCircuitAndTransportTest(hawbDir);
+ hawbTest.CardiovascularAndExpandedLungsCircuitAndTransportTest(hawbDir);
//hawbTest.FullCardiovascularCircuitAndTransportTest(hawbDir);
+ hawbTest.FullExpandedLungsCardiovascularCircuitAndTransportTest(hawbDir);
//hawbTest.CardiovascularBloodGasesTest(hawbDir);
+ hawbTest.CardiovascularExpandedLungsBloodGasesTest(hawbDir);
//hawbTest.TuneCardiovascularCircuitTest(hawbDir);
//hawbTest.RenalCircuitAndTransportTest(hawbDir);
@@ -61,14 +64,19 @@ int main(int argc, char* argv[])
//hawbTest.RenalSecretionTest(hawbDir);
//hawbTest.RenalUrinateTest(hawbDir);
- //hawbTest.RespiratoryCircuitAndTransportTest(hawbDir);
//hawbTest.RespiratoryDriverTest(hawbDir);
+ //hawbTest.RespiratoryCircuitAndTransportTest(hawbDir);
+ hawbTest.RespiratoryExpandedLungsCircuitAndTransportTest(hawbDir);
//hawbTest.AnesthesiaMachineCircuitAndTransportTest(hawbDir);
//hawbTest.RespiratoryWithAnesthesiaMachineCircuitAndTransportTest(hawbDir);
+ hawbTest.RespiratoryExpandedLungsWithAnesthesiaMachineCircuitAndTransportTest(hawbDir);
//hawbTest.MechanicalVentilatorCircuitAndTransportTest(hawbDir);
//hawbTest.RespiratoryWithMechanicalVentilatorCircuitAndTransportTest(hawbDir);
+ hawbTest.RespiratoryExpandedLungsWithMechanicalVentilatorCircuitAndTransportTest(hawbDir);
//hawbTest.RespiratoryWithInhalerCircuitAndTransportTest(hawbDir);
+ hawbTest.RespiratoryExpandedLungsWithInhalerCircuitAndTransportTest(hawbDir);
//hawbTest.RespiratoryWithMechanicalVentilatorCircuitAndTransportTest(hawbDir);
+ hawbTest.RespiratoryExpandedLungsWithMechanicalVentilatorCircuitAndTransportTest(hawbDir);
//hawbTest.InternalTemperatureVariableBMRCircuitTest(hawbDir);
//hawbTest.InternalTemperatureVariableSkinCircuitTest(hawbDir);
diff --git a/src/csharp/pulse/cdm/patient/actions/PrimaryBlastLungInjury.cs b/src/csharp/pulse/cdm/patient/actions/PrimaryBlastLungInjury.cs
deleted file mode 100644
index 7c248dcf8..000000000
--- a/src/csharp/pulse/cdm/patient/actions/PrimaryBlastLungInjury.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Distributed under the Apache License, Version 2.0.
- See accompanying NOTICE file for details.*/
-
-using System.Collections;
-using System.Collections.Generic;
-
-namespace Pulse.CDM
-{
- using LungImpairmentMap = Dictionary;
- public class SEPrimaryBlastLungInjury : SEPatientAction
- {
- protected LungImpairmentMap severities;
-
- public SEPrimaryBlastLungInjury()
- {
- severities = new LungImpairmentMap();
- }
-
- public override void Clear()
- {
- base.Clear();
- foreach (var itr in severities)
- itr.Value.Invalidate();
- }
-
- public override bool IsValid()
- {
- return HasSeverity();
- }
-
- public bool HasSeverity()
- {
- foreach (var itr in severities)
- if (itr.Value.IsValid())
- return true;
- return false;
- }
- public bool HasSeverity(eLungCompartment c)
- {
- if (!severities.ContainsKey(c))
- return false;
- return severities[c].IsValid();
- }
- public SEScalar0To1 GetSeverity(eLungCompartment c)
- {
- SEScalar0To1 s = severities[c];
- if(s == null)
- {
- s = new SEScalar0To1();
- severities[c] = s;
- }
- return s;
- }
- public LungImpairmentMap GetSeverities()
- {
- return severities;
- }
- }
-}
diff --git a/src/schema/pulse/engine/bind/Configuration.proto b/src/schema/pulse/engine/bind/Configuration.proto
index 00ef44fa2..917953200 100644
--- a/src/schema/pulse/engine/bind/Configuration.proto
+++ b/src/schema/pulse/engine/bind/Configuration.proto
@@ -24,28 +24,28 @@ message ConfigurationData
message CardiovascularConfigurationData
{
- pulse.cdm.bind.ScalarPressurePerVolumeData LeftHeartElastanceMaximum = 1;
- pulse.cdm.bind.ScalarPressurePerVolumeData LeftHeartElastanceMinimum = 2;
- pulse.cdm.bind.Scalar0To1Data MinimumBloodVolumeFraction = 3;
- pulse.cdm.bind.ScalarPressurePerVolumeData RightHeartElastanceMaximum = 4;
- pulse.cdm.bind.ScalarPressurePerVolumeData RightHeartElastanceMinimum = 5;
- pulse.cdm.bind.ScalarData StandardPulmonaryCapillaryCoverage = 6;
- pulse.cdm.bind.eSwitch UseExpandedVasculature = 7;
+ pulse.cdm.bind.eSwitch ComputationalLifeExpansion = 1;
+ pulse.cdm.bind.ScalarPressurePerVolumeData LeftHeartElastanceMaximum = 2;
+ pulse.cdm.bind.ScalarPressurePerVolumeData LeftHeartElastanceMinimum = 3;
+ pulse.cdm.bind.Scalar0To1Data MinimumBloodVolumeFraction = 4;
+ pulse.cdm.bind.ScalarPressurePerVolumeData RightHeartElastanceMaximum = 5;
+ pulse.cdm.bind.ScalarPressurePerVolumeData RightHeartElastanceMinimum = 6;
+ pulse.cdm.bind.ScalarData StandardPulmonaryCapillaryCoverage = 7;
pulse.cdm.bind.eSwitch TuneCardiovascularCircuit = 8;
string CardiovascularTuningFile = 9;
}
message CircuitConfigurationData
{
- pulse.cdm.bind.ScalarPressureTimePerVolumeData CardiovascularOpenResistance = 1;;
- pulse.cdm.bind.ScalarElectricResistanceData DefaultClosedElectricResistance = 2;;
- pulse.cdm.bind.ScalarElectricResistanceData DefaultOpenElectricResistance = 3;;
- pulse.cdm.bind.ScalarPressureTimePerVolumeData DefaultClosedFlowResistance = 4;;
- pulse.cdm.bind.ScalarPressureTimePerVolumeData DefaultOpenFlowResistance = 5;;
- pulse.cdm.bind.ScalarHeatResistanceData DefaultClosedHeatResistance = 6;;
- pulse.cdm.bind.ScalarHeatResistanceData DefaultOpenHeatResistance = 7;;
- pulse.cdm.bind.ScalarPressureTimePerVolumeData MachineClosedResistance = 8;;
- pulse.cdm.bind.ScalarPressureTimePerVolumeData MachineOpenResistance = 9;;
+ pulse.cdm.bind.ScalarPressureTimePerVolumeData CardiovascularOpenResistance = 1;
+ pulse.cdm.bind.ScalarElectricResistanceData DefaultClosedElectricResistance = 2;
+ pulse.cdm.bind.ScalarElectricResistanceData DefaultOpenElectricResistance = 3;
+ pulse.cdm.bind.ScalarPressureTimePerVolumeData DefaultClosedFlowResistance = 4;
+ pulse.cdm.bind.ScalarPressureTimePerVolumeData DefaultOpenFlowResistance = 5;
+ pulse.cdm.bind.ScalarHeatResistanceData DefaultClosedHeatResistance = 6;
+ pulse.cdm.bind.ScalarHeatResistanceData DefaultOpenHeatResistance = 7;
+ pulse.cdm.bind.ScalarPressureTimePerVolumeData MachineClosedResistance = 8;
+ pulse.cdm.bind.ScalarPressureTimePerVolumeData MachineOpenResistance = 9;
pulse.cdm.bind.ScalarPressureTimePerVolumeData RespiratoryClosedResistance = 10;
pulse.cdm.bind.ScalarPressureTimePerVolumeData RespiratoryOpenResistance = 11;
}
@@ -140,7 +140,7 @@ message ConfigurationData
message RenalConfigurationData
{
- pulse.cdm.bind.eSwitch EnableRenal = 1;
+ pulse.cdm.bind.eSwitch ExpandedKidneys = 1;
pulse.cdm.bind.ScalarMassPerVolumeData PlasmaSodiumConcentrationSetPoint = 2;
pulse.cdm.bind.ScalarMassPerVolumeData PeritubularPotassiumConcentrationSetPoint = 3;
@@ -163,16 +163,16 @@ message ConfigurationData
message RespiratoryConfigurationData
{
- pulse.cdm.bind.ScalarPressureData CentralControllerCO2PressureSetPoint = 1;
- pulse.cdm.bind.ScalarData CentralVentilatoryControllerGain = 2;
- pulse.cdm.bind.ScalarVolumeData MinimumAllowableTidalVolume = 3;
- pulse.cdm.bind.ScalarTimeData MinimumAllowableInspiratoryAndExpiratoryPeriod = 4;
- pulse.cdm.bind.ScalarPressureData PeripheralControllerCO2PressureSetPoint = 5;
- pulse.cdm.bind.ScalarData PeripheralVentilatoryControllerGain = 6;
- pulse.cdm.bind.ScalarVolumePerTimeData PulmonaryVentilationRateMaximum = 7;
- pulse.cdm.bind.ScalarVolumeData VentilationTidalVolumeIntercept = 8;
- pulse.cdm.bind.ScalarPressureData VentilatoryOcclusionPressure = 9;
- pulse.cdm.bind.eSwitch UseExpandedRespiratory = 10;
+ pulse.cdm.bind.eSwitch ExpandedLungs = 1;
+ pulse.cdm.bind.ScalarPressureData CentralControllerCO2PressureSetPoint = 2;
+ pulse.cdm.bind.ScalarData CentralVentilatoryControllerGain = 3;
+ pulse.cdm.bind.ScalarVolumeData MinimumAllowableTidalVolume = 4;
+ pulse.cdm.bind.ScalarTimeData MinimumAllowableInspiratoryAndExpiratoryPeriod = 5;
+ pulse.cdm.bind.ScalarPressureData PeripheralControllerCO2PressureSetPoint = 6;
+ pulse.cdm.bind.ScalarData PeripheralVentilatoryControllerGain = 7;
+ pulse.cdm.bind.ScalarVolumePerTimeData PulmonaryVentilationRateMaximum = 8;
+ pulse.cdm.bind.ScalarVolumeData VentilationTidalVolumeIntercept = 9;
+ pulse.cdm.bind.ScalarPressureData VentilatoryOcclusionPressure = 10;
}
message TissueConfigurationData
@@ -189,22 +189,20 @@ message ConfigurationData
pulse.cdm.bind.TimedStabilizationData TimedStabilization = 4;/**<< @brief */
pulse.cdm.bind.DynamicStabilizationData DynamicStabilization = 5;/**<< @brief */
}
- pulse.cdm.bind.eSwitch WritePatientBaselineFile = 6;/**<< @brief Inform execution to write out patient object after all patient values are computed. */
- string PatientBaselineFilePath = 7;/**<< @brief Optional filepath of the original patient file to write, if not it will be written to ./stable */
- BloodChemistryConfigurationData BloodChemistryConfiguration = 8;
- CardiovascularConfigurationData CardiovascularConfiguration = 9;
- CircuitConfigurationData CircuitConfiguration = 10;
- ConstantsConfigurationData ConstantsConfiguration = 11;
- DrugsConfigurationData DrugsConfiguration = 12;
- ECGConfigurationData ECGConfiguration = 13;
- EnergyConfigurationData EnergyConfiguration = 14;
- EnvironmentConfigurationData EnvironmentConfiguration = 15;
- GastrointestinalConfigurationData GastrointestinalConfiguration = 16;
- NervousConfigurationData NervousConfiguration = 17;
- RenalConfigurationData RenalConfiguration = 18;
- RespiratoryConfigurationData RespiratoryConfiguration = 19;
- TissueConfigurationData TissueConfiguration = 20;
- map Modifiers = 21;
- map Overrides = 22;
+ BloodChemistryConfigurationData BloodChemistryConfiguration = 6;
+ CardiovascularConfigurationData CardiovascularConfiguration = 7;
+ CircuitConfigurationData CircuitConfiguration = 8;
+ ConstantsConfigurationData ConstantsConfiguration = 9;
+ DrugsConfigurationData DrugsConfiguration = 10;
+ ECGConfigurationData ECGConfiguration = 11;
+ EnergyConfigurationData EnergyConfiguration = 12;
+ EnvironmentConfigurationData EnvironmentConfiguration = 13;
+ GastrointestinalConfigurationData GastrointestinalConfiguration = 14;
+ NervousConfigurationData NervousConfiguration = 15;
+ RenalConfigurationData RenalConfiguration = 16;
+ RespiratoryConfigurationData RespiratoryConfiguration = 17;
+ TissueConfigurationData TissueConfiguration = 18;
+ map Modifiers = 19;
+ map Overrides = 20;
}
\ No newline at end of file
--
GitLab
From f396a04666cdb36fc51f25d268ee8c2c12306ae4 Mon Sep 17 00:00:00 2001
From: Aaron Bray
Date: Wed, 4 Dec 2024 21:48:33 -0500
Subject: [PATCH 19/35] Convert 2 scenarios to run as ExpandedLungs with new
data requests
---
.../scenarios/ExpandedLungsDataRequests.json | 114 ++++++++++++
.../HeterogeneousARDSExacerbation.json | 172 ++++++++---------
.../patient/PrimaryBlastLungInjury.json | 173 +++++++++---------
.../common/controller/CompartmentManager.cpp | 9 +
4 files changed, 302 insertions(+), 166 deletions(-)
create mode 100644 data/human/adult/scenarios/ExpandedLungsDataRequests.json
diff --git a/data/human/adult/scenarios/ExpandedLungsDataRequests.json b/data/human/adult/scenarios/ExpandedLungsDataRequests.json
new file mode 100644
index 000000000..898bb5986
--- /dev/null
+++ b/data/human/adult/scenarios/ExpandedLungsDataRequests.json
@@ -0,0 +1,114 @@
+{
+ "DataRequest":
+ [
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightSuperiorLobeApicalAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightSuperiorLobeApicalAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightSuperiorLobeApicalAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightSuperiorLobeApicalPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightSuperiorLobeApicalPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightSuperiorLobePosteriorAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightSuperiorLobePosteriorAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightSuperiorLobePosteriorAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightSuperiorLobePosteriorPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightSuperiorLobePosteriorPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightSuperiorLobeAnteriorAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightSuperiorLobeAnteriorAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightSuperiorLobeAnteriorAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightSuperiorLobeAnteriorPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightSuperiorLobeAnteriorPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightMiddleLobeLateralAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightMiddleLobeLateralAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightMiddleLobeLateralAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightMiddleLobeLateralPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightMiddleLobeLateralPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightMiddleLobeMedialAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightMiddleLobeMedialAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightMiddleLobeMedialAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightMiddleLobeMedialPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightMiddleLobeMedialPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightInferiorLobeSuperiorAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightInferiorLobeSuperiorAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightInferiorLobeSuperiorAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightInferiorLobeSuperiorPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightInferiorLobeSuperiorPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightInferiorLobeMedialBasalAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightInferiorLobeMedialBasalAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightInferiorLobeMedialBasalAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightInferiorLobeMedialBasalPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightInferiorLobeMedialBasalPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightInferiorLobeAnteriorBasalAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightInferiorLobeAnteriorBasalAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightInferiorLobeAnteriorBasalAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightInferiorLobeAnteriorBasalPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightInferiorLobeAnteriorBasalPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightInferiorLobeLateralBasalAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightInferiorLobeLateralBasalAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightInferiorLobeLateralBasalAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightInferiorLobeLateralBasalPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightInferiorLobeLateralBasalPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightInferiorLobePosteriorBasalAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightInferiorLobePosteriorBasalAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "RightInferiorLobePosteriorBasalAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightInferiorLobePosteriorBasalPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "RightInferiorLobePosteriorBasalPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftInferiorLobePosteriorBasalAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftInferiorLobePosteriorBasalAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftInferiorLobePosteriorBasalAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "LeftInferiorLobePosteriorBasalPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "LeftInferiorLobePosteriorBasalPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftInferiorLobeLateralBasalAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftInferiorLobeLateralBasalAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftInferiorLobeLateralBasalAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "LeftInferiorLobeLateralBasalPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "LeftInferiorLobeLateralBasalPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftInferiorLobeAnteromedialBasalAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftInferiorLobeAnteromedialBasalAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftInferiorLobeAnteromedialBasalAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftInferiorLobeSuperiorAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftInferiorLobeSuperiorAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftInferiorLobeSuperiorAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "LeftInferiorLobeSuperiorPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "LeftInferiorLobeSuperiorPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftSuperiorLobeInferiorLingulaAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftSuperiorLobeInferiorLingulaAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftSuperiorLobeInferiorLingulaAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftSuperiorLobeSuperiorLingulaAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftSuperiorLobeSuperiorLingulaAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftSuperiorLobeSuperiorLingulaAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftSuperiorLobeAnteriorAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftSuperiorLobeAnteriorAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftSuperiorLobeAnteriorAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "LeftSuperiorLobeAnteriorPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "LeftSuperiorLobeAnteriorPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftSuperiorLobeApicoposteriorAlveoli", "PropertyName": "Volume", "Unit": "mL" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftSuperiorLobeApicoposteriorAlveoli", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "GasCompartment", "CompartmentName": "LeftSuperiorLobeApicoposteriorAlveoli", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "LeftSuperiorLobeApicoposteriorPulmonaryCapillaries", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+ { "DecimalFormat": { "Precision": 1 }, "Category": "LiquidCompartment", "CompartmentName": "LeftSuperiorLobeApicoposteriorPulmonaryCapillaries", "SubstanceName": "CarbonDioxide", "PropertyName": "PartialPressure", "Unit": "mmHg" },
+
+
+ ]
+}
diff --git a/data/human/adult/scenarios/patient/HeterogeneousARDSExacerbation.json b/data/human/adult/scenarios/patient/HeterogeneousARDSExacerbation.json
index b11d78ca8..254c4dad3 100644
--- a/data/human/adult/scenarios/patient/HeterogeneousARDSExacerbation.json
+++ b/data/human/adult/scenarios/patient/HeterogeneousARDSExacerbation.json
@@ -1,85 +1,91 @@
{
- "Name": "HeterogeneousARDSExacerbation",
- "Description": "Increasing severities of ARDS.",
- "PatientConfiguration": { "PatientFile": "StandardMale.json" },
- "DataRequestFile": [
- "StandardDataRequests.json",
- "RespiratoryDataRequests.json"
- ],
- "AnyAction":
- [
- { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 2.0, "Unit": "min" }}}},
- { "PatientAction": { "AcuteRespiratoryDistressSyndromeExacerbation":
- {
- "Severity": [
- { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}}]
- }}
- },
- { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 5.0, "Unit": "min" }}}},
- { "PatientAction": { "AcuteRespiratoryDistressSyndromeExacerbation":
- {
- "Severity": [
- { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}}]
- }}
- },
- { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 5.0, "Unit": "min" }}}},
- { "PatientAction": { "AcuteRespiratoryDistressSyndromeExacerbation":
- {
- "Severity": [
- { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}}]
- }}
- },
- { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 5.0, "Unit": "min" }}}}
- ]
+ "Configuration": {
+ "RespiratoryConfiguration" : { "ExpandedLungs" : "On" }
+ },
+ "Scenario": {
+ "Name": "HeterogeneousARDSExacerbation",
+ "Description": "Increasing severities of ARDS.",
+ "PatientConfiguration": { "PatientFile": "StandardMale.json" },
+ "DataRequestFile": [
+ "StandardDataRequests.json",
+ "RespiratoryDataRequests.json",
+ "ExpandedLungsDataRequests.json"
+ ],
+ "AnyAction":
+ [
+ { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 2.0, "Unit": "min" }}}},
+ { "PatientAction": { "AcuteRespiratoryDistressSyndromeExacerbation":
+ {
+ "Severity": [
+ { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}}]
+ }}
+ },
+ { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 5.0, "Unit": "min" }}}},
+ { "PatientAction": { "AcuteRespiratoryDistressSyndromeExacerbation":
+ {
+ "Severity": [
+ { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}}]
+ }}
+ },
+ { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 5.0, "Unit": "min" }}}},
+ { "PatientAction": { "AcuteRespiratoryDistressSyndromeExacerbation":
+ {
+ "Severity": [
+ { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}}]
+ }}
+ },
+ { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 5.0, "Unit": "min" }}}}
+ ]
+ }
}
diff --git a/data/human/adult/scenarios/patient/PrimaryBlastLungInjury.json b/data/human/adult/scenarios/patient/PrimaryBlastLungInjury.json
index 3283e87af..8ad86048d 100644
--- a/data/human/adult/scenarios/patient/PrimaryBlastLungInjury.json
+++ b/data/human/adult/scenarios/patient/PrimaryBlastLungInjury.json
@@ -1,85 +1,92 @@
{
- "Name": "PrimaryBlastLungInjury",
- "Description": "Increasing severities of ARDS.",
- "PatientConfiguration": { "PatientFile": "StandardMale.json" },
- "DataRequestFile": [
- "StandardDataRequests.json",
- "RespiratoryDataRequests.json"
- ],
- "AnyAction":
- [
- { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 2.0, "Unit": "min" }}}},
- { "PatientAction": { "PrimaryBlastLungInjury":
- {
- "Severity": [
- { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
- { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}}]
- }}
- },
- { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 5.0, "Unit": "min" }}}},
- { "PatientAction": { "PrimaryBlastLungInjury":
- {
- "Severity": [
- { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
- { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}}]
- }}
- },
- { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 5.0, "Unit": "min" }}}},
- { "PatientAction": { "PrimaryBlastLungInjury":
- {
- "Severity": [
- { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
- { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}}]
- }}
- },
- { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 10.0, "Unit": "min" }}}}
- ]
+ "Configuration": {
+ "RespiratoryConfiguration" : { "ExpandedLungs" : "On" }
+ },
+ "Scenario":
+ {
+ "Name": "PrimaryBlastLungInjury",
+ "Description": "Increasing severities of ARDS.",
+ "PatientConfiguration": { "PatientFile": "StandardMale.json" },
+ "DataRequestFile": [
+ "StandardDataRequests.json",
+ "RespiratoryDataRequests.json",
+ "ExpandedLungsDataRequests.json"
+ ],
+ "AnyAction":
+ [
+ { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 2.0, "Unit": "min" }}}},
+ { "PatientAction": { "PrimaryBlastLungInjury":
+ {
+ "Severity": [
+ { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}},
+ { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.3 }}}]
+ }}
+ },
+ { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 5.0, "Unit": "min" }}}},
+ { "PatientAction": { "PrimaryBlastLungInjury":
+ {
+ "Severity": [
+ { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}},
+ { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.6 }}}]
+ }}
+ },
+ { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 5.0, "Unit": "min" }}}},
+ { "PatientAction": { "PrimaryBlastLungInjury":
+ {
+ "Severity": [
+ { "Compartment": "RightSuperiorLobeApical", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightSuperiorLobePosterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightMiddleLobeLateral", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightMiddleLobeMedial", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobeMedialBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobeAnteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "RightInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftInferiorLobePosteriorBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftInferiorLobeLateralBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftInferiorLobeAnteromedialBasal", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftInferiorLobeSuperior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftSuperiorLobeInferiorLingula", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftSuperiorLobeSuperiorLingula", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftSuperiorLobeAnterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}},
+ { "Compartment": "LeftSuperiorLobeApicoposterior", "Severity": { "Scalar0To1": { "Value": 0.9 }}}]
+ }}
+ },
+ { "AdvanceTime": { "Time": { "ScalarTime": { "Value": 10.0, "Unit": "min" }}}}
+ ]
+ }
}
diff --git a/src/cpp/engine/common/controller/CompartmentManager.cpp b/src/cpp/engine/common/controller/CompartmentManager.cpp
index 51edeea28..2ca903f69 100644
--- a/src/cpp/engine/common/controller/CompartmentManager.cpp
+++ b/src/cpp/engine/common/controller/CompartmentManager.cpp
@@ -167,6 +167,9 @@ for (const std::string& name : pulse::bin##Compartment::GetValues()) \
if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::On)
{
SORT_CMPTS(ExpandedLungsPulmonary, Gas);
+ // Add Expanded Leafs to Pulmonary Leafs
+ for (SEGasCompartment* leaf : m_ExpandedLungsPulmonaryLeafCompartments)
+ m_PulmonaryLeafCompartments.push_back(leaf);
}
SORT_CMPTS(Temperature, Thermal);
if (m_data.GetConfiguration().IsTissueEnabled())
@@ -187,10 +190,16 @@ for (const std::string& name : pulse::bin##Compartment::GetValues()) \
if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::On)
{
SORT_CMPTS(ExpandedLungsVascular, Liquid);
+ // Add Expanded Leafs to Vascular Leafs
+ for (SELiquidCompartment* leaf : m_ExpandedLungsVascularLeafCompartments)
+ m_VascularLeafCompartments.push_back(leaf);
}
else if (m_data.GetConfiguration().UseComputationalLifeExpansion() == eSwitch::On)
{
SORT_CMPTS(ComputationalLifeVascular, Liquid);
+ // Add Expanded Leafs to Vascular Leafs
+ for (SELiquidCompartment* leaf : m_ComputationalLifeVascularLeafCompartments)
+ m_VascularLeafCompartments.push_back(leaf);
}
// Equipment
--
GitLab
From 9c84061fb4ff99657f7e776e00a5458646ece22e Mon Sep 17 00:00:00 2001
From: Aaron Bray
Date: Thu, 5 Dec 2024 11:05:37 -0500
Subject: [PATCH 20/35] Rebase results running expanded lungs
---
.../scenarios/patient/HeterogeneousARDSExacerbation.zip.sha512 | 1 +
.../scenarios/patient/PrimaryBlastLungInjury.zip.sha512 | 1 +
2 files changed, 2 insertions(+)
create mode 100644 data/human/adult/baselines/scenarios/patient/HeterogeneousARDSExacerbation.zip.sha512
create mode 100644 data/human/adult/baselines/scenarios/patient/PrimaryBlastLungInjury.zip.sha512
diff --git a/data/human/adult/baselines/scenarios/patient/HeterogeneousARDSExacerbation.zip.sha512 b/data/human/adult/baselines/scenarios/patient/HeterogeneousARDSExacerbation.zip.sha512
new file mode 100644
index 000000000..422c4831e
--- /dev/null
+++ b/data/human/adult/baselines/scenarios/patient/HeterogeneousARDSExacerbation.zip.sha512
@@ -0,0 +1 @@
+6c0bc42e7b22835b18fa2f50e9799951598c01c6ca43b2098ffaa956f62a281707cfaf4592e7f2fe72c674459a8d59e5400dcfa6a2680e7f89875200b0a6ad50
\ No newline at end of file
diff --git a/data/human/adult/baselines/scenarios/patient/PrimaryBlastLungInjury.zip.sha512 b/data/human/adult/baselines/scenarios/patient/PrimaryBlastLungInjury.zip.sha512
new file mode 100644
index 000000000..aa99653b3
--- /dev/null
+++ b/data/human/adult/baselines/scenarios/patient/PrimaryBlastLungInjury.zip.sha512
@@ -0,0 +1 @@
+01047395fcf30e7c8b39891a61fd711b243df76dbb436426e878ddc51a23cd92003b83fae45360c6778b00927d033a789bc90775cb31e1bfbced451937af3db8
\ No newline at end of file
--
GitLab
From e57c9167d0d33c5c4f4b3df57d7a168c2a55d6ac Mon Sep 17 00:00:00 2001
From: Aaron Bray
Date: Thu, 5 Dec 2024 11:48:01 -0500
Subject: [PATCH 21/35] =?UTF-8?q?=EF=BB=BFFix=20system=20validation=20for?=
=?UTF-8?q?=20expanded=20lungs=20Currently=20still=20only=20validating=20t?=
=?UTF-8?q?he=20standard=20engine=20configuration?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../dataset/timeseries_dataset_reader.py | 52 ++++++++++++-------
1 file changed, 34 insertions(+), 18 deletions(-)
diff --git a/src/python/pulse/pipelines/dataset/timeseries_dataset_reader.py b/src/python/pulse/pipelines/dataset/timeseries_dataset_reader.py
index 3c65ad67f..2fa600f54 100644
--- a/src/python/pulse/pipelines/dataset/timeseries_dataset_reader.py
+++ b/src/python/pulse/pipelines/dataset/timeseries_dataset_reader.py
@@ -7,6 +7,7 @@ import logging
import numbers
import tempfile
import numpy as np
+from enum import Enum
from pathlib import Path
from pycel import ExcelCompiler
from dataclasses import dataclass
@@ -29,6 +30,12 @@ from pulse.pipelines.dataset.utils import generate_data_request
_pulse_logger = logging.getLogger('pulse')
+class EngineConfig(Enum):
+ Standard = 1
+ ExpandedLungs = 3
+ ComputationalLife = 2
+
+
def gen_patient_targets(
log_file: Path
) -> SEPatientTimeSeriesValidation:
@@ -154,6 +161,7 @@ def gen_patient_targets(
xls_file = Path(get_validation_dir() + "/SystemValidationData.xlsx")
generate_validation_targets(
xls_file=xls_file,
+ config=EngineConfig.Standard,
patient_validation=patient_validation
)
return patient_validation
@@ -184,6 +192,7 @@ def extract_patient(patient_file: Path) -> SEPatient:
def generate_validation_targets(
xls_file: Path,
+ config: EngineConfig,
patient_validation: SEPatientTimeSeriesValidation
) -> bool:
"""
@@ -211,7 +220,11 @@ def generate_validation_targets(
tmp_xls_path = Path('./tmp.xlsx')
# xlsx sheets to skip when generating targets and requests
- ignore_sheets = ["Patient", "CardiovascularExtended"]
+ ignore_sheets = ["Patient"]
+ if config == EngineConfig.Standard:
+ ignore_sheets.append("CardiovascularExpandedLungs")
+ ignore_sheets.append("RespiratoryExpandedLungs")
+ ignore_sheets.append("CardiovascularComputationalLife")
try:
# Update patient sheet so formulas can be re-evaluated with correct parameters
@@ -464,23 +477,26 @@ def generate_sheet_targets(
vts = targets[vtb.tgt_dest]
# Evaluate cells if needed
- ref_val = vtb.ref_cell
- if isinstance(ref_val, str) and ref_val.startswith("="):
- if ref_val.startswith("="):
- cell_loc = f"{system}!{get_column_letter(VTB_REF_CELL + 1)}{row_num + 2}"
- ref_val = evaluator.evaluate(cell_loc)
- unit_str = vtb.units.strip()
- if unit_str.startswith("="):
- cell_loc = f"{system}!{get_column_letter(VTB_UNITS + 1)}{row_num + 2}"
- unit_str = evaluator.evaluate(cell_loc)
- ref_str = vtb.references
- if ref_str.startswith("="):
- cell_loc = f"{system}!{get_column_letter(VTB_REFS + 1)}{row_num + 2}"
- ref_str = evaluator.evaluate(cell_loc)
- algo = vtb.algorithm
- if algo.startswith("="):
- cell_loc = f"{system}!{get_column_letter(VTB_ALGO + 1)}{row_num + 2}"
- algo = evaluator.evaluate(cell_loc)
+ try:
+ ref_val = vtb.ref_cell
+ if isinstance(ref_val, str) and ref_val.startswith("="):
+ if ref_val.startswith("="):
+ cell_loc = f"{system}!{get_column_letter(VTB_REF_CELL + 1)}{row_num + 2}"
+ ref_val = evaluator.evaluate(cell_loc)
+ unit_str = vtb.units.strip()
+ if unit_str.startswith("="):
+ cell_loc = f"{system}!{get_column_letter(VTB_UNITS + 1)}{row_num + 2}"
+ unit_str = evaluator.evaluate(cell_loc)
+ ref_str = vtb.references
+ if ref_str.startswith("="):
+ cell_loc = f"{system}!{get_column_letter(VTB_REFS + 1)}{row_num + 2}"
+ ref_str = evaluator.evaluate(cell_loc)
+ algo = vtb.algorithm
+ if algo.startswith("="):
+ cell_loc = f"{system}!{get_column_letter(VTB_ALGO + 1)}{row_num + 2}"
+ algo = evaluator.evaluate(cell_loc)
+ except:
+ _pulse_logger.fatal(f"Cannot evaluate: {cell_loc}")
tgt = SETimeSeriesValidationTarget()
tgt.set_reference(ref_str)
--
GitLab
From 99775556f91bec138de49e1eb827f104decb2a01 Mon Sep 17 00:00:00 2001
From: Aaron Bray
Date: Tue, 10 Dec 2024 23:13:19 -0500
Subject: [PATCH 22/35] =?UTF-8?q?=EF=BB=BFClean=20up=20V&V=20reporting=20a?=
=?UTF-8?q?=20bit=20-=20List=20missing=20reports=20instead=20of=20crashing?=
=?UTF-8?q?s=20-=20Sync=20code=20to=20new=20filenames=20-=20Add=20details?=
=?UTF-8?q?=20sorting=20to=20patient=20validation=20tables?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/python/pulse/pipelines/full_html_report.py | 7 +++++--
src/python/pulse/pipelines/patient_validation.py | 11 ++++++++---
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/src/python/pulse/pipelines/full_html_report.py b/src/python/pulse/pipelines/full_html_report.py
index f4d07df5c..0961f4aab 100644
--- a/src/python/pulse/pipelines/full_html_report.py
+++ b/src/python/pulse/pipelines/full_html_report.py
@@ -18,8 +18,8 @@ if __name__ == "__main__":
reports.append(Path("./test_results/EngineUnitTests.html"))
reports.append(Path("./test_results/ScenarioVerification.html"))
reports.append(Path("./test_results/DrugPKVerification.html"))
- reports.append(Path("./test_results/PatientVerification.html"))
- reports.append(Path("./test_results/PatientValidation.html"))
+ reports.append(Path("./test_results/PatientSystemVerification.html"))
+ reports.append(Path("./test_results/PatientSystemValidation.html"))
html_file = "./test_results/PulseTestReport.html"
_pulse_logger.info(f"Writing {html_file}")
@@ -28,6 +28,9 @@ if __name__ == "__main__":
f.write("\n")
for report in reports:
f.writelines("
\n")
+ if not report.exists():
+ f.write(f"Missing Report: {str(report)}")
+ continue
with open(report) as file:
while line := file.readline():
line = line.replace("", "")
diff --git a/src/python/pulse/pipelines/patient_validation.py b/src/python/pulse/pipelines/patient_validation.py
index a70e6bec8..a838eaa6e 100644
--- a/src/python/pulse/pipelines/patient_validation.py
+++ b/src/python/pulse/pipelines/patient_validation.py
@@ -273,13 +273,16 @@ def main():
[idx for idx, tgt in enumerate(all_validation) if tgt.get_patient().get_name() == "StandardFemale"][0]))
all_validation.insert(0, all_validation.pop(
[idx for idx, tgt in enumerate(all_validation) if tgt.get_patient().get_name() == "StandardMale"][0]))
- html_file = "./test_results/PatientValidation.html"
+ html_file = "./test_results/PatientSystemValidation.html"
_pulse_logger.info(f"Writing {html_file}")
f = open(html_file, "w")
f.write("\n")
- f.writelines("\n")
- f.write("Patient Validation
\n")
+ f.write("\n")
+ f.write("\n")
+ f.write("Patient Validation
\n")
for validation in all_validation:
+ f.write("\n")
+ f.write(f"{validation.get_patient().get_name()}
\n")
f.write("
\n")
for type, tgts in validation.get_targets().items():
f.writelines("
\n")
@@ -305,6 +308,8 @@ def main():
f.write(f"| {format_float(tgt.get_error_value())}% | ")
f.write("" + tgt.get_notes() + " | \n")
f.write("
\n")
+ f.write("
\n") # End patient details
+ f.write("\n") # End header details
f.write("\n")
f.write("\n")
f.close()
--
GitLab
From 706ab4dc5d9f1d60ab20b2c8b524aeff4aa2cee3 Mon Sep 17 00:00:00 2001
From: Aaron Bray
Date: Sat, 4 Jan 2025 14:08:04 -0500
Subject: [PATCH 23/35] =?UTF-8?q?=EF=BB=BFClean=20up=20exposed=20model=20p?=
=?UTF-8?q?arameter=20in=20respiratory?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../system/physiology/RespiratoryModel.cpp | 57 ++++++++++---------
1 file changed, 30 insertions(+), 27 deletions(-)
diff --git a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
index 75475cfec..1e19f3cb7 100644
--- a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
+++ b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
@@ -978,40 +978,43 @@ namespace pulse
}
//Update system data
CalculateVitalSigns();
-
- if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::Off)
- {
- //TODO: Make this work for the expanded model
- ComputeExposedModelParameters();
- }
+ ComputeExposedModelParameters();
}
void RespiratoryModel::ComputeExposedModelParameters()
{
- double leftChestWallCompliance_L_Per_cmH2O = m_LeftPleuralToRespiratoryMuscle->GetNextCompliance(VolumePerPressureUnit::L_Per_cmH2O);
- double rightChestWallCompliance_L_Per_cmH2O = m_RightPleuralToRespiratoryMuscle->GetNextCompliance(VolumePerPressureUnit::L_Per_cmH2O);
- double leftLungCompliance_L_Per_cmH2O = m_LeftAlveoliToLeftPleuralConnection->GetNextCompliance(VolumePerPressureUnit::L_Per_cmH2O);
- double rightLungCompliance_L_Per_cmH2O = m_RightAlveoliToRightPleuralConnection->GetNextCompliance(VolumePerPressureUnit::L_Per_cmH2O);
- double leftSideCompliance_L_Per_cmH2O = 1.0 / (1.0 / leftChestWallCompliance_L_Per_cmH2O + 1.0 / leftLungCompliance_L_Per_cmH2O);
- double rightSideCompliance_L_Per_cmH2O = 1.0 / (1.0 / rightChestWallCompliance_L_Per_cmH2O + 1.0 / rightLungCompliance_L_Per_cmH2O);
- double totalCompliance_L_Per_cmH2O = leftSideCompliance_L_Per_cmH2O + rightSideCompliance_L_Per_cmH2O;
- GetTotalRespiratoryModelCompliance().SetValue(totalCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
-
- double airwayResistance_cmH2O_s_Per_L = m_PharynxToCarina->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- double leftBronchiResistance_cmH2O_s_Per_L = m_CarinaToLeftAnatomicDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- double rightBronchiResistance_cmH2O_s_Per_L = m_CarinaToRightAnatomicDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- double leftAlveoliDuctResistance_cmH2O_s_Per_L = m_LeftAnatomicDeadSpaceToLeftAlveolarDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- double rightAlveoliDuctResistance_cmH2O_s_Per_L = m_RightAnatomicDeadSpaceToRightAlveolarDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- double leftSideResistance_cmH2O_s_Per_L = leftBronchiResistance_cmH2O_s_Per_L + leftAlveoliDuctResistance_cmH2O_s_Per_L;
- double rightSideResistance_cmH2O_s_Per_L = rightBronchiResistance_cmH2O_s_Per_L + rightAlveoliDuctResistance_cmH2O_s_Per_L;
- double totalDownstreamResistance_cmH2O_s_Per_L = 1.0 / (1.0 / leftSideResistance_cmH2O_s_Per_L + 1.0 / rightSideResistance_cmH2O_s_Per_L);
- double totalResistance_cmH2O_s_Per_L = airwayResistance_cmH2O_s_Per_L + totalDownstreamResistance_cmH2O_s_Per_L;
- if (m_PharynxToCarina->GetFlow(VolumePerTimeUnit::L_Per_s) > 0.0)
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::Off)
{
- GetTotalRespiratoryModelInspiratoryResistance().SetValue(totalResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ double leftChestWallCompliance_L_Per_cmH2O = m_LeftPleuralToRespiratoryMuscle->GetNextCompliance(VolumePerPressureUnit::L_Per_cmH2O);
+ double rightChestWallCompliance_L_Per_cmH2O = m_RightPleuralToRespiratoryMuscle->GetNextCompliance(VolumePerPressureUnit::L_Per_cmH2O);
+ double leftLungCompliance_L_Per_cmH2O = m_LeftAlveoliToLeftPleuralConnection->GetNextCompliance(VolumePerPressureUnit::L_Per_cmH2O);
+ double rightLungCompliance_L_Per_cmH2O = m_RightAlveoliToRightPleuralConnection->GetNextCompliance(VolumePerPressureUnit::L_Per_cmH2O);
+ double leftSideCompliance_L_Per_cmH2O = 1.0 / (1.0 / leftChestWallCompliance_L_Per_cmH2O + 1.0 / leftLungCompliance_L_Per_cmH2O);
+ double rightSideCompliance_L_Per_cmH2O = 1.0 / (1.0 / rightChestWallCompliance_L_Per_cmH2O + 1.0 / rightLungCompliance_L_Per_cmH2O);
+ double totalCompliance_L_Per_cmH2O = leftSideCompliance_L_Per_cmH2O + rightSideCompliance_L_Per_cmH2O;
+ GetTotalRespiratoryModelCompliance().SetValue(totalCompliance_L_Per_cmH2O, VolumePerPressureUnit::L_Per_cmH2O);
+
+ double airwayResistance_cmH2O_s_Per_L = m_PharynxToCarina->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ double leftBronchiResistance_cmH2O_s_Per_L = m_CarinaToLeftAnatomicDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ double rightBronchiResistance_cmH2O_s_Per_L = m_CarinaToRightAnatomicDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ double leftAlveoliDuctResistance_cmH2O_s_Per_L = m_LeftAnatomicDeadSpaceToLeftAlveolarDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ double rightAlveoliDuctResistance_cmH2O_s_Per_L = m_RightAnatomicDeadSpaceToRightAlveolarDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ double leftSideResistance_cmH2O_s_Per_L = leftBronchiResistance_cmH2O_s_Per_L + leftAlveoliDuctResistance_cmH2O_s_Per_L;
+ double rightSideResistance_cmH2O_s_Per_L = rightBronchiResistance_cmH2O_s_Per_L + rightAlveoliDuctResistance_cmH2O_s_Per_L;
+ double totalDownstreamResistance_cmH2O_s_Per_L = 1.0 / (1.0 / leftSideResistance_cmH2O_s_Per_L + 1.0 / rightSideResistance_cmH2O_s_Per_L);
+ double totalResistance_cmH2O_s_Per_L = airwayResistance_cmH2O_s_Per_L + totalDownstreamResistance_cmH2O_s_Per_L;
+ if (m_PharynxToCarina->GetFlow(VolumePerTimeUnit::L_Per_s) > 0.0)
+ {
+ GetTotalRespiratoryModelInspiratoryResistance().SetValue(totalResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ }
+ else
+ {
+ GetTotalRespiratoryModelExpiratoryResistance().SetValue(totalResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ }
}
else
{
- GetTotalRespiratoryModelExpiratoryResistance().SetValue(totalResistance_cmH2O_s_Per_L, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ // TODO Compute TotalRespiratoryModelCompliance on the expanded lungs
+ // TODO Compute TotalRespiratoryModelResistance on the expanded lungs
}
}
--
GitLab
From 566ebddccf450f3d2610a665a85d40b729bf0956 Mon Sep 17 00:00:00 2001
From: JeffWebb6
Date: Mon, 20 Jan 2025 08:43:07 -0500
Subject: [PATCH 24/35] Update Python for expanded respiratory to expanded lung
change.
---
src/python/pulse/engine/PulseConfiguration.py | 16 +++++++---------
src/python/pulse/engine/io/PulseConfiguration.py | 5 ++---
.../pulse/howto/HowTo_ExpandedRespiratory.py | 2 +-
3 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/src/python/pulse/engine/PulseConfiguration.py b/src/python/pulse/engine/PulseConfiguration.py
index 5450bdf83..d5cdc70b3 100644
--- a/src/python/pulse/engine/PulseConfiguration.py
+++ b/src/python/pulse/engine/PulseConfiguration.py
@@ -7,19 +7,17 @@ from pulse.cdm.scalars import SEScalarTime
class PulseConfiguration:
__slots__ = ["_time_step", "_allow_dynamic_timestep",
- "_use_expanded_respiratory"]
+ "_use_expanded_lungs"]
def __init__(self):
self._allow_dynamic_timestep = eSwitch.NullSwitch
self._time_step = None
-
- self._use_expanded_respiratory = eSwitch.NullSwitch
+ self._use_expanded_lungs = eSwitch.NullSwitch
def clear(self):
self._allow_dynamic_timestep = eSwitch.NullSwitch
if self._time_step is not None: self._time_step.invalidate()
-
- self._use_expanded_respiratory = eSwitch.NullSwitch
+ self._use_expanded_lungs = eSwitch.NullSwitch
def set_allow_dynamic_timestep(self, s: eSwitch):
self._allow_dynamic_timestep = s
@@ -33,10 +31,10 @@ class PulseConfiguration:
self._time_step = SEScalarTime()
return self._time_step
- def set_expanded_respiratory(self, s: eSwitch):
- self._use_expanded_respiratory = s
- def use_expanded_respiratory(self):
- return self._use_expanded_respiratory
+ def set_expanded_lungs(self, s: eSwitch):
+ self._use_expanded_lungs = s
+ def use_expanded_lungs(self):
+ return self._use_expanded_lungs
diff --git a/src/python/pulse/engine/io/PulseConfiguration.py b/src/python/pulse/engine/io/PulseConfiguration.py
index 2df22dbd7..35c365cc2 100644
--- a/src/python/pulse/engine/io/PulseConfiguration.py
+++ b/src/python/pulse/engine/io/PulseConfiguration.py
@@ -38,9 +38,8 @@ def serialize_pulse_configuration_to_bind(src: PulseConfiguration, dst: Configur
dst.AllowDynamicTimeStep = src.allow_dynamic_timestep().value
if src.has_time_step():
serialize_scalar_time_to_bind(src.get_time_step(), dst.TimeStep)
-
- if src.use_expanded_respiratory() is not eSwitch.NullSwitch:
- dst.RespiratoryConfiguration.UseExpandedRespiratory = src.use_expanded_respiratory().value
+ if src.use_expanded_lungs() is not eSwitch.NullSwitch:
+ dst.RespiratoryConfigurationData.UseExpandedLungs = src.use_expanded_lungs().value
def serialize_pulse_configuration_from_bind(src: ConfigurationData, dst: PulseConfiguration):
diff --git a/src/python/pulse/howto/HowTo_ExpandedRespiratory.py b/src/python/pulse/howto/HowTo_ExpandedRespiratory.py
index eee65ad35..25648e6ab 100644
--- a/src/python/pulse/howto/HowTo_ExpandedRespiratory.py
+++ b/src/python/pulse/howto/HowTo_ExpandedRespiratory.py
@@ -21,7 +21,7 @@ def HowTo_ExpandedRespiratory():
pulse.log_to_console(True)
cfg = PulseConfiguration()
- cfg.set_expanded_respiratory(eSwitch.On)
+ cfg.set_expanded_lungs(eSwitch.On)
pulse.set_configuration_override(cfg)
data_requests = [
--
GitLab
From 900acfc30d18417e803a717cbeb21ad3c2a927f0 Mon Sep 17 00:00:00 2001
From: JeffWebb6
Date: Wed, 7 May 2025 21:20:58 -0400
Subject: [PATCH 25/35] Fix expanded lung brounchus resistance copy-paste
error. It doesn't seem to have any significant effect on the results.
---
src/cpp/engine/common/controller/SetupExpandedLungs.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cpp/engine/common/controller/SetupExpandedLungs.cpp b/src/cpp/engine/common/controller/SetupExpandedLungs.cpp
index 1746e8908..bd8b207a5 100644
--- a/src/cpp/engine/common/controller/SetupExpandedLungs.cpp
+++ b/src/cpp/engine/common/controller/SetupExpandedLungs.cpp
@@ -481,7 +481,7 @@ namespace pulse
SEFluidCircuitPath& LeftSuperiorLobeAnteriorAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftSuperiorLobeAnteriorAlveoli, LeftPleuralConnection, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeAnteriorAlveoliToLeftPleuralConnection);
SEFluidCircuitPath& LeftSuperiorLobeApicoposteriorAlveoliToLeftPleuralConnection = cRespiratory.CreatePath(LeftSuperiorLobeApicoposteriorAlveoli, LeftPleuralConnection, pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeApicoposteriorAlveoliToLeftPleuralConnection);
- double CarinaToRightMainBronchusResistance_cmH2O_s_Per_L = 1.125;
+ double CarinaToRightMainBronchusResistance_cmH2O_s_Per_L = 0.231;
double RightMainBronchusToRightIntermediateBronchusResistance_cmH2O_s_Per_L = 0.150;
double RightMainBronchusToRightSuperiorLobarBronchusResistance_cmH2O_s_Per_L = 0.387;
double RightIntermediateBronchusToRightMiddleLobarBronchusResistance_cmH2O_s_Per_L = 0.877;
--
GitLab
From b6bb7e4a5738c2cfb33ac492294a75d470e7aa19 Mon Sep 17 00:00:00 2001
From: Aaron Bray
Date: Thu, 21 Aug 2025 11:23:25 -0400
Subject: [PATCH 26/35] Fix merge issues
---
.../system/physiology/RespiratoryModel.cpp | 89 ++-----------------
1 file changed, 7 insertions(+), 82 deletions(-)
diff --git a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
index 1e19f3cb7..aad442d2f 100644
--- a/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
+++ b/src/cpp/engine/common/system/physiology/RespiratoryModel.cpp
@@ -555,10 +555,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobeApicalAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightSuperiorApicoposteriorBronchusToRightSuperiorLobeApicalBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobeApicalAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeApicalShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeApicalPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobeApicalAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightSuperiorLobeApicalPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightSuperiorLobePosterior] =
{
@@ -567,10 +563,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobePosteriorAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightSuperiorApicoposteriorBronchusToRightSuperiorLobePosteriorBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobePosteriorAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobePosteriorShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobePosteriorPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobePosteriorAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightSuperiorLobePosteriorPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightSuperiorLobeAnterior] =
{
@@ -579,10 +571,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightSuperiorLobeAnteriorAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobarBronchusToRightSuperiorLobeAnteriorBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightSuperiorLobeAnteriorAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeAnteriorShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightSuperiorLobeAnteriorPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightSuperiorLobeAnteriorAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightSuperiorLobeAnteriorPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightMiddleLobeLateral] =
{
@@ -591,10 +579,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightMiddleLobeLateralAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightMiddleLobarBronchusToRightMiddleLobeLateralBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightMiddleLobeLateralAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeLateralShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeLateralPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightMiddleLobeLateralAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightMiddleLobeLateralPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightMiddleLobeMedial] =
{
@@ -603,10 +587,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightMiddleLobeMedialAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightMiddleLobarBronchusToRightMiddleLobeMedialBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightMiddleLobeMedialAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeMedialShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightMiddleLobeMedialPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightMiddleLobeMedialAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightMiddleLobeMedialPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightInferiorLobeSuperior] =
{
@@ -615,10 +595,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeSuperiorAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus1ToRightInferiorLobeSuperiorBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeSuperiorAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeSuperiorShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeSuperiorPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeSuperiorAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightInferiorLobeSuperiorPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightInferiorLobeMedialBasal] =
{
@@ -627,10 +603,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeMedialBasalAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus2ToRightInferiorLobeMedialBasalBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeMedialBasalAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeMedialBasalShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeMedialBasalPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeMedialBasalAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightInferiorLobeMedialBasalPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightInferiorLobeAnteriorBasal] =
{
@@ -639,10 +611,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeAnteriorBasalAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus3ToRightInferiorLobeAnteriorBasalBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeAnteriorBasalAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeAnteriorBasalShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeAnteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeAnteriorBasalAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightInferiorLobeAnteriorBasalPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightInferiorLobeLateralBasal] =
{
@@ -651,10 +619,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobeLateralBasalAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus4ToRightInferiorLobeLateralBasalBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobeLateralBasalAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeLateralBasalShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobeLateralBasalPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobeLateralBasalAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightInferiorLobeLateralBasalPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::RightInferiorLobePosteriorBasal] =
{
@@ -663,10 +627,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::RightInferiorLobePosteriorBasalAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobarBronchus4ToRightInferiorLobePosteriorBasalBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::RightInferiorLobePosteriorBasalAlveoliToRightPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobePosteriorBasalShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::RightInferiorLobePosteriorBasalPulmonaryCapillariesToRightPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::RightInferiorLobePosteriorBasalAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::RightInferiorLobePosteriorBasalPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::LeftInferiorLobePosteriorBasal] =
{
@@ -675,10 +635,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobePosteriorBasalAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobarBronchus3ToLeftInferiorLobeLateralBasalBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobePosteriorBasalAlveoliToLeftPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobePosteriorBasalShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobePosteriorBasalPulmonaryCapillariesToLeftPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobePosteriorBasalAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftInferiorLobePosteriorBasalPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::LeftInferiorLobeLateralBasal] =
{
@@ -687,10 +643,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeLateralBasalAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobarBronchus3ToLeftInferiorLobePosteriorBasalBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobeLateralBasalAlveoliToLeftPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeLateralBasalShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeLateralBasalPulmonaryCapillariesToLeftPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobeLateralBasalAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftInferiorLobeLateralBasalPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::LeftInferiorLobeAnteromedialBasal] =
{
@@ -699,10 +651,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeAnteromedialBasalAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobarBronchus2ToLeftInferiorLobeAnteromedialBasalBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobeAnteromedialBasalAlveoliToLeftPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeAnteromedialBasalShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeAnteromedialBasalPulmonaryCapillariesToLeftPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobeAnteromedialBasalAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftInferiorLobeAnteromedialBasalPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::LeftInferiorLobeSuperior] =
{
@@ -711,10 +659,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftInferiorLobeSuperiorAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobarBronchus1ToLeftInferiorLobeSuperiorBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftInferiorLobeSuperiorAlveoliToLeftPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeSuperiorShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftInferiorLobeSuperiorPulmonaryCapillariesToLeftPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftInferiorLobeSuperiorAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftInferiorLobeSuperiorPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::LeftSuperiorLobeInferiorLingula] =
{
@@ -723,10 +667,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeInferiorLingulaAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftLingularBonchusToLeftSuperiorLobeInferiorLingulaBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeInferiorLingulaAlveoliToLeftPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeInferiorLingulaShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeInferiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeInferiorLingulaAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftSuperiorLobeInferiorLingulaPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::LeftSuperiorLobeSuperiorLingula] =
{
@@ -735,10 +675,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeSuperiorLingulaAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftLingularBonchusToLeftSuperiorLobeSuperiorLingulaBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeSuperiorLingulaAlveoliToLeftPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeSuperiorLingulaShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillariesToLeftPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeSuperiorLingulaAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftSuperiorLobeSuperiorLingulaPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::LeftSuperiorLobeAnterior] =
{
@@ -747,10 +683,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeAnteriorAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeAnteriorBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeAnteriorAlveoliToLeftPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeAnteriorShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeAnteriorPulmonaryCapillariesToLeftPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeAnteriorAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftSuperiorLobeAnteriorPulmonaryCapillaries)
};
m_LungComponents[eLungCompartment::LeftSuperiorLobeApicoposterior] =
{
@@ -759,10 +691,6 @@ namespace pulse
m_RespiratoryCircuit->GetNode(pulse::ExpandedLungsRespiratoryNode::LeftSuperiorLobeApicoposteriorAlveolarDeadSpace),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftSuperiorApicoposteriorBronchusToLeftSuperiorLobeApicoposteriorBronchiole),
m_RespiratoryCircuit->GetPath(pulse::ExpandedLungsRespiratoryPath::LeftSuperiorLobeApicoposteriorAlveoliToLeftPleuralConnection),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeApicoposteriorShunt),
- m_data.GetCircuits().GetCardiovascularCircuit().GetPath(pulse::ExpandedLungsCardiovascularPath::LeftSuperiorLobeApicoposteriorPulmonaryCapillariesToLeftPulmonaryVeins1),
- m_data.GetCompartments().GetGasCompartment(pulse::ExpandedLungsPulmonaryCompartment::LeftSuperiorLobeApicoposteriorAlveoli),
- m_data.GetCompartments().GetLiquidCompartment(pulse::ExpandedLungsVascularCompartment::LeftSuperiorLobeApicoposteriorPulmonaryCapillaries)
};
}
@@ -912,7 +840,7 @@ namespace pulse
UpdateChestWallCompliances();
UpdateAlveolarCompliances();
UpdateVolumes();
- if (m_data.GetConfiguration().UseExpandedRespiratory() == eSwitch::Off)
+ if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::Off)
{
//jbw - Fix
UpdateResistances();
@@ -3667,26 +3595,23 @@ namespace pulse
//--------------------------------------------------------------------------------------------------
void RespiratoryModel::UpdateResistances()
{
+ double tracheaResistance_cmH2O_s_Per_L = 0.0;
double pharynxResistance_cmH2O_s_Per_L = 0.0;
- double tracheaResistance_cmH2O_s_Per_L = m_PharynxToCarina->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- double rightBronchiResistance_cmH2O_s_Per_L = m_CarinaToRightAnatomicDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- double leftBronchiResistance_cmH2O_s_Per_L = m_CarinaToLeftAnatomicDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- double rightAlveoliResistance_cmH2O_s_Per_L = m_RightAnatomicDeadSpaceToRightAlveolarDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- double leftAlveoliResistance_cmH2O_s_Per_L = m_LeftAnatomicDeadSpaceToLeftAlveolarDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
- double esophagusResistance_cmH2O_s_Per_L = m_AirwayToStomach->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
-
double rightBronchiResistance_cmH2O_s_Per_L = 0.0;
double leftBronchiResistance_cmH2O_s_Per_L = 0.0;
double rightAlveoliResistance_cmH2O_s_Per_L = 0.0;
double leftAlveoliResistance_cmH2O_s_Per_L = 0.0;
+ double esophagusResistance_cmH2O_s_Per_L = 0.0;
if (m_data.GetConfiguration().UseExpandedLungs() == eSwitch::Off)
{
//TODO: Make this work for the expanded model
+ tracheaResistance_cmH2O_s_Per_L = m_PharynxToCarina->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
rightBronchiResistance_cmH2O_s_Per_L = m_CarinaToRightAnatomicDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
leftBronchiResistance_cmH2O_s_Per_L = m_CarinaToLeftAnatomicDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
rightAlveoliResistance_cmH2O_s_Per_L = m_RightAnatomicDeadSpaceToRightAlveolarDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
leftAlveoliResistance_cmH2O_s_Per_L = m_LeftAnatomicDeadSpaceToLeftAlveolarDeadSpace->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
+ esophagusResistance_cmH2O_s_Per_L = m_AirwayToStomach->GetNextResistance(PressureTimePerVolumeUnit::cmH2O_s_Per_L);
}
bool inhaling = false;
@@ -5075,7 +5000,7 @@ namespace pulse
{0.9, 0.5}, //Severe
{1.0, 1.0} //Max
};
- double damageScalingFactor = GeneralMath::PiecewiseLinearInterpolator(interpolatorPoints, combinedSeverity) * PBLIMultiplier;
+ damageScalingFactor = GeneralMath::PiecewiseLinearInterpolator(interpolatorPoints, combinedSeverity) * PBLIMultiplier;
interpolatorPoints =
{
@@ -5097,7 +5022,7 @@ namespace pulse
recruitmentScalingFactor = GeneralMath::Damper(recruitmentScalingFactor, m_PreviousShuntScalingFactor[iter], dampenFraction_perSec, m_data.GetTimeStep_s());
m_PreviousShuntScalingFactor[iter] = recruitmentScalingFactor;
- double totalScalingFactor = MIN(recruitmentScalingFactor, damageScalingFactor) * PBLIMultiplier;
+ totalScalingFactor = MIN(recruitmentScalingFactor, damageScalingFactor) * PBLIMultiplier;
//------------------------------------------------------------------------------------------------------
//COPD
--
GitLab
From 185070e8d395c8f14a459babbc3c450ffbffcefc Mon Sep 17 00:00:00 2001
From: Aaron Bray
Date: Fri, 29 Aug 2025 13:55:26 -0400
Subject: [PATCH 27/35] Add circuit/transport unit tests for expanded lungs
base and equipment configurations
---
data/config/EngineUnitTests.config | 18 ++++++--
.../common/controller/CompartmentManager.cpp | 12 ++++--
.../common/controller/SetupExpandedLungs.cpp | 8 ----
.../whole_body/test/AnesthesiaCircuit.cpp | 17 ++++----
.../whole_body/test/CardiovascularCircuit.cpp | 12 +++---
.../whole_body/test/EngineTest.cpp | 17 ++++----
.../human_adult/whole_body/test/EngineTest.h | 43 ++++++++++++-------
.../test/MechanicalVentilatorCircuit.cpp | 17 ++++----
.../whole_body/test/RespiratoryCircuit.cpp | 37 ++++++++--------
src/cpp/test_driver/main.cpp | 22 +++++-----
src/python/pulse/cdm/utils/plotter.py | 3 +-
11 files changed, 116 insertions(+), 90 deletions(-)
diff --git a/data/config/EngineUnitTests.config b/data/config/EngineUnitTests.config
index facc2d262..256a03624 100644
--- a/data/config/EngineUnitTests.config
+++ b/data/config/EngineUnitTests.config
@@ -50,16 +50,26 @@ RespiratoryDriver = EngineUnitTest Results=RespiratoryDriverOutput
AnesthesiaMachineCircuitAndTransport = EngineUnitTest Results=AnesthesiaMachineCircuitOutput,AnesthesiaMachineTransportOutput
RespiratoryWithAnesthesiaMachineCircuitAndTransport = EngineUnitTest Results=RespiratoryAndAnesthesiaMachineCircuitOutput,RespiratoryAndAnesthesiaMachineTransportOutput
+@group Inhaler
+RespiratoryWithInhalerCircuitAndTransport = EngineUnitTest Results=RespiratoryAndInhalerCircuitOutput,RespiratoryAndInhalerTransportOutput,AerosolInhalerTransportOutput
+
@group MechanicalVentilator
MechanicalVentilatorCircuitAndTransport = EngineUnitTest Results=MechanicalVentilatorCircuitOutput,MechanicalVentilatorTransportOutput
RespiratoryWithMechanicalVentilatorCircuitAndTransport = EngineUnitTest Results=RespiratoryAndMechanicalVentilatorCircuitOutput,RespiratoryAndMechanicalVentilatorTransportOutput
-@group Inhaler
-RespiratoryWithInhalerCircuitAndTransport = EngineUnitTest Results=RespiratoryAndInhalerCircuitOutput,RespiratoryAndInhalerTransportOutput,AerosolInhalerTransportOutput
-
@group MechanicalVentilation
RespiratoryWithMechanicalVentilationCircuitAndTransport = EngineUnitTest Results=RespiratoryAndMechanicalVentilationCircuitOutput,RespiratoryAndMechanicalVentilationTransportOutput,AerosolMechanicalVentilationTransportOutput
+@group ExpandedLungs
+ExpandedLungsCardiovascularCircuitAndTransport = EngineUnitTest Results=ExpandedLungsCardiovascularCircuitOutput,ExpandedLungsCardiovascularTransportOutput
+ExpandedLungsFullCardiovascularCircuitAndTransport = EngineUnitTest Results=ExpandedLungsFullCardiovascularCircuitOutput,ExpandedLungsFullCardiovascularTransportOutput
+ExpandedLungsCardiovascularBloodGases = EngineUnitTest Results=ExpandedLungsCardiovascularBloodGasesTestCircuitOutput,ExpandedLungsCardiovascularBloodGasesTestTransportOutput
+ExpandedLungsRespiratoryCircuitAndTransport = EngineUnitTest Results=ExpandedLungsRespiratoryCircuitOutput,ExpandedLungsRespiratoryTransportOutput
+ExpandedLungsRespiratoryWithAnesthesiaMachineCircuitAndTransport = EngineUnitTest Results=ExpandedLungsRespiratoryAndAnesthesiaMachineCircuitOutput,ExpandedLungsRespiratoryAndAnesthesiaMachineTransportOutput
+ExpandedLungsRespiratoryWithInhalerCircuitAndTransport = EngineUnitTest Results=ExpandedLungsRespiratoryAndInhalerCircuitOutput,ExpandedLungsRespiratoryAndInhalerTransportOutput,ExpandedLungsAerosolInhalerTransportOutput
+ExpandedLungsRespiratoryWithMechanicalVentilatorCircuitAndTransport = EngineUnitTest Results=ExpandedLungsRespiratoryAndMechanicalVentilatorCircuitOutput,ExpandedLungsRespiratoryAndMechanicalVentilatorTransportOutput
+ExpandedLungsRespiratoryWithMechanicalVentilationCircuitAndTransport = EngineUnitTest Results=ExpandedLungsRespiratoryAndMechanicalVentilationCircuitOutput,ExpandedLungsRespiratoryAndMechanicalVentilationTransportOutput
+
@group Environment
InternalTemperatureVariableBMRCircuitTest = EngineUnitTest Results=InternalTemperatureVariableBMRCircuitOutput
InternalTemperatureVariableSkinCircuitTest = EngineUnitTest Results=InternalTemperatureVariableSkinCircuitOutput
@@ -69,6 +79,8 @@ CombinedInternalAndEnvironmentVariableBMRandTemperatureCircuitTest = EngineUnitT
CombinedInternalAndEnvironmentSkinTempDropCircuitTest = EngineUnitTest Results=CombinedInternalAndEnvironmentSkinTempDropCircuitOutput
EnvironmentISO7730ComparisonTest = EngineUnitTest Results=EnvironmentISO7730Comparison
+
+
@group AcidBaseBinding
AcidBaseMath = EngineUnitTest
AcidBaseFeedback = EngineUnitTest
diff --git a/src/cpp/engine/common/controller/CompartmentManager.cpp b/src/cpp/engine/common/controller/CompartmentManager.cpp
index 2ca903f69..c8fbcc466 100644
--- a/src/cpp/engine/common/controller/CompartmentManager.cpp
+++ b/src/cpp/engine/common/controller/CompartmentManager.cpp
@@ -345,10 +345,13 @@ for (const std::string& name : pulse::bin##Compartment::GetValues()) \
{
Error("Could not find required Graph " + std::string(pulse::Graph::Cardiovascular));
}
- m_RenalGraph = GetLiquidGraph(pulse::Graph::Renal);
- if (m_RenalGraph == nullptr)
+ if (m_data.GetConfiguration().UseExpandedKidneys() == eSwitch::On)
{
- Error("Could not find required Graph " + std::string(pulse::Graph::Renal));
+ m_RenalGraph = GetLiquidGraph(pulse::Graph::Renal);
+ if (m_RenalGraph == nullptr)
+ {
+ Error("Could not find required Graph " + std::string(pulse::Graph::Renal));
+ }
}
m_RespiratoryGraph = GetGasGraph(pulse::Graph::Respiratory);
if (m_RespiratoryGraph == nullptr)
@@ -454,6 +457,9 @@ for (const std::string& name : pulse::bin##Compartment::GetValues()) \
const std::vector& p = pulse::PulmonaryCompartment::GetValues();
if (std::find(p.begin(), p.end(), cmpt.GetName()) != p.end())
return false;
+ const std::vector& eL = pulse::ExpandedLungsPulmonaryCompartment::GetValues();
+ if (std::find(eL.begin(), eL.end(), cmpt.GetName()) != eL.end())
+ return false;
// Don't add it to aerosol cmpts either
const std::vector& bvm = pulse::BagValveMaskCompartment::GetValues();
if (std::find(bvm.begin(), bvm.end(), cmpt.GetName()) != bvm.end())
diff --git a/src/cpp/engine/common/controller/SetupExpandedLungs.cpp b/src/cpp/engine/common/controller/SetupExpandedLungs.cpp
index bd8b207a5..132534b82 100644
--- a/src/cpp/engine/common/controller/SetupExpandedLungs.cpp
+++ b/src/cpp/engine/common/controller/SetupExpandedLungs.cpp
@@ -1296,14 +1296,6 @@ namespace pulse
liquidLink.MapPath(*gasLink->GetPath());
lAerosol.AddLink(liquidLink);
}
-
- SEGasCompartment* gasCmpt = m_Compartments->GetGasCompartment(pulse::PulmonaryCompartment::Airway);
- SELiquidCompartment& liquidCmpt = m_Compartments->CreateLiquidCompartment(pulse::PulmonaryCompartment::Airway);
- if (gasCmpt->HasNodeMapping())
- {
- for (auto node : gasCmpt->GetNodeMapping().GetNodes())
- liquidCmpt.MapNode(*node);
- }
lAerosol.StateChange();
}
diff --git a/src/cpp/engine/human_adult/whole_body/test/AnesthesiaCircuit.cpp b/src/cpp/engine/human_adult/whole_body/test/AnesthesiaCircuit.cpp
index 0490f8c75..a503a58f4 100644
--- a/src/cpp/engine/human_adult/whole_body/test/AnesthesiaCircuit.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/AnesthesiaCircuit.cpp
@@ -47,10 +47,11 @@ namespace pulse { namespace human_adult_whole_body
DataTrack outTrkGraph;
std::ofstream fileCircuit;
std::ofstream fileGraph;
+ std::string prefix = expandedLungs ? "ExpandedLungs" : "";
Engine pe;
Controller& pc = (Controller&)pe.GetController();
- pc.GetLogger()->SetLogFile(sTestDirectory + "/AnesthesiaMachineCircuitAndTransportTest.log");
+ pc.GetLogger()->SetLogFile(sTestDirectory + "/"+prefix+"AnesthesiaMachineCircuitAndTransportTest.log");
SEPatient patient(pc.GetLogger());
patient.SerializeFromFile("./patients/StandardMale.json");
pc.SetupPatient(patient);
@@ -85,8 +86,8 @@ namespace pulse { namespace human_adult_whole_body
{
amCircuit = &pc.GetCircuits().GetAnesthesiaMachineCircuit();
amGraph = &pc.GetCompartments().GetAnesthesiaMachineGraph();
- sCircuitFileName = "/AnesthesiaMachineCircuitOutput.csv";
- sTransportFileName = "/AnesthesiaMachineTransportOutput.csv";
+ sCircuitFileName = "/"+prefix+"AnesthesiaMachineCircuitOutput.csv";
+ sTransportFileName = "/"+prefix+"AnesthesiaMachineTransportOutput.csv";
//Allow things to flow to ground, since the respiratory circuit isn't here
//This approximates the total respiratory system resistance
@@ -94,14 +95,14 @@ namespace pulse { namespace human_adult_whole_body
AnesthesiaConnectionToEnvironment->GetResistanceBaseline().SetValue(1.5, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
AnesthesiaConnectionToEnvironment->GetNextResistance().SetValue(1.5, PressureTimePerVolumeUnit::cmH2O_s_Per_L);
}
- else if (config == RespiratoryWithAnesthesiaMachine)
+ else if (config == RespiratoryWithAnesthesiaMachine || config == ExpandedLungsRespiratoryWithAnesthesiaMachine)
{
pc.GetSubstances().InitializeGasCompartments();
amCircuit = &pc.GetCircuits().GetRespiratoryAndAnesthesiaMachineCircuit();
amGraph = &pc.GetCompartments().GetRespiratoryAndAnesthesiaMachineGraph();
- sCircuitFileName = "/RespiratoryAndAnesthesiaMachineCircuitOutput.csv";
- sTransportFileName = "/RespiratoryAndAnesthesiaMachineTransportOutput.csv";
+ sCircuitFileName = "/"+prefix+"RespiratoryAndAnesthesiaMachineCircuitOutput.csv";
+ sTransportFileName = "/"+prefix+"RespiratoryAndAnesthesiaMachineTransportOutput.csv";
//Precharge the stomach to prevent negative volume
amCircuit->GetNode(pulse::RespiratoryNode::Stomach)->GetNextPressure().Set(env.GetAtmosphericPressure());
@@ -183,8 +184,8 @@ namespace pulse { namespace human_adult_whole_body
AnesthesiaMachineCircuitAndTransportTest(RespiratoryWithAnesthesiaMachine, false, sTestDirectory);
}
- void EngineTest::RespiratoryExpandedLungsWithAnesthesiaMachineCircuitAndTransportTest(const std::string& sTestDirectory)
+ void EngineTest::ExpandedLungsRespiratoryWithAnesthesiaMachineCircuitAndTransportTest(const std::string& sTestDirectory)
{
- AnesthesiaMachineCircuitAndTransportTest(RespiratoryWithAnesthesiaMachine, true, sTestDirectory);
+ AnesthesiaMachineCircuitAndTransportTest(ExpandedLungsRespiratoryWithAnesthesiaMachine, true, sTestDirectory);
}
END_NAMESPACE_EX
diff --git a/src/cpp/engine/human_adult/whole_body/test/CardiovascularCircuit.cpp b/src/cpp/engine/human_adult/whole_body/test/CardiovascularCircuit.cpp
index 3e320130f..bdd101920 100644
--- a/src/cpp/engine/human_adult/whole_body/test/CardiovascularCircuit.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/CardiovascularCircuit.cpp
@@ -62,9 +62,9 @@ namespace pulse { namespace human_adult_whole_body
CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, false, true, false, false, false, sTestDirectory, "CardiovascularAndCerebrospinalFluid", false);
}
- void EngineTest::CardiovascularAndExpandedLungsCircuitAndTransportTest(const std::string& sTestDirectory)
+ void EngineTest::ExpandedLungsCardiovascularCircuitAndTransportTest(const std::string& sTestDirectory)
{
- CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, false, false, false, false, true, sTestDirectory, "CardiovascularAndCerebrospinalFluid", false);
+ CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, false, false, false, false, true, sTestDirectory, "ExpandedLungsCardiovascular", false);
}
void EngineTest::FullCardiovascularCircuitAndTransportTest(const std::string& sTestDirectory)
@@ -72,9 +72,9 @@ namespace pulse { namespace human_adult_whole_body
CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, false, false, true, true, false, sTestDirectory, "FullCardiovascular", false);
}
- void EngineTest::FullExpandedLungsCardiovascularCircuitAndTransportTest(const std::string& sTestDirectory)
+ void EngineTest::ExpandedLungsFullCardiovascularCircuitAndTransportTest(const std::string& sTestDirectory)
{// \todo enable csf when ready
- CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, false, false, true, true, true, sTestDirectory, "FullCardiovascular", false);
+ CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, false, false, true, true, true, sTestDirectory, "ExpandedLungsFullCardiovascular", false);
}
void EngineTest::CardiovascularBloodGasesTest(const std::string& sTestDirectory)
@@ -82,9 +82,9 @@ namespace pulse { namespace human_adult_whole_body
CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, true, false, true, true, false, sTestDirectory, "CardiovascularBloodGasesTest", false);
}
- void EngineTest::CardiovascularExpandedLungsBloodGasesTest(const std::string& sTestDirectory)
+ void EngineTest::ExpandedLungsCardiovascularBloodGasesTest(const std::string& sTestDirectory)
{// \todo enable csf when ready
- CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, true, false, true, true, true, sTestDirectory, "CardiovascularBloodGasesTest", false);
+ CardiovascularCircuitAndTransportTest(Heart, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, true, false, true, true, true, sTestDirectory, "ExpandedLungsCardiovascularBloodGasesTest", false);
}
void EngineTest::TuneCardiovascularCircuitTest(const std::string& sTestDirectory)
diff --git a/src/cpp/engine/human_adult/whole_body/test/EngineTest.cpp b/src/cpp/engine/human_adult/whole_body/test/EngineTest.cpp
index ec395e0e7..8b34d9d2c 100644
--- a/src/cpp/engine/human_adult/whole_body/test/EngineTest.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/EngineTest.cpp
@@ -18,6 +18,7 @@ namespace pulse { namespace human_adult_whole_body
{
try
{
+ Info("Writing artifacts to: " + sOutputDirectory);
//If you find the test name, run it
if (testMap.find(testName) != testMap.end())
{
@@ -67,11 +68,11 @@ namespace pulse { namespace human_adult_whole_body
testMap.insert(std::make_pair("CardiovascularAndRenalCircuitAndTransportTest", &EngineTest::CardiovascularAndRenalCircuitAndTransportTest));
testMap.insert(std::make_pair("CardiovascularAndTissueCircuitAndTransportTest", &EngineTest::CardiovascularAndTissueCircuitAndTransportTest));
testMap.insert(std::make_pair("CardiovascularAndCerebrospinalFluidCircuitAndTransportTest", &EngineTest::CardiovascularAndCerebrospinalFluidCircuitAndTransportTest));
- testMap.insert(std::make_pair("CardiovascularAndExpandedLungsCircuitAndTransportTest", &EngineTest::CardiovascularAndExpandedLungsCircuitAndTransportTest));
+ testMap.insert(std::make_pair("ExpandedLungsCardiovascularCircuitAndTransportTest", &EngineTest::ExpandedLungsCardiovascularCircuitAndTransportTest));
testMap.insert(std::make_pair("FullCardiovascularCircuitAndTransportTest", &EngineTest::FullCardiovascularCircuitAndTransportTest));
- testMap.insert(std::make_pair("FullExpandedLungsCardiovascularCircuitAndTransportTest", &EngineTest::FullExpandedLungsCardiovascularCircuitAndTransportTest));
+ testMap.insert(std::make_pair("ExpandedLungsFullCardiovascularCircuitAndTransportTest", &EngineTest::ExpandedLungsFullCardiovascularCircuitAndTransportTest));
testMap.insert(std::make_pair("CardiovascularBloodGasesTest", &EngineTest::CardiovascularBloodGasesTest));
- testMap.insert(std::make_pair("CardiovascularExpandedLungsBloodGasesTest", &EngineTest::CardiovascularExpandedLungsBloodGasesTest));
+ testMap.insert(std::make_pair("ExpandedLungsCardiovascularBloodGasesTest", &EngineTest::ExpandedLungsCardiovascularBloodGasesTest));
testMap.insert(std::make_pair("TuneCardiovascularCircuitTest", (testFunction) & EngineTest::TuneCardiovascularCircuitTest));
testMap.insert(std::make_pair("CardiovascularCircuitScaleTests", &EngineTest::CardiovascularCircuitScaleTests));
@@ -82,22 +83,22 @@ namespace pulse { namespace human_adult_whole_body
testMap.insert(std::make_pair("RenalUrinateTest", &EngineTest::RenalUrinateTest));
testMap.insert(std::make_pair("RespiratoryCircuitAndTransportTest", (testFunction) & EngineTest::RespiratoryCircuitAndTransportTest));
- testMap.insert(std::make_pair("RespiratoryExpandedLungsCircuitAndTransportTest", &EngineTest::RespiratoryExpandedLungsCircuitAndTransportTest));
+ testMap.insert(std::make_pair("ExpandedLungsRespiratoryCircuitAndTransportTest", &EngineTest::ExpandedLungsRespiratoryCircuitAndTransportTest));
testMap.insert(std::make_pair("RespiratoryDriverTest", &EngineTest::RespiratoryDriverTest));
testMap.insert(std::make_pair("AnesthesiaMachineCircuitAndTransportTest", (testFunction) & EngineTest::AnesthesiaMachineCircuitAndTransportTest));
testMap.insert(std::make_pair("RespiratoryWithAnesthesiaMachineCircuitAndTransportTest", &EngineTest::RespiratoryWithAnesthesiaMachineCircuitAndTransportTest));
- testMap.insert(std::make_pair("RespiratoryExpandedLungsWithAnesthesiaMachineCircuitAndTransportTest", &EngineTest::RespiratoryExpandedLungsWithAnesthesiaMachineCircuitAndTransportTest));
+ testMap.insert(std::make_pair("ExpandedLungsRespiratoryWithAnesthesiaMachineCircuitAndTransportTest", &EngineTest::ExpandedLungsRespiratoryWithAnesthesiaMachineCircuitAndTransportTest));
testMap.insert(std::make_pair("MechanicalVentilatorCircuitAndTransportTest", (testFunction) & EngineTest::MechanicalVentilatorCircuitAndTransportTest));
testMap.insert(std::make_pair("RespiratoryWithMechanicalVentilatorCircuitAndTransportTest", &EngineTest::RespiratoryWithMechanicalVentilatorCircuitAndTransportTest));
- testMap.insert(std::make_pair("RespiratoryExpandedLungsWithMechanicalVentilatorCircuitAndTransportTest", &EngineTest::RespiratoryExpandedLungsWithMechanicalVentilatorCircuitAndTransportTest));
+ testMap.insert(std::make_pair("ExpandedLungsRespiratoryWithMechanicalVentilatorCircuitAndTransportTest", &EngineTest::ExpandedLungsRespiratoryWithMechanicalVentilatorCircuitAndTransportTest));
testMap.insert(std::make_pair("RespiratoryWithInhalerCircuitAndTransportTest", &EngineTest::RespiratoryWithInhalerCircuitAndTransportTest));
- testMap.insert(std::make_pair("RespiratoryExpandedLungsWithInhalerCircuitAndTransportTest", &EngineTest::RespiratoryExpandedLungsWithInhalerCircuitAndTransportTest));
+ testMap.insert(std::make_pair("ExpandedLungsRespiratoryWithInhalerCircuitAndTransportTest", &EngineTest::ExpandedLungsRespiratoryWithInhalerCircuitAndTransportTest));
testMap.insert(std::make_pair("RespiratoryWithMechanicalVentilationCircuitAndTransportTest", &EngineTest::RespiratoryWithMechanicalVentilationCircuitAndTransportTest));
- testMap.insert(std::make_pair("RespiratoryExpandedLungsWithMechanicalVentilationCircuitAndTransportTest", &EngineTest::RespiratoryExpandedLungsWithMechanicalVentilationCircuitAndTransportTest));
+ testMap.insert(std::make_pair("ExpandedLungsRespiratoryWithMechanicalVentilationCircuitAndTransportTest", &EngineTest::ExpandedLungsRespiratoryWithMechanicalVentilationCircuitAndTransportTest));
testMap.insert(std::make_pair("InternalTemperatureVariableBMRCircuitTest", &EngineTest::InternalTemperatureVariableBMRCircuitTest));
testMap.insert(std::make_pair("InternalTemperatureVariableSkinCircuitTest", &EngineTest::InternalTemperatureVariableSkinCircuitTest));
diff --git a/src/cpp/engine/human_adult/whole_body/test/EngineTest.h b/src/cpp/engine/human_adult/whole_body/test/EngineTest.h
index c47bbf0a3..d62c4e717 100644
--- a/src/cpp/engine/human_adult/whole_body/test/EngineTest.h
+++ b/src/cpp/engine/human_adult/whole_body/test/EngineTest.h
@@ -38,11 +38,11 @@ namespace pulse { namespace human_adult_whole_body
void CardiovascularAndRenalCircuitAndTransportTest(const std::string& sTestDirectory);
void CardiovascularAndTissueCircuitAndTransportTest(const std::string& sTestDirectory);
void CardiovascularAndCerebrospinalFluidCircuitAndTransportTest(const std::string& sTestDirectory);
- void CardiovascularAndExpandedLungsCircuitAndTransportTest(const std::string& sTestDirectory);
+ void ExpandedLungsCardiovascularCircuitAndTransportTest(const std::string& sTestDirectory);
void FullCardiovascularCircuitAndTransportTest(const std::string& sTestDirectory);
- void FullExpandedLungsCardiovascularCircuitAndTransportTest(const std::string& sTestDirectory);
+ void ExpandedLungsFullCardiovascularCircuitAndTransportTest(const std::string& sTestDirectory);
void CardiovascularBloodGasesTest(const std::string& sTestDirectory);// Everything with Saturation
- void CardiovascularExpandedLungsBloodGasesTest(const std::string& sTestDirectory);// Everything with Saturation
+ void ExpandedLungsCardiovascularBloodGasesTest(const std::string& sTestDirectory);// Everything with Saturation
// Cardiovascular Utilities //
void TuneCardiovascularCircuitTest(const std::string& sTestDirectory);
void CardiovascularCircuitScaleTests(const std::string& sTestDirectory);
@@ -84,10 +84,21 @@ namespace pulse { namespace human_adult_whole_body
// Respiratory //
/////////////////
void RespiratoryCircuitAndTransportTest(const std::string& sTestDirectory);
- void RespiratoryExpandedLungsCircuitAndTransportTest(const std::string& sTestDirectory);
+ void ExpandedLungsRespiratoryCircuitAndTransportTest(const std::string& sTestDirectory);
void RespiratoryDriverTest(const std::string& sTestDirectory);
protected:
- enum RespiratoryConfiguration { RespiratorySolo, AnesthesiaMachineSolo, RespiratoryWithAnesthesiaMachine, RespiratoryWithInhaler, RespiratoryWithMechanicalVentilation, MechanicalVentilatorSolo, RespiratoryWithMechanicalVentilator
+ enum RespiratoryConfiguration { RespiratorySolo,
+ ExpandedLungsRespiratorySolo,
+ AnesthesiaMachineSolo,
+ RespiratoryWithAnesthesiaMachine,
+ ExpandedLungsRespiratoryWithAnesthesiaMachine,
+ RespiratoryWithInhaler,
+ ExpandedLungsRespiratoryWithInhaler,
+ RespiratoryWithMechanicalVentilation,
+ ExpandedLungsRespiratoryWithMechanicalVentilation,
+ MechanicalVentilatorSolo,
+ RespiratoryWithMechanicalVentilator,
+ ExpandedLungsRespiratoryWithMechanicalVentilator
};
void RespiratoryCircuitAndTransportTest(RespiratoryConfiguration config, bool expandedLungs, const std::string& sTestDirectory);
@@ -97,34 +108,34 @@ namespace pulse { namespace human_adult_whole_body
////////////////////////
void AnesthesiaMachineCircuitAndTransportTest(const std::string& sTestDirectory);
void RespiratoryWithAnesthesiaMachineCircuitAndTransportTest(const std::string& sTestDirectory);
- void RespiratoryExpandedLungsWithAnesthesiaMachineCircuitAndTransportTest(const std::string& sTestDirectory);
+ void ExpandedLungsRespiratoryWithAnesthesiaMachineCircuitAndTransportTest(const std::string& sTestDirectory);
protected:
void AnesthesiaMachineCircuitAndTransportTest(RespiratoryConfiguration config, bool expandedLungs, const std::string& sTestDirectory);
+ public:
+ /////////////
+ // Inhaler //
+ /////////////
+ void RespiratoryWithInhalerCircuitAndTransportTest(const std::string& sTestDirectory);
+ void ExpandedLungsRespiratoryWithInhalerCircuitAndTransportTest(const std::string& sTestDirectory);
+ protected:
+
public:
///////////////////////////
// Mechanical Ventilator //
///////////////////////////
void MechanicalVentilatorCircuitAndTransportTest(const std::string& sTestDirectory);
void RespiratoryWithMechanicalVentilatorCircuitAndTransportTest(const std::string& sTestDirectory);
- void RespiratoryExpandedLungsWithMechanicalVentilatorCircuitAndTransportTest(const std::string& sTestDirectory);
+ void ExpandedLungsRespiratoryWithMechanicalVentilatorCircuitAndTransportTest(const std::string& sTestDirectory);
protected:
void MechanicalVentilatorCircuitAndTransportTest(RespiratoryConfiguration config, bool expandedLungs, const std::string& sTestDirectory);
- public:
- /////////////
- // Inhaler //
- /////////////
- void RespiratoryWithInhalerCircuitAndTransportTest(const std::string& sTestDirectory);
- void RespiratoryExpandedLungsWithInhalerCircuitAndTransportTest(const std::string& sTestDirectory);
- protected:
-
public:
////////////////////////////
// Mechanical Ventilation //
////////////////////////////
void RespiratoryWithMechanicalVentilationCircuitAndTransportTest(const std::string& sTestDirectory);
- void RespiratoryExpandedLungsWithMechanicalVentilationCircuitAndTransportTest(const std::string& sTestDirectory);
+ void ExpandedLungsRespiratoryWithMechanicalVentilationCircuitAndTransportTest(const std::string& sTestDirectory);
protected:
public:
diff --git a/src/cpp/engine/human_adult/whole_body/test/MechanicalVentilatorCircuit.cpp b/src/cpp/engine/human_adult/whole_body/test/MechanicalVentilatorCircuit.cpp
index dec874ac2..eb359b898 100644
--- a/src/cpp/engine/human_adult/whole_body/test/MechanicalVentilatorCircuit.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/MechanicalVentilatorCircuit.cpp
@@ -47,10 +47,11 @@ namespace pulse { namespace human_adult_whole_body
DataTrack outTrkGraph;
std::ofstream fileCircuit;
std::ofstream fileGraph;
+ std::string prefix = expandedLungs ? "ExpandedLungs" : "";
Engine pe;
Controller& pc = (Controller&)pe.GetController();
- pc.GetLogger()->SetLogFile(sTestDirectory + "/MechanicalVentilatorCircuitAndTransportTest.log");
+ pc.GetLogger()->SetLogFile(sTestDirectory + "/"+prefix+"MechanicalVentilatorCircuitAndTransportTest.log");
SEPatient patient(pc.GetLogger());
patient.SerializeFromFile("./patients/StandardMale.json");
pc.SetupPatient(patient);
@@ -85,8 +86,8 @@ namespace pulse { namespace human_adult_whole_body
{
mvCircuit = &pc.GetCircuits().GetMechanicalVentilatorCircuit();
mvGraph = &pc.GetCompartments().GetMechanicalVentilatorGraph();
- sCircuitFileName = "/MechanicalVentilatorCircuitOutput.csv";
- sTransportFileName = "/MechanicalVentilatorTransportOutput.csv";
+ sCircuitFileName = "/"+prefix+"MechanicalVentilatorCircuitOutput.csv";
+ sTransportFileName = "/"+prefix+"MechanicalVentilatorTransportOutput.csv";
//Allow things to flow to ground, since the respiratory circuit isn't here
//This approximates the total respiratory system resistance
@@ -95,14 +96,14 @@ namespace pulse { namespace human_adult_whole_body
MechanicalVentilatorConnectionToEnvironment->GetPressureSourceBaseline().SetValue(0.1, PressureUnit::cmH2O);
MechanicalVentilatorConnectionToEnvironment->GetNextPressureSource().SetValue(0.1, PressureUnit::cmH2O);
}
- else if (config == RespiratoryWithMechanicalVentilator)
+ else if (config == RespiratoryWithMechanicalVentilator || config == ExpandedLungsRespiratoryWithMechanicalVentilator)
{
pc.GetSubstances().InitializeGasCompartments();
mvCircuit = &pc.GetCircuits().GetRespiratoryAndMechanicalVentilatorCircuit();
mvGraph = &pc.GetCompartments().GetRespiratoryAndMechanicalVentilatorGraph();
- sCircuitFileName = "/RespiratoryAndMechanicalVentilatorCircuitOutput.csv";
- sTransportFileName = "/RespiratoryAndMechanicalVentilatorTransportOutput.csv";
+ sCircuitFileName = "/"+prefix+"RespiratoryAndMechanicalVentilatorCircuitOutput.csv";
+ sTransportFileName = "/"+prefix+"RespiratoryAndMechanicalVentilatorTransportOutput.csv";
//Precharge the stomach to prevent negative volume
mvCircuit->GetNode(pulse::RespiratoryNode::Stomach)->GetNextPressure().Set(env.GetAtmosphericPressure());
@@ -178,8 +179,8 @@ namespace pulse { namespace human_adult_whole_body
MechanicalVentilatorCircuitAndTransportTest(RespiratoryWithMechanicalVentilator, false, sTestDirectory);
}
- void EngineTest::RespiratoryExpandedLungsWithMechanicalVentilatorCircuitAndTransportTest(const std::string& sTestDirectory)
+ void EngineTest::ExpandedLungsRespiratoryWithMechanicalVentilatorCircuitAndTransportTest(const std::string& sTestDirectory)
{
- MechanicalVentilatorCircuitAndTransportTest(RespiratoryWithMechanicalVentilator, true, sTestDirectory);
+ MechanicalVentilatorCircuitAndTransportTest(ExpandedLungsRespiratoryWithMechanicalVentilator, true, sTestDirectory);
}
END_NAMESPACE_EX
diff --git a/src/cpp/engine/human_adult/whole_body/test/RespiratoryCircuit.cpp b/src/cpp/engine/human_adult/whole_body/test/RespiratoryCircuit.cpp
index b1a4cb3f8..dcc8a67ba 100644
--- a/src/cpp/engine/human_adult/whole_body/test/RespiratoryCircuit.cpp
+++ b/src/cpp/engine/human_adult/whole_body/test/RespiratoryCircuit.cpp
@@ -43,10 +43,11 @@ namespace pulse { namespace human_adult_whole_body
std::ofstream fileCircuit;
std::ofstream fileGraph;
std::ofstream fAerosolGraph;
+ std::string prefix = expandedLungs ? "ExpandedLungs" :"";
Engine pe;
Controller& pc = (Controller&)pe.GetController();
- pc.GetLogger()->SetLogFile(sTestDirectory + "/RespiratoryCircuitAndTransportTest.log");
+ pc.GetLogger()->SetLogFile(sTestDirectory + "/"+prefix+"RespiratoryCircuitAndTransportTest.log");
SEPatient patient(pc.GetLogger());
patient.SerializeFromFile("./patients/StandardMale.json");
pc.SetupPatient(patient);
@@ -66,23 +67,23 @@ namespace pulse { namespace human_adult_whole_body
std::string sCircuitFileName;
std::string sTransportFileName;
std::string sAerosolTxptFileName;
- if (config == RespiratorySolo)
+ if (config == RespiratorySolo || config == ExpandedLungsRespiratorySolo)
{
rCircuit = &pc.GetCircuits().GetRespiratoryCircuit();
rGraph = &pc.GetCompartments().GetRespiratoryGraph();
aGraph = nullptr;
- sCircuitFileName = "/RespiratoryCircuitOutput.csv";
- sTransportFileName = "/RespiratoryTransportOutput.csv";
+ sCircuitFileName = "/"+prefix+"RespiratoryCircuitOutput.csv";
+ sTransportFileName = "/" + prefix + "RespiratoryTransportOutput.csv";
sAerosolTxptFileName = "";
}
- else if (config == RespiratoryWithInhaler)
+ else if (config == RespiratoryWithInhaler || config == ExpandedLungsRespiratoryWithInhaler)
{
rCircuit = &pc.GetCircuits().GetRespiratoryAndInhalerCircuit();
rGraph = &pc.GetCompartments().GetRespiratoryAndInhalerGraph();
aGraph = &pc.GetCompartments().GetAerosolAndInhalerGraph();
- sCircuitFileName = "/RespiratoryAndInhalerCircuitOutput.csv";
- sTransportFileName = "/RespiratoryAndInhalerTransportOutput.csv";
- sAerosolTxptFileName = "/AerosolInhalerTransportOutput.csv";
+ sCircuitFileName = "/"+prefix+"RespiratoryAndInhalerCircuitOutput.csv";
+ sTransportFileName = "/"+prefix+"RespiratoryAndInhalerTransportOutput.csv";
+ sAerosolTxptFileName = "/"+prefix+"AerosolInhalerTransportOutput.csv";
// Get an aerosolized substance
SESubstance* albuterol = pc.GetSubstances().GetSubstance("Albuterol");
@@ -98,14 +99,14 @@ namespace pulse { namespace human_adult_whole_body
mouthpiece->Balance(BalanceLiquidBy::Mass);
}
}
- else if (config == RespiratoryWithMechanicalVentilation)
+ else if (config == RespiratoryWithMechanicalVentilation || config == ExpandedLungsRespiratoryWithMechanicalVentilation)
{
rCircuit = &pc.GetCircuits().GetRespiratoryAndMechanicalVentilationCircuit();
rGraph = &pc.GetCompartments().GetRespiratoryAndMechanicalVentilationGraph();
aGraph = &pc.GetCompartments().GetAerosolAndMechanicalVentilationGraph();
- sCircuitFileName = "/RespiratoryAndMechanicalVentilationCircuitOutput.csv";
- sTransportFileName = "/RespiratoryAndMechanicalVentilationTransportOutput.csv";
- sAerosolTxptFileName = "/AerosolMechanicalVentilationTransportOutput.csv";
+ sCircuitFileName = "/"+prefix+"RespiratoryAndMechanicalVentilationCircuitOutput.csv";
+ sTransportFileName = "/"+prefix+"RespiratoryAndMechanicalVentilationTransportOutput.csv";
+ sAerosolTxptFileName = "/"+prefix+"AerosolMechanicalVentilationTransportOutput.csv";
// Get an aerosolized substance
SESubstance* albuterol = pc.GetSubstances().GetSubstance("Albuterol");
@@ -198,9 +199,9 @@ namespace pulse { namespace human_adult_whole_body
RespiratoryCircuitAndTransportTest(RespiratorySolo, false, sTestDirectory);
}
- void EngineTest::RespiratoryExpandedLungsCircuitAndTransportTest(const std::string& sTestDirectory)
+ void EngineTest::ExpandedLungsRespiratoryCircuitAndTransportTest(const std::string& sTestDirectory)
{
- RespiratoryCircuitAndTransportTest(RespiratorySolo, true, sTestDirectory);
+ RespiratoryCircuitAndTransportTest(ExpandedLungsRespiratorySolo, true, sTestDirectory);
}
void EngineTest::RespiratoryWithInhalerCircuitAndTransportTest(const std::string & sTestDirectory)
@@ -208,9 +209,9 @@ namespace pulse { namespace human_adult_whole_body
RespiratoryCircuitAndTransportTest(RespiratoryWithInhaler, false, sTestDirectory);
}
- void EngineTest::RespiratoryExpandedLungsWithInhalerCircuitAndTransportTest(const std::string& sTestDirectory)
+ void EngineTest::ExpandedLungsRespiratoryWithInhalerCircuitAndTransportTest(const std::string& sTestDirectory)
{
- RespiratoryCircuitAndTransportTest(RespiratoryWithInhaler, true, sTestDirectory);
+ RespiratoryCircuitAndTransportTest(ExpandedLungsRespiratoryWithInhaler, true, sTestDirectory);
}
void EngineTest::RespiratoryWithMechanicalVentilationCircuitAndTransportTest(const std::string & sTestDirectory)
@@ -218,9 +219,9 @@ namespace pulse { namespace human_adult_whole_body
RespiratoryCircuitAndTransportTest(RespiratoryWithMechanicalVentilation, false, sTestDirectory);
}
- void EngineTest::RespiratoryExpandedLungsWithMechanicalVentilationCircuitAndTransportTest(const std::string& sTestDirectory)
+ void EngineTest::ExpandedLungsRespiratoryWithMechanicalVentilationCircuitAndTransportTest(const std::string& sTestDirectory)
{
- RespiratoryCircuitAndTransportTest(RespiratoryWithMechanicalVentilation, true, sTestDirectory);
+ RespiratoryCircuitAndTransportTest(ExpandedLungsRespiratoryWithMechanicalVentilation, true, sTestDirectory);
}
void EngineTest::RespiratoryDriverTest(const std::string & sTestDirectory)
diff --git a/src/cpp/test_driver/main.cpp b/src/cpp/test_driver/main.cpp
index 39f67c7d7..802246535 100644
--- a/src/cpp/test_driver/main.cpp
+++ b/src/cpp/test_driver/main.cpp
@@ -15,12 +15,12 @@ int main(int argc, char* argv[])
Logger cdmLogger(cdmDir + "/CDMUnitTests.log");
CommonDataModelTest cdmTest(&cdmLogger);
- std::string hawbDir = "./test_results/unit_tests/human_adult/whole_body";
+ std::string hawbDir = "./test_results/unit_tests/pulse"; // TODO when we have different engines, human_adult/whole_body";
Logger hawbLogger(hawbDir + "/PulseUnitTests.log");
pulse::human_adult_whole_body::EngineTest hawbTest(&hawbLogger);
- std::string havmDir = "./test_results/unit_tests/human_adult/ventilation_mechanics";
- Logger havmLogger(havmDir + "/RespiratoryEngineUnitTests.log");
+ std::string havmDir = "./test_results/unit_tests/pulse"; // TODO when we have different engines, human_adult / ventilation_mechanics";
+ Logger havmLogger(havmDir + "/PulseEngineUnitTests.log");
pulse::human_adult_ventilation_mechanics::EngineTest havmTest(&havmLogger);
if (argc == 1)
@@ -51,11 +51,11 @@ int main(int argc, char* argv[])
//hawbTest.CardiovascularAndRenalCircuitAndTransportTest(hawbDir);
//hawbTest.CardiovascularAndTissueCircuitAndTransportTest(hawbDir);
//hawbTest.CardiovascularAndCerebrospinalFluidCircuitAndTransportTest(hawbDir);
- hawbTest.CardiovascularAndExpandedLungsCircuitAndTransportTest(hawbDir);
+// hawbTest.ExpandedLungsCardiovascularCircuitAndTransportTest(hawbDir);
//hawbTest.FullCardiovascularCircuitAndTransportTest(hawbDir);
- hawbTest.FullExpandedLungsCardiovascularCircuitAndTransportTest(hawbDir);
+// hawbTest.ExpandedLungsFullCardiovascularCircuitAndTransportTest(hawbDir);
//hawbTest.CardiovascularBloodGasesTest(hawbDir);
- hawbTest.CardiovascularExpandedLungsBloodGasesTest(hawbDir);
+// hawbTest.ExpandedLungsCardiovascularBloodGasesTest(hawbDir);
//hawbTest.TuneCardiovascularCircuitTest(hawbDir);
//hawbTest.RenalCircuitAndTransportTest(hawbDir);
@@ -66,17 +66,17 @@ int main(int argc, char* argv[])
//hawbTest.RespiratoryDriverTest(hawbDir);
//hawbTest.RespiratoryCircuitAndTransportTest(hawbDir);
- hawbTest.RespiratoryExpandedLungsCircuitAndTransportTest(hawbDir);
+// hawbTest.ExpandedLungsRespiratoryCircuitAndTransportTest(hawbDir);
//hawbTest.AnesthesiaMachineCircuitAndTransportTest(hawbDir);
//hawbTest.RespiratoryWithAnesthesiaMachineCircuitAndTransportTest(hawbDir);
- hawbTest.RespiratoryExpandedLungsWithAnesthesiaMachineCircuitAndTransportTest(hawbDir);
+// hawbTest.ExpandedLungsRespiratoryWithAnesthesiaMachineCircuitAndTransportTest(hawbDir);
//hawbTest.MechanicalVentilatorCircuitAndTransportTest(hawbDir);
//hawbTest.RespiratoryWithMechanicalVentilatorCircuitAndTransportTest(hawbDir);
- hawbTest.RespiratoryExpandedLungsWithMechanicalVentilatorCircuitAndTransportTest(hawbDir);
+// hawbTest.ExpandedLungsRespiratoryWithMechanicalVentilatorCircuitAndTransportTest(hawbDir);
//hawbTest.RespiratoryWithInhalerCircuitAndTransportTest(hawbDir);
- hawbTest.RespiratoryExpandedLungsWithInhalerCircuitAndTransportTest(hawbDir);
+ hawbTest.ExpandedLungsRespiratoryWithInhalerCircuitAndTransportTest(hawbDir);
//hawbTest.RespiratoryWithMechanicalVentilatorCircuitAndTransportTest(hawbDir);
- hawbTest.RespiratoryExpandedLungsWithMechanicalVentilatorCircuitAndTransportTest(hawbDir);
+// hawbTest.ExpandedLungsRespiratoryWithMechanicalVentilatorCircuitAndTransportTest(hawbDir);
//hawbTest.InternalTemperatureVariableBMRCircuitTest(hawbDir);
//hawbTest.InternalTemperatureVariableSkinCircuitTest(hawbDir);
diff --git a/src/python/pulse/cdm/utils/plotter.py b/src/python/pulse/cdm/utils/plotter.py
index 356608577..1b3fccf2d 100644
--- a/src/python/pulse/cdm/utils/plotter.py
+++ b/src/python/pulse/cdm/utils/plotter.py
@@ -808,7 +808,8 @@ def create_plot(plot_sources: [SEPlotSource],
max_y = 0.001
if min_y is not None and min_y >= 0:
min_y = -0.01
- if min_y is not None and not np.isnan(min_y):
+ if (min_y is not None and not np.isnan(min_y) and not np.isinf(min_y) and
+ max_y is not None and not np.isnan(max_y) and not np.isinf(max_y)):
ax.set_ylim(min_y-0.05*abs(min_y), max_y+0.15*abs(max_y))
# Ensure negative times aren't shown
--
GitLab
From fb12aa46e8181cd9a0979ee7d0d5d957075ec970 Mon Sep 17 00:00:00 2001
From: Aaron Bray
Date: Fri, 29 Aug 2025 16:08:57 -0400
Subject: [PATCH 28/35] Manually merge updates from integration
(cherry picked from commit ddb8db1d6eff5b9820ed2a54e60ea63cd9b0ec1d)
---
.../validation/SystemValidationData.xlsx | Bin 102490 -> 108886 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/data/human/adult/validation/SystemValidationData.xlsx b/data/human/adult/validation/SystemValidationData.xlsx
index a0564cfba726ef241352afaf180e13a2660ff020..d40c035d64f48ab84afd60e60df79a18871f9855 100644
GIT binary patch
delta 41834
zcmcb$fbH5PHi-alW)=|!HU*oYH^2V)lJaHGmj>3*=rxhT
zi~k?BJjE8(xb$;EX38TcZKe9s!&9mi)04RV)L86!a_J_A8DG-!gU1%%HxMiq?!L`>
zH*O+}!HKTfSC5=qopz{t@zM^LQ}Jtm9Z&u6Fd!&(R&(#S3O9+K{L&Y0`^~su_#z89tpE*04=_kyqYwZ{NzO|L#=i$g+u}jW>V#+s(q!_6K`#!q~-F<$i
zgW;7XTUX0o=A5ke4<{TtF}rP3;Q84buHAiV>EHO)(4t=?mRW}H!%W}ZuNu`AIRXz`
z&CT%M+R_2#uqr7O12NiKPN@tgKc-Dfs`U3=~`PTnXiGTp3;k#F-SW>sdc
z;EmH>Yq2me7;#TlWLK=$xPN(%Kv0KQ_=J|-UR#`WuHW_t+SpyF1<2u~$@VQo%LjyVA!^47@AdZY)awXDS;ddwBxaMxMZP
z1?OvyU;0z@|95_Qw%)yGbM{Lz97s7IqZQh=P4}{@-h@35Rns<1E)G;+4X)p~Ayw1h
z)DxlP(16>;a}MYUBt8>U6uF-8!A4!PuQEz>#!B6e10tFR@p_(`-!ojRcw-umM2ALc
z>U%ZJ5caxK&6_3VDrKi5A)euP@NMsHGc%@rjDKR-+4Ad!a$;pdCxjH7EG}if@a@_Q
z?*FmJ%kEAV$k9tKke!szy+_HaoxOgw%LmWZP0V2hEX8x<-HIEdOv9Zx?x|nA#eUo7
z^FKXx5&Qg=*$Xz+IJKS=G3D)A;$^g`;F@uM;;HLDQXE5`E>IFF+q>>@sqgQ94$n6l
z7|mJSwMtW-5l1_A9!BWcj6;Hknra{%>QEu$$xi7a8ru1OMAASTuiig-tM6;JR(~
zbM_M*x2sZDa@@V1A879>qh7S8Ph5T4d$)C0Ki1bCGK&QTWL3jy%i#gOY+Rn(kAh
z-tAbhuzDGP=l&a2F0=pky>1ab*_T#RTqf^rf4=SSz4Esk-c_AvS^spRX;oHE9LMP&
zyV9f9vHR_v?|1#{GwzdDHZ7aWuXKB>yD(!Zork7~sL(N&u
z4c|^&PWygFxW4%D+MUinBC0G5ujk!}Hjm%1yH0A2o`ix3BcJo^>vMPdHD-1M$ScVi
zg;(DZkq=2_+I#1tnA?sGC)t0Ba@Hq3eT*NtJDG#@G*y162W
zJL8Lc^=yfM$0Y=}{PMcm+VG;|$&Sv)<~b{~_r9!PI_b+Q67F2T_-+8lIetG0vF@~n
z1@q;YN~-n#vTq10VEXH#bx5FOV{`q1C(UusW8QOii>{ybutEB_LfrRl%fy9iy6)ya
zyJg8fKOs`6QN-SJ%eyD;O)&;b7Jiv8nO$^rufpjm9+7iX*jCirY+Tm4_qox%D`#i;
z74)(0*`4s<`_U-p-D(|wjqBHnTon1WzwS!vh0^lr%pCnoRwXX{Dzsvs<8I@EsMzzL
z+TRIO1z+FD)_h?5t&bb7?kjz)k;z}0f9bv3LpSAT^Y?tRDqGt-an%E>3+9ft{9i5Z
ztd$e{{PxhgP5x1p7M-PK<+tQH>soKOJkoA$KOfHJ=HGw$xOS@h$uD11E7lhLmoF6f
zzJB_9f3?5$%TC_^t^8&_TZk~ryUn%F-u`|4?l1rJk2Q>l4R-H;F|yS0nmpl?=-TG@s@YiobcIHqsx=mV`i6r)?X0YGxe1Q_XAHE{T;H`5^jc`
z&6vLY%)6rd_4RqR&-Z7~KD;pKL(Y|S=393&4({)@P2zk|6PU?ep!quJgueRf&hRro
zat)KDB6?>`DspRGoU(SFSL91Mzv+uYTGE`9BH83FOq$~_bW4v@Gd;v2!i)Ro?#*?f
z3HdWun=Dl`k(Nq6n{>u=q4o7T|1#@m=4$T3w=|~A2#oxb{8Z1wNXbOX@#IYQFk|(b
zJ*$rW^p>u=9OqQ`bCOF-y%Edag|0q^Gg-ro7av)}+#NYNPg0b3j!cB^>+4?f)t7lT
zpJ)$!u2}cA=u90r;5WbHz0S({q0ei>E@cLWTa(WT8`QVBEDXKAGHYq>s#~=&*2h%B
z4AZta)2brHtN5k}N4p_cgmdc2*`bYfHT$KW
zYFubDQC*pOnCr_C6D#}QKN2@iedV}b(wI>|Dt5tE!?!kFCb7njB^uG!4$St_a^(3F
zy4quV*ThSbomO7;k1B*X4@qAUe3r%G945N_&E_T22c<4MimdKz{PA_x_FI=(WSfLt
zY;$f2PF=)$WYYCJHkKM(EOYO#ky?3TQ`??$3ssXFnmdGl^zN13{_oV}2O*xi+QLkh
zuafHK{?nP|+VakG{b%`>gPBWiC~xPrSup8)Ys+R^ZOa44-naOEGl;I&Grj*|lY@R?
zeQ&~%Z-V_vIr8q;Ht
zXK-Edu>XzNHc^hadmpdf+EJXCP`@zf(@ax6z32DZaypMkTRX7tnbGv}z23@|rrqCu
z%ABvw3xCIQch!Ov(VJJE1zp=;k$H`ER;xv?x@X&;)z&-rrkR4wm&4Rx86`X&`v4G3HVWawv_syGIwwmiWGMy7z^j7y{
zy~>%*I&+@{N4(y<|Llw}JQB9b)>9demKPqlVSMayu;hfz$p>CMKH;Bwri!g+UgKet
zlgli($;yWC^HjZ)%4)q^UXtPbA&%GJlW&-7)~C&OihjHM{f*8>u1+Vx
zClc{>cGLf#d{d+Q>OrUG+0`Z>$MvC(Xarl+oS*n;$B7k}P-
z?!S3zNPpGA8JrClUNGtQWG)X}^0J9@k@L+>Y++g}SqwjfpH;rA<>poHaV1db_+k%%
zdkgvuLXR7ygchFK=e4U|WR0P$%f?v}AL8{ZR@?esNG@nvaXi&}LC}_liU+3V=lQyr
z9G9DacGLP4;Cv^0j*!$E(Hh|&ynjve>fWmzTsbK!OpT@J%FjLWb#hMy7fN5M`{SNi
zAf@^3NG{{{6;G1&9_AeO+P2{#d*Wi=Gt0bvr|;3ZkbS3~En#Erk!Fc459;0O-pX6e
zo+_i2vzSX{HCIXFa`F4?4gCU2%!;LcoxSPxzK2=)cK#Zp>1)=#{b$G(w*;I{+ovj?
zc_hJ-xAeEd)5WZJ8oUkfT$|L!`uevR3&ZXU(bvRhC|voVUdDZ!i$(nI$DfCGTr)5T
z)cko!>bc}<$u}(PbqmY0*Zqy`7uqm_X2$&dl;Rk9Qa4maJ}?6q*t_+dK0A
z!=;fT8vKP){gZfpF16mdEA5(fhcY~kezWkHy=HD~X~#pAGsiv(M0c2-4|}(vQ*Z0U
zMf+L5FW_UmRlu>qR*7Fda$29-V_haOegy|XKE~hGEOK*CNqptmFwgK_cm0zM(hCHi
zv)zz;sC8LYk@Z8Pz=N|d&NY3#emJ$3>AofR)AIC#zcyR=OwO^nx%QB?08i9AuT0mw
z*Nr%jTbyfm7iY@V-TsPeOO*P%GkvInmVvpfr5
z*)}%%zx!}yO@rRBB{D2j`L;k7=)1BQWVinhw
zQv7Y-E%u_f1mu{`#ai>?0a_pknV?iAJMusDo*|}4`=H9Qiv>4Dt>(F
z^xhR*f2OOLCr-P2y!%7jJ-tVN^rBK;o5ZQS%oV$PKiI4Jhy1>%P$siCyPRfSXWgfG
z+I>>;|E#OhFQz|W|E%R6R(ii8_kG1>kqTdfBDT94U!VBdH54$+X*1tb66VNr$XMRb
z{>X(jKQEu&AyaSiXYz^HH9|4pm(^Wa@yPVH`M2FxHBXavZ!TzF(L8-sYOA4-Y
z-8s@%YtwP+9oL+I{$-9XPF;aJ&BIRKKg?`&h+W~zRc6ILhe;KhoS!u2vL8B7tuRNb
zQSih|(+S2!XlaZdZ7yjQ%`5zYx!iEf;}_h!1;)hj9bnF{IiWzO1b
z?#`sjE8UP1)SJ%kzVJvU3_xMv^nA%9v)lQ`uVyI
z?-!FVoF`2de^_MOROtTVrg6$Orn>i^{xdKz{D%-dvu@|zapP%=KYHVI+=*g4mTirB
zNx7FSGUE<<$SyI@O{`~s`Fi@N0ypI%ua|0^Gv;4;^FrA2S9yNiK6~5072kh6{`l_M
z&-eA~=jHqVD*5{9{Ns5259`gX=B(TIe}}DP`L5kRcl~+4{&fBQd2e2F9nu&0TbX|K
z?AP@zHk^gXsP{M|M6(8_h6ne&3)e0m}Fw{2_mC3hdAZ(li0Cl`g?lxXhc67yJi=*!nd^Ro`t
zt^FeS*G53IOHl8~*T07*SASmG`M^1UN2A&0?~6{I6?%4Of`6%=)mU9;En*}3NS
zC~p72_}SVj%XMO3W5>lt?TIfll)TuN^uCBVG>7k##k_8>CC%OvvZ0q=ENI-x;$qbk
zDx6bWa4IEtvaGW|I4zzj@W1S`IT|eWpBVYCNMM5th2)VgWHL=P_&|{p*C%ybhkmvCRZQNM8UiYluDbr-7*-@Mq>ww|06%3*dm
zQe&3LW_9;P>}TG;SRv|a#ir!OzRqRY;!X|Of^7E^okTzOnbXnC-dWCKY-;j=^XwEp
z^uWm4yV%|Nva)7cdCrw8C23~CWajINn=iUd>3v$yyV2PH758bOXE_3o&bz8^I;h&y
ztCg8^;Xn+Nk+h}1olAvrN1XcNm({OWv)^n846&8oA*>`FQJu;>c|xy6AhE^7*SWM(vw{5uK3@49MpYk2TzEMc+6QoJ>R1R
zkuh5Y^D
zdgh9e-kIRFnQM1z$T~G_V_$QFrFc@**E?Zrv+vpLJQFUv(n7C&&edIM+XMD*4Evh2
zy1uu-ad+Wsbw2j$u
zylbZQ4uk1imzl=M$b@aVbm5ngOrGfPwD#X?O3zyFkSUCMomIB$^#7{0Rff0Rb}V3Y
zFIbrOI{TNL-qI;HJ*(1=wz{S5xpvMVD456b_8R6p^}^zw)_blfRqvRxI=@ZuUB{i+
zt`p^lIWFHa=!*O~g=s?0gPx;(dJzleyKY@()6J%JFQ&lIdW(r@wqEx~vqh}DmQLJT
z<4w)Of9gDvvg=;)uf{4Lrcc5}At(^sH$@+30E#a3@d+ufu7c9uU9n~md|XUn|gtzE(Wrf{X}(?pYi
z!k7Y6>%%KnO6YY*n;&A0wQ1rm%_*ID@@{LkgcwOoEIlYL5$CrvtEtFhgp|@j}
zY|N~#hnsGcE5}^8ro1CS`1@CPr|QEm8hUTPTC>AIS={uKzkkk*o>uuX7Vc$k4DVb2
z{d+rOYWMY94~mYQS)2XFZ&$SSbsxRv<2>g?M)VZqCub}Z~(IxY3_
zz7N{Xp;t3@#?@Q?lt0Oq{J;9@c%46^9d^RgS9@cq(FNo1AdOQ#=NmS9f8su{
zXqgw6=TBADpF0iW+_I9qvIINQ*DRSZZGJq{;}^GYzL@@8JXJh>$+BrT7{Oh9uHatd
z_1AP67*6Ve`$~CJ*z2S7ZyAUjzpwt*+NDmt(|KJ-z{LewQ-_tF?rP)xmR*;s61|EemvY?J+Z5rNdTzCE*S`AQvyYs()D~i?
znR+zn%PEsxkv0EJ>^-(#jy~4I+Tyi5BiqNeSjKm|k3jC}S)m((JybjD8~0~Dei3Cj
zX}eOO)x6hjeF}S=WD}RIOFXgY!IZTsce%r6@-2$+gmWzs$$`$D1i
z3&Jmr{;xK;Q7%&b(3knV#`|Q&`iBpWd^)$`C41sS&TCV=&wjJ9PR1r4r#Y>GCDq;G^%s)n6~8E$JauWr#6_y}Y#%5%o=dvtcY*&L->YzDIe%g}r7$UrOrlytZC?U;E&DH^H27v
z+ajBT4)E?xH@Eez^qN|NpqY{@>^G^85e){Jq}(|L^*L
z-}V3hdwToJTmAY!`|tmMFaP@g-}#w8zfG_I`}6en)1ThfU!VW~_s{G9tN#6*p8t9K
z{xv7-*R1^iv()bYpUd@ie}69j-}Yp!$GhH?PhIcV%xHenK0#;Sl=cY~M|TIr?0vG>
zW1aq6*1LP2tzR@lT>q!Yq;UP8T9dqg?>D)lWKY
zdgGg7l+aw=Nq0B<2fov7ITwCWr+0nWnY;@}_HBA0Rk!`t_ib%P%%8Rg
zzt0JM+U}9{XP$F|jf?KZq-ima9DXQ93F+!hQmfPT-?~|4OIg&sybYT=nnd@PUq831
z^Wd&BFRp8)-;DL=*Y{n1sB7^x%q4jDvl;ImivNmpS^GF8ed3z3cl%E~72~PyIQ4E}
z^Zw%4>CqCu>+M~t7p=_juiqv5cITZ#6~9{NZDDTClmOXltvS(K1e}1ibZf}P7?Uj1lA6(cSnqq&UeTC(&D3#Yr
zr;KW^t;*UkZHigM#e4s{I$cH9tXTaz;cCgTdtbkY^Vv;a+^qkxzKw0sx8+YObQk6A
z5$o)~ZgJDbC3X6AgU)@?saM?ttG@_tHMhIAYE{4L(ytqrs1zPon&liAe*O5Wmup(D
z-&TM6*m!15Pxk|*EZrpONauwSDhH1lG}&HQumT^edylm4
ztZOePO|m$vR3sICuXIkRbyLh&{7T~%+^K6a{rZlAO=deUemC{o
zymf`twpEN5<4%3`)QtDYeCrbQXnDZIg=K}Y?&X2!gLtR=>0h6#FKYDgU7G&-#6Q)u
zyR-_YyS~xO)?5Ga9Q)RtthZb5x}J`I>T;mS+#stk+x4ulLxs0#LV^@(49nF(60(&YW#IfqH=&Wkzz*I(cK
zt32t1PUpMawP$Mo{R!}0_@Y<*gJw}|++oog$0uiGn*vVUD4VPO@t~kVYg1U&SCjJZ
zNAF(rWAqIzW}UoiPn+eZ+|z$gZ#V1GU!S<>mtMV#%uzm{qgO9EiyZvM^`eBA`CxmN
zx51yyS+5pxX`VZ+_@Sle+-Z+_3tl=Oi@m~qMg365iTbZX2}f^=TsO);&$dQ;L)*uo
zQ~X|)0jI2&)?Asw_d;~mX
zJnEjZ>MgI2^^C4F!ZR%9^&B%vc<9%x#?ia`?tb^Ukkz-Z+r(J-cP(3)9d+@|>A7yc
zCMzGZotUoM>~$>cXt0vb3;)j0D+@U<3tO)6VD9>$c6o&+2iN`MIi)|=9Wc{wDB)-R
zz^wZ7s{fJD_gnYfea@KF67!DptjxwI&+j$W`lLFsgg!HARw=8mVv&wqeCkidhbPZ|
zF7{mBs1vpPdGU&mWW
zx5GN_blA4cny^v+q4I{4b<6g>_n)#*Nv2`xT<_<`ypP?A*X*vJpM(@V_hPb2xAy-y
z{NTT*YrW!8%X(v${s|lBdb=kGZdxm>cXlazPX^QH5B7F<3ti@XlKuH@=~+bB-s?aA
zCe7}0zx?bUsnf6d)i~R*OWu~RZ@I4^oyXT##>djIIaf7v-c%dTsFt$NGr#dUTwT6i
zWA)Z)ZjKp~o~vG4rMFY~>PLeWw_L16PF;Ol`#Sh){ds9>4DZER2
zZtRtX@1`@cYG>eh+W*{zY7I6etw`d{cT*C<=s2`cl6YBDE$od61~dW
zpT+r;H)Yddxyp%(x5Zt~y;Ho_+;cbc{FxWGVtou&g?F7oUG!LlHt)RfMrkL9
zlCl5ClUr6!IvBQLQpbZ3&ogJIc3qpZNu$b+cj|0Ljb9&>-*kKn7PWJ?`ocQ3d%t2!
zbI;!&(l>2W-oDYZzFs>kwrj&*TfW`GXLqy}&FU2^x!t(vm$06=iF>`=#|>s%WAo-6
z()h2pYWDJk_w8B2rHv<6+PSXdzFY3_#Oi>6rqi)H_7xE;wg-NgAZt5cc*X2qUE5u?
zo&4JuzOwfcRGODE^YxkO1>U~}SU*mlqIGNeHO4fTopzc}xi!zZx!EW2D;Rytm0@&A
z@0`zKIQo0^Bq%O$4sx|7up+q%H8+n
z-(N?9T=YJ^ethfJ(bEFn8@*SCf07QG6ubF)Fs+HTxcKwB^p`xYa7Ay(srd
z9gFS!tuMR|O?X*J9=f?PMV|mWnR7?`wW}+-JAqkC8>+52qvlq>p`k
zuxZazC9VfMp1*Y}e&a5`N;SnkmoG?sXN%~TMFO}cyUoC=qQ3qFE|wrgB-J%eN3
z?#~Xj(Pmh+diSo1h=v^&aTlk~U-_5u*^j2SETOsL3Uy3Y1`e5z`Vy9Q=C9H|d$InE
ze1_Dn&e;qM&36<8%)&u)_uuj#hx%4^&HwdoRV{}=
z?h`|XgtfA-8}HxBj(&8JGk(PdULK)Kt*mG7zwN5t{pW4gt>`_LW)J0ecZq%TKcT$M
z@@#|sy*nKRK2M+BHeUN;X8Ff2d|9D)_MTt9^KZR)A8+7QuEm9%XK%}BDNFY*+u}BT
zNommf3v8~I;S(?J-|e_=Q`e6tdT?{99&xjQGFn7DIIQn7Y+
zcKQti&cBCmovVMQ$DV&R_hpLSTw_JE~xS~+$4p;cP*
z!WZ6>FRWitV{=XDmy_A^WI;>$des+7@{vdFxGt#HtXZ|=RV>rJRUbKv9)<1wm@#>~
z?suu9o;5}r7KQ42NzHR&-66Ct?5f;+CFR>*KkY8sJ;__7p_4OacsWs`r(c5op
zNu4=t^z`=@uIT9QQ#ZR-d%VkuIC`*4O=Vk{=*=pIne(bYJ$miTJ$Gx`DwPO!1!1pE
z3AXc-V);X-cLb<;Ybi&2{%Vz#vEbeFe$}RamAnr@OE;`!S#CG+{LHA3b5|4>
zrHJ1$E$z^_d9_5If35wBFXi6Lt*>)T_qi(DsQ9Yyz=en@OkPD<|6aIj^`jNL=eaLgJH8@oLiIud2;EJcP8qZB1G%_kZi^
zM2?Mm-dol;NWXhF)z9fp5qtd07Qv2R+pM;k_-e<_vhZM)5K0r0{1tFE#dxNM;{DS5
zg8y4p#Fsd`oILf4cki`xD)k=P<%<+-6}(=1v;9dcwGn%HHstS8!H`;W$5@Bj*q(FZ
zR)H>|IyFaKO}4MmQvU4)3R+f8VYL;T6l4{AuAMt_-T6>Str1tD`sSs_E5E4j^U7ZJ
z&nC*i<9?XK^iL6`QOkmD=D%I|DoSa0&Hd2d71m5sC#<)XK0oP}K
zz8pE_yrRUm!7JJ-QZhc*FjQy}a|oyE!*wO4n`&9@7O{oCb()=4cJ*D>QCHb33BH+f
z6O~WeN7Qy6w|0Db?2+QK6w|WfAnLk~TG(FGRd+uZO|8((>oy3ruVH^7#AS5)efF1o
zv!_Qt`f0x^&QNQ5SN`+AQ@p26tandkSa7Z6O;c3+!Cxk|oyXJb7nY>|5-8eq`u(i9
z#GrE1(vCUv?)M5F-)4E4(d^G&UELY1XCAV@jxIg9SJ$MVwszr3_bQu|SB!h@?{)vU
zyzW+VZHs+mcGPWeJMq_t%G`p&!i-k%D`@VXl@eg@5_Dd+VdmQ|zmHYBjOM0kr`)N(
zzwPR@oqWfVgTH1~{}Ev5I@yzEwbZDnW-;U1i>jK&vl>OU&WI)TZ2gh9a?y&s8hNJG
zU;PwJqc*O-F=6}K1%KKq5~4-Cr26w6&mP&}C-chLbY?DlTUM^V=ghY~Ti%?S^ds%V
z(QW*Sy1O0boxXlkcXRFJBY%TRx>HxZi{T3_*R1E`jhX*``Sh1tXP$oS%o?gcd*A9;
z3)UG;dU#g1$%EHm2lHp4f&+VfOS`noo*%@OhsvaWqe>9DVVlC_h_%Y
zWYLV3Gb^Sg9{v7q-`ba*bEmGgoxk~=&xzWO2W1U6w|%)2*|@gig`U#;oIhMA_(NXI
z>7B1%8L|2fSL58ZYj4e!eVDCr*Rs2Qn|Za}f}(SL2Tip1y?!I$vw8kPn_#;lvx2R^
zmfA92e)i+#wC%HR{8rhwwSBJNzlY%!c7K^uw_f|y*|y55ZemIJ+iP9ZK5aN7!t1(o
zfv#5iTLB~I$iFMgIcDBu{kAsr%bES^b;4hKcIX65DcHGU6N8?X_<=90c9@=KHQ1}Q
zF7#u4XyMYN$BtWX{gjw~dDqeRU5iVui_e&_lCh>?apdL6jC+c<+++BcV(@65s~
zt!aP6F3ny!DSBN{SiNN0tn}#j+&Y^Bkrv#Rr@cX?0hen07njq9-|
zX0t-~Y;n6R?7zAzZ?ULRHs9}^oN;EC%jf%CjnC$NU?fuiWLvo2$CHw5etJfNywdhsZA8)7kZU2I-wc9rRGSm$bxqR)*
zzN@>t*4W+P`L@Wcd2ju(^yp=;jv2YsF83}yzh3wM^YE{H`&V_AE5BKFH=6O>jp%3b
z8mHO|V@}jNKHcLQ*|~j9Qhxi7>9NL(Crm%EKc{x@(&GmEj$dx}o!U}((6qK#_Uo>B
zad)l%e3X{p5B=zLKjlv7?yF3fH(vGG8xXR=%Esk?)2T>Xm%S4*6iEwP*dI9h(ff
z9?z-TtMSUUJapMB_Y%!j`Ma9qUMBN~u9w(7vl5i}jrE^+&kzqeSF$WJX_niueJ`h`
zeGOP1yP)I!fjum*Y8Vp>qeU`$b62Tc@s6y$?l^&`G;VW*xQ+LXxRAH!M6RZ6lU$n^fxx
zzrA(+pnk8BCG>vAhGh>wh?#QVUY#}nl=}q9s5|$9lr=Zc)tohTYK!@1GrsqVU1{?;
zZqN6rZ{06`E6=8yvFzhRS^2CPtK{!3U9s==1J|Qpr~l5JnSYkAb;r?=tJ*%tO-*E6
zQ=de*C*O+D_ni6C^=Xo9s_L@MUB1V!sw7v1UYzl-MX&Sa1EYIiek{An9da@xE~NIl
z6EEE&S{m&`ufML*D8u-
z+-Taj+xDS$M?&bADcr7Kec5B1Ug|IZoVxVw*La(S2coWjGfS+>
zy_@%oBgXkuPW!5@cTc@KzAGSbP4wm8+upB|c)gx|L9VyD
zgs}O%nX9a)J73wpi#7K(r%K`cnX5b^PX9g=;S@#Wto>!6~oSjOAZA;zI?iUmHUh{zfXm@)tk-al>W5U
zf7gU3GO~vb=dn;FY
z{5WyJCpAT0a+YGe*qS|oJd)9uSxkhrr?a$r9ISGX1bYY7JA<*^j+Xw_g|JU<s*DfIuQaj(<(>?gLz{gwBo84b?
z)PHo^_pOh^Q!h#~Kk}GL6#Iv1rnZqfp&V|nAE+}2HtXH!I4u4AN5Ci1RsXI;xzvg?
zmY&+lcK!Bg&3ze*R|!3glHOvidF#YOub*~-iPbKwlkV*3Zd3Q$)Ripk>oI4IR?(-E
zrc)+AkiB>Ehv0(n6_Z|WUhyle>57Q9{$J%sp<55thhE(ARAySd{3;!@U1F)SPlSK|
z**5Wq#2;?0=eFxiKF$k$V;eQKB0lsx+WZ)t7l
z6{@o)O>C*rrmJTbO*qe*8)zBd9x)|0`+a5OR^yLf3$m~OZE($fX_&G6!_VdB!C#xp
z8eA7HD7tOjc{@6EvcaUpDW^`j8TB~rd-6?8>-pOYe0nKwj=vG;*~FbvQdqx;e`CwN
zODAvdXfX>F+Uz#n>iz{M&!aIP>$6%`c~(R>UbfrZXP`0V-o2|zCs{R(HBQesvxb@H
zl%4_SC9hQ(A8Zo>$`3A>rfGNAa4Pqu9eaNAg?{>{8S<9p%=%3$x!xzfs0dg3r?x7n
z@Qcx$O{+8SMY~Mm4o&lEl2%T(4{7(965GphmHAJJ_zzDDofmxjkF{-@bp6JHEZKSW
z`X9F)pLMlNvn=A!svlyrwYp^4tgk(}V_-jGQ*RJy9IkwgIcY@BW6K-M?rF*=C%r1&e?T(u=
zwdeerr2LCtQfk&|NzI?H;#|pn=;7Yp^QrHd*y}&Cd9C>MY}%wg^{BwfAGWP3%XfAA
zwyk5%cGZ)
zos!QuDI@7NwSK3ZK>t(YQ1dC}7e6=N|26Nm=DWVhQwvSZH%Xl{(!QCy%4~tIuH;(Z
zYgTdHuiJM{3Y>GD`vrTIa`!~Lx%?TSKba$C@B6OVbS+D6tM9amx7&O_?tZ+8776U-qsstZb>h
z`pjaox1W9M<(V(1UHyG-gEzzEsOgt_7?#z1`lOm5YoUb@jq!xY8_u20Q0w$Z+oMfjo-Ip!uC3-!EtyNT;h(!M7?)r`ek
zqhhwrIR5^EJZIa5sK1>d`W1_2{^QQOEcxS@FI)LM9tCf=rbS*>j2D8R=X|}jYMa&5
z>fF%ByE9gH)R`PQ%b=?Jb?=FqFN=4aDWBFk+ajjk!R&LmSx=K7G@-nwe*hTIOO4qr)qHb|_o%zlrGW{#lw9dE&?h{px
zQw#MuuK1l}?0Rrlxht06N6uo)fe=r1hKE{n6>Jx|gsuJMkehg!-R;HP&t$rbKLzs)C~
z{Pmh)#U#H6WlNSm-*kFasJy@y|E*D97#)94Fn-Idy81nHay^59>6iB$Z6nz%q@+MD?st?o8B-qy}KeM@V)
zw@uiViKh4X58B5}j^G&~q>My~B9`>lUceghDy>pYJ;0*Kf1I&ipSAzAg
ztv@y`bl&r(oIMUXTV5XG^4@lJ#u;h(_(!XCPxq|X&F+zBYT8kfUvu)M+!u%Ev2u&+
z!(8t_HT;$Cw~|ACLH*=K^~Sa@3}<#1+)^}moYrO$eCX?$iyw-%iau*Ew`#B7G||*A
zT;zuAJ=SlVwKJYS@V42I&--!G)!FuKep7nX7%Xt0m`uxPLKC5r_Kyzb_T9d;S|@tP)Jv1&m5S@)P~cFUOGY4?1%
zKCJQk)+x_wbu;a9yrZQ1Uv=_IO={6yr|@~}sTfLyzut$)y?NNTYw3Skc6^`zsyxwqO{Z6`d6Xx^TXb&v
zmM3q@vuBsr^_*Uq>v^QV&~mq*VW9nTKg&t^^$RA>*|6v2uZeu2_kUmmVQQGv$%RGAJC|;))|>FG#xz#wqSGuEguJzadTwHY7^}^O{n;T!(p4!xykPOg8&zd~vY}VWFOdfSI
zSlQR#JwGJ(RGH(=kg&K*j!)Gaf}*mjCsy7*eqi?1Tia`S_S`Jhy3Kyzc75?fsrQ%H
zf9#lT`h)eP(CexbLiZV0xcT=_pSn6O;Pwrc{{oH9n``woEHB3?aLf^%uFD{KrIYo6
zM5A$ih&~64pKVs{J>6pc2d4X)3QNrU4^8r8ursZg@h3$$=eX=u_AKt%b_PeD1T?;9
zR!zUf&a!OtqfK@OO)uZv+Pw6E;j-QJHlF^Q{$^di5Hw-l))_j{Y$DsHlrR~rKe+j+
zdg%67EDxe|ZwE#mEoore8S3EaZS6Sm=Szm8sdF1rlN1iPrp{e(>WANl&e~0W3?^5S
z_Ga5`&6>-{qWPFTFF>`HAtC$2ipt2Xub8*Co^?=&(*4CC_2id>r}uA%i9hWc9&NHa
zU{rsRy?`-NeudFH=EnCYPdY5vr!D*5H1=44Jg6Grl8zVZI2Ecdu*QFD^cSXsza|*J
zWmR4Mo;7(5zv-9A`LPbyxV40q#2LtM-1nCM$ghmYb5H&{sq;
zxx724zkKS{xoxL>|9BMpea`%H&FuLW(dkEaPbl0|f16ds@BOB86Te)pVPV>CKjGz;
z^XF1d9^sFCRJAb7!sff*{RF*U-t|8w)RDQ{Hx}N#Gbmw^=?*zTvO$W1MHh`Xf1Dw
z%$d6R(WV5sn_B7D>*ra<&Wtyo!F>I;Z+P_6v_-$pPkdW>cslE6jx)}Ya}&g-YF=mE
z6Z}@>AkVF9dN(IrX5Xw(dLi}v-BzET>&Z*b>3Q8*bH4G)+kIR%+jX`$W}TkDPmVLx
z$W8jNwbhBbpsAYitaF1STh~wdd|AtPd79(%fXpmYXPd;Y5_31dezX5$y&ZeN_T73f
z?rgfCH%s@wgUR$uLbrXl)V4bLo@H98d7ZU4_^rsg;B!~MPI|UDa)J4aplL{g--;bJdZs3R?EfJ+d%%OWxZP^>b|5vWgk9c5i;5pBI0{>37PuKg@#GP8S2j
z#klk^>l)(u6Af->**=Q
zr8}3@S5Ehy#h(`A^UUb<5ucv26uods{>zMAZx8Bt+z_%~{LSoavI@_pBWVqbl0N@6
z*weoc11+AzWbHz
z-^{GWf%=obHcPJBcUmB}`}FqHnKP$73qF9{MV#
z?HudoSRbJ?PRI13ttTbiOBFeDTJYJee-3)W&x|6A(s?42j2#4z<;b5A|5b2w$*V9k
zY1`}=xm)kTq;n<1CtuCm-g-~9`OI&-wu2M4_8)w6%J_c2;f>Q+~Hq
z<6Wt$UD76u{zlj-Gp7(MN-eZ~g9b*OeLb&MvZEw=?u={iy=RBOzgl
z78j;)KbiFGp2LoLkIl2+ME&77x5WEy@a^*#-ZLjVoLLvV_B<2ovgov%M-kmXspDtI5W`_?*QkWVhEW}bbqzT>3ga{0gB=eBTj_@p0AjZI*=Tz}IwHFm)zn^#P)v#fdl`Z_Q4
zub%3AjlXuqFIxsBo0OgF;#b?m>;L9b@UiLl4ApIGjNSH~aq84|#_RxV9tGXk%oBDd
z9_aG^)iB|sL4x>%FO9LsY84!8OnKJqoqs=af&X3~HSc#n6uqq&JH(Iu|NPQy{%fIz
zFosoWS6Pq9nN6(^En(c)&TDyDFJRLzJ%eMP1DxkSzsZ^s`(VcNwG*fDGc&m6ZLhl1
z{?9Deb?NM+1zuGQ2I5r*O6+~F|F{|zIo~MmgU!{D#61rxPt26k7m(kS=54PiyfOY}
zZ28yx>zeNv)-!%Qc|&~5dn-Y%TV1EZ|4&do$K2AZ%NTNY6*tG1<@KAo^b{`07cGl*
zxZsfDyZZnK?-uS8N&jcC#WC});ZNCa?=r1^>E8e~?`MAnSvnTIF&2D&x}ysZ0Y#r93XTS-c0t;?6%`fvTum2QWcuI^y#D3px1VvGixU$0tg$+Aa#oyFuiPZa76^(u06=1f6b&h5mZw04`{RW0A(>+e3j
zvEqw3QkXW|8@xGo=YbZMHG)UjZ$E$jf9H&!U;RSvwP~JBovZw&{Y0|qRMz$4mcKs!
zEi-YQXSPJoLp6Ka;`C(~zh3=a{&{VP_TH2;6%H#(`=%W;*{pD(=
z%~8nOn&%eM#U|jt=h3s9juX{iyvYmncAclyQQe;Gw0CZkKg<2X`kvYLR-Of`mP}jv
zu~BBrtp3C2n{*UP6l9Or3$h(=tWT28m9rv7bb=i@z|Q-}lhK_2AVzr5F6qZTofLTTjlu4VUh0
zSk-h_@J0Q^Ae*3|jqA5@CW^IRxVNov{*su;1F{@k57)F^Idj|AETHa2>%Y|67EY&n
z-uoM>Z%k9Rc+sdo?N}@iv+&YM`fJKgMI22~&)9b4@LJsk!sh1=d@q+4yCD!{aHJ&T
z`^USxyi3;aX_}f6J5xIH@1xepXBwXiW&9SgeD&rp`aLtURKPvyWJp*;<978Odmmo7
zk@EalZg)qrecz;#F5T93TPH4Retd5K*OnG5e~Ef)f18iNGHH)RWVTjryUrr!udsku
zhUr^*hoQ(5rR$#0xsvODUGcwE@Fpd`#lxDVM^@?9d^zSHEk!@XOHL)esSUQDrDjoh
z^8Gn`=Ehal96hx>KNP-CcQnYz)6S^gshcRmA8Dh^$p4jn@p{K^^HY!1YDX+?R!Jyh
zWccZ#R(Ri(<(kA7dCeIP9?La0+(~2Xv731@(0R^8rrH}$-*`LwcfXo5WuNKCeH*`B
z-*lSO;Eiti^pE-sn{%EEsqjfJ_I!1UlYt@Dh=Bo`yz7m?$vGq&v^(LiUFQFTpUNj$
z=yNEoU7#Da)OXb~TRZ9FjNKOJa)MVZ`};liIpb8Vr7MIA^p8BB^V=e=uzHec)w5e1
zq0eVjFuLtYTP5(-?6`gX8g=8Io~5OZ+M%Ci_7^ng=iAjs$xOXB8@x3(w`kAiZ8LxG
zOSINo`LRCaaCSwImhQ^d^;NHDyA?-mQHcDRD6nMTl10a4568qGUU(|VplapqP<85KH^0Z$3c1b#Q!Sk?o
zOS#F3E&KNePHM_b4au}k__ll2{cZDq&h)=I^JVV;@QV{}T(AEVxq~%s#i9PGE|ZMI
zD-^r!Jf_V%d1uF$KMGwk|5ZJO^yHHYt{whcB(#1~#-=lizNYNlF2aMoGPB(eVMO#CB6RN79%}&-v2tEtmIj)uU$FcM61G+f9l_LeepYPywka};K;$5
zs~+goC~4l=%4B{qSh|1FhTSs9H;T8PEO9%;qFiPWcJlsR;Y*LLRdN=(I=z{w@^zWY
ziA66h1gx?e3s$ka6>N2%a!HP%Fkn{YNt2Fy+J(266~7%Qh~fMfcYVxpeq
z>clOeow3H(EM%%){%TH{;ahR_-+_&`Uml4X?W)?p^?N;He@)LU|NJ{<0!R0E?LM*a
zY-0G8{js9k8uM~;g>o;|FSx#lUAbUF+^hp;L0@i9H)?k-dNy;3Kil`h6N>dpE8S!5
z>h|uh-?g)P*Y15aKfb*`did(G96h=H_y2y*`2YKA&+P8?{^7H?-H(Z{i>v>e`}b$o
z1iWSS&hs!W{oC+ST+<8Wzt{UqTD
zOS-lzJXM^!hk26W)IIEzYPBL8o=osM=U}vS62H~LxHA{r6$Bsux1P}P@jr`7;-7Lc
z^|V#KGe7C9JsLi{P=4|ytvPc}sc0E?=FdsnV4I}FzgOU{Md0n6vMY_zp+>>Ux!D*0
z75)8u>7CEzJ^wEM`Fi~Ct7Q4x6_}EH@xNRmCR-Q
z+xgI@k#E+u4#C>fD}TxDV?Oyk>CpYvQQhYc+1M}myDjr*#GJWFMmA#d8Afk}&pT&S
zYkd0QQF&yM+ahKq-^C6eguAaj9M
z0oAFg94?o5HfkIW=$DM@Hg!(gYHJlbPjR`X!4nrl=T#}oj?GxOuWw;pc6#O=|3B(w
zQ-xnBBy&34rZd9C)W@?kWcj3dc|@~vMfA>tIh~`#2GHh(zWA0AFw-Ld5`+WOXz`Fzft4x
z1xDj7V%cp+f{RL4**NfCXp0Ks-f)&`@&i5}uD%<8PJ1{}`D9=hz#J4SrYP0Hg
z`C_GC@2h;l@qobcQ#_4NM4eY%d$jojPigL+vwoM9i$2XzoHdilc}mDMMFCIaBa3*P
zmmL(aou1uwWafL1O*U>SS_LkvBvfKeezQrcUcR#FO0@rKes}(l4s!zZ8GRI!mvQno
z9rC;$Z6VGdV(+rXyw^r%qMh0)|6oSV`O(ufMZBFwL+UM8h4~v5t-raoEN
zvb~cBu(T`fe!_xNSAtT%)v`?8BIGY(`BHUJmoZ;RqvM5;l~vr&AFVVh
zDpqzqB0u7&rF{mlJPycF*@cMdF^Z=A^4D&s|tH>lzzZchfFW#rnWQDi2m1yKJ^P
zv(rM!IJiJ1_U-dmu6?U&a=E4!ESZ~oKjFcOOSk2=9g}&Zus7xQ9F3yF>6hP`NwMs;
z%B-JV{7`(C=B>8bZc=xa_^(*Cc}Hzt<*HRad0eSCPrt2P-P^fBsX917wKk7=Pu$+;
zjLMR4D&fJp>egGm9rZpUJ3Xd;+kH_XW7U?&XLp7~`GO2G-U~J;C!Z^HL6)hRU}#DO
z*QzC-_trITs_U9`|MQ8~v+@6fSF~t_8*0s}ZEjrU_5b!Szq5&5HR_f8?i0I13Xdh8
zXKr4wGU%(=xue0Ry|M3{rhnlKJ+OyuKI@M=pF$cV64+Bh^VZf!t@U#eja<;A^|E!n
z#nhEb@!K4x2CIgwTy)c1V#TVmBggmtbyJvge(7vau&Iq&1{|}rLh~QS*n~RQ{9dE$
zdr3XyqRG^A&rO&sS2^f7h^{UQS^G?VQI}7k=k1rwXushy<$L|!D-jd5-cDNVcp)Tn{+;XDKMylrJ~CbR)mne+ry`4fTnm3Z
zb#X+)Dyi*v)|6>1>dFanociVT{MF*+2egjQaZ=5m`t3|@bK=@nC1-cPP3S#xW6GrY
zQP*xhQ+&K3?5f1`UH1;{tXOr+Y$ux-+k=^3PDX{M&kH_#$U0$at>3~pi}1J6htzlf
zXNK>}qyARZ>2=(UDvZY47jrW@>vE~Qk(hm$lYzk@d-?|pM)CT^$3EEx{bT(2jzAY%&$ngH7%BlVHSLGSxUe49ali2*xrpNd4-O#(G>zB>=
zU-QZK>1^Snc@jDykDJ$N`EB6bp0^=>MSaayHsjDvVe1>W;v_7%zn<;9I)A$TKZE|s
z=I4KYdS%hc;G2hd9#&$!MvW0
zdjtKBnMi3Z*O=WBqkHD@?%5hWhhsl69=m$z?zy`bt_8klue|ZK6Y9B>qmsPn<>7kn
zJN|)(CmxG>Qd3;``^r-ri(k{`A33FF!*n{kY6uEs9<~C%V=A|B>C2i5G%crhSf;cv2zJ!4VgE?(zO9`P
zcopol{`G6N*!dILdKo3Z2rGqg%}dx8Gb#RT8}Dk-gKqb7R=@1d6jZG=y`445)Z>V*
z{Fkb2#uAglCmFG&t7bMIxjFCb)zj)uIk9V=ba&Q!@Z4SVgsWbJFWv04(OGG2PYFhe
zT3NT~0y(4RVm2E$eck8tHhVL4pSZjK(SH>i1;4~e4UK!}TvTd=nKyX)_re!#&&W3T9eGYfR~PFK3j9dj@L==s_IUYx!u
zR=UmmcgdG>#n(MM@VnUi05g{=?;E
z_t(o+=r7}sE~|x$&%9r9qrLh2H=iRal5_t2v*i*_pFCj(x2bW2f#wCCJ;wxOAN&%~
zULLFYqD|t<8uOzEn^?VC*KnY0G`Umpe>)*PFaauf!o_;Y`TKeQtTa_L2n$Dd#
z7-hQ!tG2pK=?HsJb^qF~_gn6H|9Br(`1NYQ
z%&Q7YnGcS}O)z1$=lFW+(c(#03%=hlTGO`7EablA66PPTBbM`Ls7={uwoI$?+^w50
z&i4F~nx?!oxg;))!2!A&gNTlHV&Y=Tx@#HSFS_JC5?Z3)K
z#RC~GJkeD#em{A)&!bO=E@ZG@dpD<1=*N3O=}#**F{G%viCp~AdogP1$L}YOnwT!L
z?l^Ta>~*Y5OsYzj^;PB|Cbp@mM|z)cblDwTX`0ugYxKg4NtT!Yk*BrS1#ep=E;FY|
zo38U0+Vq@FoUqIG%gN*Io;$Wq$X^#y-?R7F``StK>YvT|Et4rP
zxKQ*tm(FePkR9p!s^?xckkIa~f3~2NCFLixq0Yq)1)UXN+cGuE&lYte66wuB?a
z{_5I5)*tmvpR#7R?Rf2zRdgxzo#n>Qwq0_ks-7_%`rGLw$>-F0{dU?V*C{{Wbt}is
zT>j)|OMgYj+J}?(iibINheXKPr<}W9+y1bNZ{Gh5jrIpE760e0Nu057`Uhi?dyId0
zHJ#bchIKzV%`w@eRk1>q_2btb+f3**oVfpFKgY!DqnOe5k?TUNE77;Q*Oyqo*_OjZ#
z!?&{KCeKNA)yeC{kDbo$uP@v7?jrkU
zg}txKzemrQpeUC0?{BzHy%YCNJ_XyLnKEj}Ek2*TIjQQx2jP2)1))+>+#8eIUr*c9
zQ@qjjiu?7CUs?8C+`z88_v~zUmc|wQanJkBtoO?-?9klSnXou?!}{N67Fe0>=Z|~-
z{ow0A)Ak%N%9pE?7q+YM@hvu)HEHd$wHj+T*WTR})p;$~s&)Gm4maV4&9*G{pXaPj
z{QRP~Uo*%rmTRXk`yyM>;Pn#0hN_QdeOlqQ=UU~0e^CF3~7Ue17igneJMj;4Qb6
zZXL9G^QUscvL8Qs+_ZmuFgW_tRc6lAyU!eTUo~$zF*}`0-tNjXk^evT%$>S#e_Miy
zk+0p+*S|83v@_iAJdp30C$jy+^Me;%b~ohKyVgu7`We%I{pXJhb~ZOQ@XKe#ia&IY
zuK01`V#SXOVqN`ZOZ&I@_&ZL$5ud!Ggzx{<JhkVPH^gP)&1K7X3B@$
zon-Wu!HnByx8#^kJ#Tt~7}+
zU%fc~JkczyW%rqRX4?rJu5Vfrq8~o92}Nxaj{5g%_0#|0Bcb`rAG81Fv1DMF@sfc-
zgn?oD#6CvR>F1pokJsPGE9XC=_2vJ*Pv@?vFTb2GKj+V+AL{#;sE6mhs!r6>JM>h`
zw=Q$3`u;61#J|2ie&M;i{mz4@E=SjWc(+&L_vafD*YAbz{TOYYz`W<!(94emAV{`=Y47_xCIL`xV_8VlL%%8t0Vm$=;y^7PW@ZC9SGon6qeFnl88vY)%wKiys5`Pt2^d~W&8jqCPEUNc`CHD8j!uQ^iW
z_scnsI*z+5c5?;QOa3^({!4Vvq1)^718wva@5@Oie*QhxI=NuV+$Ucz&HnNIpUeDz
zu~R;|R|_tSliAg1@b4F6JG05Ld2_0d-~Y;6D-v#~rtY)i`_BiAhKvvIu9?m@XHnhi
zH-8TK?)hB5{($8h7qRE{`5T{q7Bg6WzP|cSW=Y-U{r7%5>@0tm(l^~YZpXte`#bxk
z;y+0WY@NU4W7Pkx#p~;L&RSon;AoPZtLj(rvbA&mru%YfYme5Keckv>PJ?OT%!iZQ
z=5F{LQ6{t3fA(6BbJbtn@-1@8r2OZ1+)mtlJD+E^ZCO-2!@l~&SC{|D)(h!NJH0tl
z?Y-PuWcR=AZ~Cf^C7(`spPoWRY0rO&-7Yp}P<{j=~rlY1L;@v+Bt9m}K_y!AdGy^H^Q
z-JBQJN@)+Cr*KMr`@?X>uKwdA{d)&bZZei?j=aF}t#!tZhw{ON@7sePa+$8^D1NlY
zyj+5(;n-c*hu-$TUit6MHjkZY`0tAE2eUcb#2bvy5y)Z4WAb1j=a>rJk`
zbCfT7$#cwlVaNk5wf$+oc}f|(XYm8
zamH!NeY@5(nMdw8CcL6**5h~Ya<3{l$QoEY;gWs+Dwgf-{3G4|=8rz?FYTXa_mY3s
z-T5EX7fXBXtEj2TVUj<#QbhCKocVP-D*rz$MXXyWX8D
zr8{Z*zIto!#Yg-X{a$beD*C!`C{NDKItHtYozmIR;zQ6o-bKdsvzcc6j
zntUMppKjzU@7+g`M0M;TVk%DzccpOklWD?QXocoWnwXz@6QYrc!)-6iv%*S)&x
zG*|M#jmNB63CAzJ-u5-0TfF|j{-_Jy@s*P@Bs|>u9Upvs)whL9SpV>yXdRx%+~*rS
z_7+T!ICyWF<0*@|6`3q@s;pslVaG$%jhZSS?YX?-B~RPjw##{Cx02bS*6*o!+v9$h
z-ABaeO#Hm~ADs%vly-@~yd%6sKycOc9nDO~ypL#oT=vOl?}hI4>_QK(88a(d>i?*{
z+tB{_XO)zD{PptHCA_O1$eJ!yX?b`jWXX~!4c;AMikT@)FJcaPa@44{rbMy4*sJ{S
z`~O4x-_`}kRL_g?KiJpltfLcsuvWxp?~fHfznrwTIi91WGw+xVOTLt_{DM%g%)f(`hODz?dRJH{d|s+fJ
zA)Uc|83&nVW=L>4Df&+Ib-7>tWv~8za~734$5m~i4a$)X;r>qoeYvL`|MrPVe_lnX
zb;aR_7O{`G=i0UFFf*4glKq^^Ui3)8KGKbYr>4ZtI}=C>F3ezo3V;dboVy;s~D
z>bVxxU!3jIt-8+Yq0^RaVasm{)?2Y%u#{AIad_TY<`r7Y%-&!5;HPW5torW71^x2vkJlYmWS!-6x$nYP*OuO-`Ez}O+x*Sm%#?g-SG%d?
zmQ`>alfl{wE5F^>1^6cLP4HK*w|jF#LDDJfv-9lc-EZqBD|Gxnu5a2T;696${nDH#
zkJaSNvY8HjR#l5Wm%Lju{LiK{%bjN|x}7Ny^@?xF0t0y6cCYc)
z|9@e!t_-_`yZ!3p8h!^&osY&23PhhrJDA3IC4cXB71d?;=6$cc+zelgYj
zi&ccLgLv+){=$>F%_+>&RD9$*;&}fWD6UyH|H68eMa<#r7KiG@98m38)gZ7*iAk9u
zlb7)o^ChO07Nw8%Z!ABsutMV00-N)qTg|e|J`_pwU9rk}yq#}@fMdO`v#aQt&8-Z_
zZ|uE%y8rq0M^}IIKYIJ}>CTG(?>?>fpC5CgSzz)`=|>WmcFs33tFMseb?cN3nv}V)
zP&jGvx^)xg8y9nRT0gYe@p<+_`}}i@^mRGx9j(s)v-Df68j`X0jl6kZbii+I&*hfw
zGhOdrY~7X6z1V*8ZEunJhQR@9P4y?{YCSv9@m^|@zo#O{L|=73n}@ZneB3o+o@u^?
zQyXU$G^+>|n+u*+@anXmv1{e+kUeuBiFPfs;%8hNTk>(^R*nPDJw!KW&0p)DZaK|O
z@wZS{op;n7_Nfi)j=gkND{m-vG`DJgwt@Kq^Bdmda|Hfz)qLdD-&fuy?r@@ruXbbo
zBnBqa^<|o(A6|X=UAxY7^)l|a&lpM;TK-wfIOpcl|8KCpHLIH|~13^E_*6!D7#(li3X#X6}F6j9-|#$5wv$IbBi2L~Y^K
z1qvH4&Ms|J_PjJ>OL*z|x4(@*Nd)I=JU%jgQ
z6&el~llhyzs`#F9*^zbh!H&6ljqd9oa9bX)Wp2}L{dA;n`#a&&2Uecsy|9oYyxUq|
z?bu9_j?6dbo4y`VHskY1F!t5^-4NQ6m&)3t9kfSOlY8nflcVYWDxWh%eNI=1rQArK
zW0rYjtw-kWi}j&<8jbVH*m~csxEX$j<;1BK?7Xg%wRyy}XGD2SV*jbE_u=vG^aYN4
zFV(-={_UG_E?bvIxQ%#one!C8197^d-+vr^S^Ku*`4S1bN0!{w5pjq-qcQOEhn*
zw8)U}6#M&ioid;G`8oF{R{U~to_@8b)Ggu8Nv*F6b1OEi5v*6LznT?yV^X+Kg=e=|
zJ}?XaF^hBG;=vh#zQ-){A~cDk%C@9p{L
z|5^T(OpTa(G0nQRjPv&4tNPyczL}SgWkvqvOpBU-J%QQd|0?~Df8HCU3e{KY^6G9l
zeQ3GLv$SJ17AKPv4K7EhGRDkTn>;NyeYv=M7LVgSh7C3itcu}6W&6I=-BDoQ^8Nd(
zFJ)%8tsM56PPuxTfq!ej^n2&NW@AS>rTF%zj
z+?F)kHAl8d$2E!JrmouTjbB%CN~;#ge>(JR@&5<<4;vqOg}BsjJt6h4dgb@`Djk~n
z{I6|uG{r3i65cAX%vrs{F#6!73AevX>|7=~z3)=azJz~{~Vqs=x$ZDuJtIKddos|*&W{Z%g?XgGm$~^
zBiFp(oJpI`*1Nu+wfL^gQOP$?H9Zg5xmaIfpHTK&a2N9@4v~VZpPPQG{g`_Gr+Ss)
z5rKP-D~(QDR|RiQm!6`-<^FPYRN1kflKI{>+kuHmJaU=)QoV`I(UR$|-siKDjV`k~o}D&rrn>*CjtWm8gfY^1f%#x4CS91Je*9cN7a{T)K`l$s4?h_tyR&+k8
z661d>)*$myaaP;CC=1=?{O0vR%j=KaGwgf9H_g(MC7$)-;(H0xJ%8y)KRDI>KKu!H
z*iplKO)KS#Js*C1`||3?qc=sJPb}cPG$YIOLr3zo%a$)P?Km=TeVu#o!rUb-EnmN%
z4CD(tr?%pP>x=8>OI94+@??o-?u)7F*Rm~QW|!Nwo-OxEyY$g$)&YjFo%%18qwMRQ
zk0-o2dt`3qtuI$Xd~awxSo@}Z?HlHrPDM^vM~075=I`_so~j=0-yq~0K4EwCrL~!y
zKUdss-ZC$<1X&H{aQ(HH|l%xH|8@Z*TP5RIRJxN`==`dZfQ3iiv!>yU}{u(
zf9K`>uz*4z&g%wWZVB97XCd}?p~C-^z7r4Ax!4oetU7Xiv%6_aP|NGQ6X}jojBFDW
zYc1YM@GveHsP7UtP*u|oI+M8agW=_Nb*Y`7WBFh1`l)oPcKgvSxq+>*Uw&R!<>5KS
z!W+G1M|3yG5u0-|4{p@n@cVL!J81e@HOX}0w?=c1er=YYb-`M1g08pLG6uFI?J5DX
zoDJN6&3hT^jW&fZdvc`xLsK>LQHDd`rr$74*)>N^qW1R5xT})&lcUczB=0=JdY`Gk
zokRcJ!Ihi1(|$F1or>LJQ#{@7=Bfu;A8t0U_Y}RS$~=$%tm6i@gYynGRJ^v9xq3HRZqJ>QLc
z?e`j-6n7~4$>d`y8lFCX{g--c9kWFLttwv?bZyQ!eY1KH`($a;o8H|qjPYx3zB254
zm~i^T!D|9P|E}enz#9=Z%WaCB=&GxygqK{6Ij{Imx?M9(CALenoS{2w`eyl~7W0k%
z{cdKTZ}sx<;`KcuB}#@a(FX#j{_MTllijCqlHI)M&J2e?2V-^q^ORq&=lraDp#H+)
zV75P6ksfpI85_LlQJx;xG&LrWooT^Ai{EOK&V4!{HdXIOXgF8Yw!dr4UTOSYcZg%!
zUiSqhHa`POe%T97_xpD?XqI}t_?8)uE1&yr2&v^+y7aU9ZbfE>11Vd|=Pf$*#Db~S
z}`>G(n$`2=-+>wd9|
zSzgcT?vFt|%De{6PK4w$%L+E^Byo
z>p3@XvU{!h_ScOw{f8pUO;6svs&~#VCe^IQhJDeC06(9YM~y`*ulI^uB<|@yFuSnb
zwd}RmZRpMr7S*)If?1!ae-sf^*h9bQfz-k7%|?SGUxiW
zj)WhNv?uA^{lp>SRjoRsQJ7iAG02J8j>++{>d)EF`HG9qFe|>bZK_a}y*hLHZ>6^U
z)elp{7p%Xtsrcx&n<`%K>uR>1ee%k{aPIDYktt6s7H;oS-jl|a`D+n(glKm2
z|7Y)N=f)g9I`fX>+IQdTTg{eL?tb=FVamtq{>az6&ac`3Ysr+K_c|-z*FM`p}M=CPzM{b42+x*bDF2dXY^bS?qjVP=nYK_D|0zJq!Qi^}{E>W`SJ&-hX)=
zPFdQ)(wC*3X3amNXt6r-+D_q_SEDsf6tEt%s61_ZE$^X&^@CMse`d|n3DcDP`0z}-
zY`tNd@&3|C8HiKsZcFvj}U{@Gfz9aFY
zg1q6*)U_R4DgBSnO|Pqa@=C|%MaDvYrFz@-)>FGgEFMS1FMewrzWPkfqpAGXIs0#Z
zlDhS2&-#Ef6Arw*ry5wJer7{dZQ%5KXC7sqeDV41w6uWv&aEBlE`19pt-Lm$X`aFs
zhevX1J{iKF*d14NSD3tBd?kc6F6gV(i5m*{zwI(TS;G4Ins~+%j*Sn~I`19c`v3Uz
z`{F6STJ=49XE5y&daQ7N?<9YVX{(your28QqP6?Isr8JW8*Cf>mnV34i+es&bKFxi
z>BxS~e(gI?=H&;?-`BJ@s&AK1N1%zx92V^zrJkWuJ6yWVHl}mlKXh4P!}GZYW;+u$
z9;p3%_QS#NJ7;Wv-ErmThdY~h%)O(a93)>f{jRi`|AzBIx%Gw(KPxKU%g?U1clv%f
z|9|`ay@d^{eCGuGV%u?`{Zx-{RoF!Cn_&{s&VpXQwmjynW7wS$yFb0W;MTdP6&X?v
zCR}%!<|T18Mr=G6RJcVaN~~pBMxMH|*VQK3)!A8DYA1}ju9qKcJ}A^E;~~1J`~I`<
z8!r}x2wuDWuOnywk{-4C^oVAm#Z7lz`saT0+p)*%?@ptwPwGS%96n7s-xGB*i%nS7
z)5dcXRgyt3{mk-DCJIsAc}3f~@82SL^5h
zJn8gvZ+<{48!buTE+^{`yqlwgt}tKKhkQp4rsYrB^kCp}a66mu}$=(0s@hS-A(
z-drhMlIMM_rPGaCqPjVClsqz&gfdc3#52FNQ4?r4zQrbdO#H%z8HX-9Y_2(S%qec}
z!bZ=9ce9Nj-`>|%>smH7iKqBr^u!f&d_rcpKURKzeDRdSe1~5MUgNwQm&Ddl92Axk
zr*glZ`&4LhNX*TyJ5wf${%H_g?{iUVo?_(0%B=+tW=5T`{}2l9t4a-ZNVR5qLlw0r-
zyUmf>;+r^Ee_{Q7CewY@XWdzy#>oqIe^ARPY4??^y_J4LoUyUsb9;?(OYuaWI{}XU
z(UtGMIOc9SaLi8BDspe`e#;4dET=qHYcgHbdvZU>k*c;SHCv5A9IYeaH~s!n^6rnys_qPhX#sSzrHww?TJ%J@cN8fqT~8
zy&IR$ApGxx^Z|+LJ&ew;ZNJUPX3$x`Vb#y_Ga2QbKU?nipZp}aX8p!phs)nw`lR&P
z^6iG1Ik_VKYd_@NtDSFsJjeb+-e<}0J3h--?fhBu`|i*FeRpfF)xNt^|LyC%J1!62
zS|%@hTsrkgppo|XDM2cYcewpSDx6G=_U>2fZ=BwF@QQtKr#=X7?fhQBT6A$*
zLR!x5_c3J*YRiAs^(gI*ZVq#OU0a^U8B%0stutw<;m)}BgtUi^SzK)sR@(Dao_o0P
zuKR%{ipQHu%9q60p7`XvGdrTevatSKWS0!bDq)thll?_hW0mivvF%qpvQu#j!>;HL
ziUr$GPhu6VOP2gz!k_P+>Bw&1r}%!4bNtUc8YoZNe>k?!(!6*?8bAHJj(ceqzHso!Yn$VElJBVXbk@Xqr)$c7&2H5_yZfVfMZdofO0`OKo`1alj
zD&T#`By8|LDCOMDlV6_3PUQ(?7f!dxYu2hQ)|@TTWW2c}LuhTgv&!$blk=8dukv+%
zI5RJ1-ogbFtLmq?2fs_*x&D0MABSio<|FBUgyv7OKC|hSp+ceW^h3ugOPCT=T(Uf>
z_`-`{FyHZPX=YnDdxJTnV-DN?*)ET)e~I4=sp|GFjCeS!_Y2R5$!g!dK3y@MG9y6$
zz+&|Pmz}YXr`fbsZaTgxv#RgTaU-F`^54E!4!zrEwCC<}ou$vV)la$79k=$YQw94j
z_s5Jd==}jn9cL;4eAw0w8r0S$32Eq3Z4!r7Sf7I`E
zNO=`cST4!Ldj9c|FU`L>k~C`<*1y~$5wfp~=?SxMEEiWo;p~vu$LWD4f>)lsoV;ck
z+Y8l4{Hou%g*u);+?D9$J0nY0(>*1?)=xW~e@ax$bAAo|{+L(x|3BLM-u`e;eafV(
zQ^b=R=SS@^X*4NG_T|Z}`PO`LyXhs4UlE&{V-qJ{a@8TflMA
z(^u_I?=G??1T<|ao9FC#KmBOmDn6f;wU*9q?Vc|eu6gBjC+LdcZl9F`p+9#&yzA{b
zbHbTTR+nBET$$egPU7V17xo(3S09?W9hlD7tzN${GtQ-7p~EA6i_4zI>3bH296RFr
zYw{`&O=o?k$FjEPzTfbxpObrBQuOx4@5MR|6`6~l<-R?3drL1bpPu9n-TnhNu0K-n
zsrawc#CLOkK%wrpADi}wwdF*&{EvFSXUn@qIV*dF{uVANS@cV4TYpyZ7SpSn)Y^W$
zy{*{QX(}L)QGX(;ygEW^4Qu$k$dyX1EKj9h-V9&oUHHZ4XIFsIilFS9#_Mwq&I^_8ddtM&lF%r3I5X9H=NPkK}`;l!$PemO!-#KdJE914svwfc5!%e&?
z+R4WbCMeB&xbuaTiB?~+al~3z2kWN{jGi2KntrShVmEYI+*MJp_}}1=4e#<^FKv|o
zOOL72?!xwJhg(+e5X<;v!u9`W|Nn{8gjZ=F7tYR8>a}(}ShehQ
zUjN02mr*=Nrmvgu>~`<>`uQUI=d7b`E_~`TzrCh%(UvPk>cZmc_ov@mky?{!o^||L
z>XbN6c8+;Q56|#AKVezMWnaI{J$F`?`kjkqoBP;8PKJeM?R)%Ts@&~)ekZ>DzN{Z?
zK6~n0$AeEqc6(09`L@?jed~)4nZnx|Q-($UF71RMo=oH#u83HH#{pioTVgbn{w|
zrOu6}S@+D!H<>@0`1$Q2n@tzXA5S@TuS|Rk`#g>FDUC~4-*G85SuRxXp19%PX07_5
zqZ8Mq=w~f%R&8Q0SE&40>iS}n5_5(tUz=&JUnx)cS+|U3LN8zAd1fkW5)yqm
zD6U#iAa#+AzyyVBAv}fE9W^d{)7w29H8-!`YUSRwKU(PZ)sqztKaXEDPWeA)Y4Ne=
zD>*0V_ST8Yriioc4?oyB_2;fL+3dd(p5#ra->m$h#)NIQD&Is7zomRl%664Y6z9eX
z$fP#cHQNXNXgFf@cHSwS<@wP}J9KZP`B#gd$(?nTVQx+ecj?uXrCLezW$bbuu48k)
z#+%PxDa{kaS+&Vi_l@X!i|W^*Hm@IYZ<6#}d~rTYjzy4&spGCovjn|XJf8CN>kZG+
z)Z=ef$<<$v+_Y4FV%bmD>uc9DZ4D`P%+NPl{Mp3zZr|jW>$O-|WcAAC9{8?lU6eDe
z|6D}Ow}{o(7TR9FmG(^_@N-Ib`iA|Nccn*Lx4vb~wY__)_}cwt7kTO)Im|Kl4!e2S
zynM3MiCopCjiCxD>hUFQa%YmKUhLU-_SBD;hA##8+qf$-X7Fh~
z6Itn+`gfECSTR*+znC8_VIop2Xvd$7+)~gH}`{Sqi3voZX>COD(!0AmDDyNi>TZn#l
z+cV8){Wl&lAuWc@Vy7M~p6Zm_d0F3h3i|?0vkNLdR*f}}pFT?2I(vQ4PHUg)O`6V*
zhNsdhG<>5^t>7zA;I;OwL(!XODkPxwnI3$-~zlvQ(#befw2AV|)F?wW-y}?F
zHCW=$v9S!!2%6NT)G>{lmAu8lM&FC-C1nqG8O_wyfafVSgj*J6|WRIA*}Q=IPhx
zuNrwBtQ$;g4}89#zn9gRXJyR2=~ayayz-^eV8j?qQYS`4!c)`!2rhzV5a8Ym;B+xZgOiq3&no*?F-XX$Hp*
z_Epy3`u5&BLS>44|Lg0nZF^;}zYUNqZ__bb8rG|M@f2&|`Jzw7YfOZH&KFn5SYl
z`P61-*Gt=~jXwS0;fxAAZF~NbTiGwkOA#%SiF2oP
zPhbiSuq<3_r0J@$vxiUH-p+t0W!^%W18nnEDwU2#)*FRy+GDcvt>C?sH%D%Jl_fEI
zx}H=}&DXToY?Z947y6?$=TVm0&83}Jm%r?FUsbgtQJ=LvwUaw9Up4&q?5oE6T~+j6
z<^C)CGW+Ja%=Z!pUza?Yv+(cQ*)t_pm8-A5`}f$)X}cLZc~&m)J+Hx?`CKR7H(cl3
z|GXlxwH7b-GO+zSQ_Z)ZJ0$P;*}~+U6%B5uL$}>Ld{#)XF4SiA;!Q^NljpkR-(h~Y
z%A!-qJ%_VY`rEgN!-`wa-+8mGTUtIq=-#u86Q8{f8$Z06>o&Kml*uF|H*b0K=Wvhd
zcWf?B>pVWSdiDMnuXx|>IwW`^Rg(c$9iQZ2I|s|L;G#^1CFAoWE*1
zZJapAbLZ{D^}5Ak(_fza9JRDyg?4Ve^v3meceD@a+&R2lXc1e{wx%M@`@eO(^_FU!
z(Ykuzwb5nWl&x>2pDgJ8cp@@yayxeso9hbaJu}YEw==BDeKC8D#qFq$TGkDVF6}nb
zV>J8_`AY0cqI;X=PR*ZJmee_`HfzcUXHfwmNZvprMbbNca2elU_fV)B5z%
zca{2t(a_7iUe|drsn~W7fGF2CYvu
z!*%nnTWY_&_34IBZ+8EgD+~Ya@Ublusw>ENk~O{icxcV6KJTT`)f?P&WUs$v4_s6K
zM|)*jMC97?wZX~xGm}HkB$az@+NZ;-Kl!DmZRu8Vt1HbjwdRN)`!L~eYx)bjn{U(C
zKAOA3Au5z5zdgEs$CnQm+@tp;a<{!}KE?2{xZmRi-{P6aU%#KoZ$3l1Ir#P~#aU~D
z`QI@m)C%2ubfsVZZt2v*oJ|#%E7z}oa&WHBf}Yxj1mgn_H%*bC1icxvy1U{dpOy
z(I#;1O}D0me=37j%?!id8$~CaeCzL3Zay&oXSq)JtCNn?^x4#nC#z04ko+JpC~s*f
zM|sMX-HUxTmqhNnvSTsB^x5YGotkufPsnQI`e(Pqo_}$j#Ze=qLi@A`ubt>rr#o*}
zEo@?M@BMJ9^SJ+Gk%gLqdz!Vs?~~c&A$XyNW%|Skt``hk>%v~XJyXD!)O7j$2Kk(%
z`t4uTrt3bIjwqYaiYjq^H^J0zN!3=ozLheY0h!^=DM`G?u8rQ9lJJ_
zk2`kCocD#Aq6G?ZKaH;>rMRYi{uo-fXzuA7>%N`||7}|TbXkS5^T)L}vt~}Ru8>X(
zUb27Dgh}~rKeD21c9&EJu24DR)Sxjznl)l}Tl0(hlE_xcDTb#FChrj|{>wjwKbJc|
zw(z6p{_}s%+`F&*L&mu>xY+Z#`HBxeI&{pA?Q+%dJttQ7bl>|eaX;S&GRF0I3RD_r
zAIv*>j`0%9)x_P4oNP-c{D_RNyjCdAvO3rE&R$DxiN0Df!=C2$Wh}oEbN1P5`
z$miI!Ba~4`y5?~5ss@AA7blh^6im$7s4)L(cG~mOr#tzla4WRG_w9!kJEnfZCXBy&8DWh@asQ~^DNrh^+#JIm6vHfHF4c3
z7B-Kg;fmfAZh5miO=dcurCddr7Ee1qN%(}ouP8say^fmk((*EUSEp+n`_;3j=*7~P
z{m#4vzB}1;+;_%(3N+Hbc5eI3t+&65ymZq|c&Ox3#s0E`DS77_=BKL_q`eMKc;2$y
zdfB99A?F!6SRy43%0F#C-#w-NY3i{oj?YsU`o2^RTf{S^D$AVr;G_tf4Cme7TX+79
zdHUM5=7ZrD1xcp+3_l)T{rU6iM4zf2UU7w~PxoE
z8FjCHe(opk&9yh4sT_5cdGhCmPAB;f#z)@ydK$MRWJtL`6!gk*+POrNC1;leUH1*Iv@6vdw~7~?|3@hP;eXZp^&I&&_7d`2{OTM(#(F(8+g)Av;gx6z
z^AGvjzIaywsZ`?|@_%;USib)IyF=}_JO136xc6X`%7@<*;$?naniRYwZPt@5A+ds$
zIY#^Bzg*80JafXx{)B$}jCv0yKW@R_2V$P{N>>&VA8u)7do!&;Re{eW~KXb+>$q
zRAubn03~q
zhMZeolq&RnWr$S8L}rcsoo8P>j9)dMFIulF+H|dKiV6?g;?AF<#wh(~!?JwWREC=SFQqrU
z>6a~he2+7|Lqyeo{*)O-zfK=;ntp{(YrCjWO5ipbwH*fnCaX-*DYkIyGRz8Ed@#WI
zDaVxFtqr4rfj+NlhO1&TNR0Oin)?qcP(`xcs?!c8bNu
zyf@w%Bs?uMvnp`tYp!DzB&v
z)){Kf>lR<&xRPtT$jf;4C6T8m`$CsYHCXEs|GRJdPoXBQq6E#!->(%WYj@R~?2l?S
zdMGlD*`S5(lyj}u3Y!yt6&>1^PHp}C>67|Oj_?X=hps#mYjn5F@$9VPjS&U^B03Iv
zvp+t}FTcS2x^uzj`mTp5%=g@wcxsl+teCz-<2tvU&hvQf@3&rV
z(DL?}&Ubysnq!+RzRcRJwn?#Qo&20dg@rBC7<;C^H1XOHawT)^qX+H_n%Y_d=l@&%
z=7U_RV}+FEs;g4FrXFTvQq)`leS6`30Ayk3eQ
zxIBGwy@`Oodb-1pxsK2ODm62yDmmPb4B4Qm!thcjLqH^p!#&m@eZFSnMB&v}9Ob9+
zalE_#si7d?4tLDl^|ALpMr#Cgu2{_C?RK^LL+jQ>&kJ4|3zh8sys6(LJ*eM2hp!`s
zpS?=h(mF;=Q25dDNBS$wbscs*xuhX}%>U8ZtcQzZ4%AESFKusH`a7C0lJ5=AsSo^@
zTK9bkd|&bE?W&(uw7UdYlcpprX;+P%@npg+UzMKA-@W#4T6=2V
z*=<+TQkA%t9&^%Vm+`t9yz0Up-8y}bJ8e3tSsVtZHMZ%V{wC9?r(ZW;NZ!&_bADD{
z=+UH`Ixm(iIA;
zCv`nco|h9uI?{~}AN`jub2`C~n`dd>eBTZHFE*U3e*15;ChOa499vh4p7rm4+3+Q3
zhI+l${aJN)R(%qz=}&nS)3g>g
zDQ%OGv3wDlsvIP=_!`I0qN4vAE=-4OTXZrm2p`zt+w?VTrbs03N{O2>MKSMm@;|St
zN`L>rHALlxTW-}>yU0t=xtWw6E<1U5liAgG-e<2G)!)bqNnHGiGk$NP(MbmX@)b8&
z8P#T;WVkDM_{D6~35)smm`AK~wA=hM?_o-KZSt?6E7pp>AF~2ya_wAVcjUn*t6rrK
zI(-i&h)s49-X&C#CVA-O!Zj(=eme=OiZXJXl}=DJgR;R@I*HDd$@Gr?jW)6+SDN)KWjQ=s5&ja-QOxzQSta
zx(QARAH!a_PTa@om+<7;1a&(Td%mr^tTxWtdOh(xF)X>-1z&)
zE52iyWjA-K@O!*)wmPSyyyRzsS@G?h?8~>Z;tdbYsVhm&-D&vOC@!bIZClj$WjoIv
zieImDU}r|k=7vQZ&wiPdwA#gcw|~Fswn)C$DVueYT5`gdZr>U?<=*iu-;lbx?~1W`
zvm)1~T)y*bpU0N1d)E2}zutYTWaD1V-Cv({acwQS9epd`)QfT7@0?R_bHal1@{6@r
z{VkO9+hW@4qt2{#IHyFT=t6!;pk=-PaR-eo2K)a4KX)8ok=*zHnsmzLr;29NE<3V!
za2(Q`{VpWP`NyHOof|?}bW%GUZ!&C(T$6D?@{l6=B_o;oT{Tj~Q
zoqh3ERBZ3HXxh
z)vpv=vv8HIla}%C_^+ST#T`J?cvG&W(K
zJ0eE4Y_V!f`9*_m)^Ysev&jDW{mGK~2I^~+-kto!VHS9DTYB29rCa1r{0iX@;fVY>
zGxyvTk7)(J6sMa>$ZhJKP%XVGEpQp1$DLIUZ^NYegIZK}Bps<(k*qU8t+!lJ
zZn3D6$pjvbne~E-5iAm#`c0~VHonYD9k_P#)@yB@IKy|=*_IjzR?5;Tr
zoi2FK*N_y9{&e}&JLPPrdz}~ORxjUVzw*ViwOl$g57tSGooJNIt79?DYwEs}YjWRuj^%e%4`(
zaa{kn$Dx5?_TR$d6HO_4w)tOQ2p)UK{^3QiU_y#%gS&dyp*4X#*)v4XC7)Vk7@q#-
zY$@-7(!%F^cBPj%y>ET{`1lW#pK2cjG*V`tx_Y^H$_2%%EG_G+zp<^@mCC7H@7S;I
zd~s8}amo*i@9M=XqSK6L?$D9vDSgrSa+6VWmdB?xQ=%LqI#R?KKJamRoJ@*@Fd>
zSDejTq2qC9-A7-Z`w9x-DnGWqnIM{8QuyOU6yut+De{u#Ip(vf40gpZAK^*iuVT=0
zvMT;{{wdGV`4dh`bsf-|c=;gLiHgH4DF#ZFj3?DLFq~SOvov~5#ZrbD&-ZM~ncJD!
zHUC`e*7~#Ek-9U~R!=#8Dz9&j@7CPdZy6ikOlJQQZFYY{p
znZ^kokp|}@SUxO{h@RDSp*X*dSo3fF|E1FB_XJs%c`fx#SXh@^dP?)otJ|;kZ`*aJZ@=VEsmvFu*4z$UIwk#G+*`xB1;i9zGHv@l}`fa+!r)L%a
zZ{M=|Wu`>i!unM4K4C2p&N2t7f(IAoZj)Z#Cl7Jt4t
z?vd^7g!zi4aiJZid~OaU){Hlb(@!yux7eewR3n`7Q@dSg=9aH;-S_t7v{!>Nn?w$@1QVeFHUdz&BIn8rVUo_NUt
z$A^`lPTq)}mCwJo`-Xz@SNCfn`%eD&RJvX8Ny~QjDZ7>}Vl~?KwyxH>vmm@9?9i&!
zKD!=VzWi7_dVh_tr@-1}6&g}$+gH@Ta9DbLk>S#ZD%ZCwFE-q}h&x=ZzI&cykizq&0Ph5)}ETGvH|m)CA#=UVA*AiZPm
z{0ECX>@EK~?)cA`zVz*R*ZMWvmw(&Ke!nSu*F4ktg?2}L7$$IwCI~Ky;+M&AxZmaQ
z;K+HCNv<4GT#w~TIo{N0?OHmqnY(>ez+GWWIc0--E~`mLyC3H)Otaroug2xWKCy2@
z0f!UwJhwH8Uj)j!!yLZsPhj8hX5HFV>z3uam&$B-HSLZ;^1`NL&!zrtEnFTPx%Wz-
z>|sBaw*{Z2TA0gc-2HT0RW>})0%hYL`ZcRq-Pcc
zZ=TSWGHXR@#D9YuyInT?F#NSPVNsND^NbFYcRx8KZu_V?@(9Z|J~W!wX;5XqY}H{k
zQ;{dXihkDpVV=BESY-RTDn=J3MwRKes~BaN3=O6m)H1%Wk9cz0Rf36uVIM04gAxM+
zLq(2$YDGzEQC?z>Pi9_rF$&KRa=uw?{%ix0+WA}lC;YTE+_1zuz+>sMmmw=xty=e&
zk?)R5*x$yS!zcFNKl(Cab3;%s`+?)%<>Kf6-nb)gii&B3de6BGn?4Q3xwD;K#JbhT
z$G>wk_L}p2*MmzLCtfhh?2W7YyQ$$=^VJwTj=ydbTz2=o+p8aZEM_13(YrUMEGSIR
zUh_z9dfD-q%trA%{s&W2JVjy+kG3vzZwq-kUor5`zR;%{=Bu8><+Oa*i)RY5TF6Yvq*{jq7i(J@L@yoaOBKE>ao)`?WhIyVL{C
zr@Khp-gNoXu^HvM!M`OH`wrflwI^u7-#|ZZAy>m&Z(Uz%Y+R{fl=Z&*+Z=(CQ>iEB
zw1;cQvggg27<%B}FO?~};%lyJFZnQ0+oA2<{3|hOUpUVnFNnHdUzWGTkTo)~l;io^
zg~yYQ<|_J}t&ffK%+r@zGh4`8xU1dk{TZ_=3=9qe3=9I0#FU(vlkA+4n3)GkIwj$;`BH`g
zHS4eZZ+N%&Va@#z#fe2HV}ITI$G~#EfyMpE!c~92m+s20KIc4N;P9<^cjwB^{(b!Z
z^2d*^7tG{)UO0EgZj(r!$KUo?_vF8Ra{T){@5wsLUZ>s3?R#Drp-$4=AXo8~-Er|+9`q}3g!rs^dMOH`I9Em1q7CjNGh
z(vcgJTpW)XJULlCNxt(4_skuM&)QbjOFzq-u_y7Hm-gZ;rbSB_0{t2^R2`-WDtK`S
zJZ0`!t>zTv+cIO@YBe{*!f@Z7q*v=^NgRC=YwCO@ST{s>_e`hxSr4U^_D`KuRsA)7%R4(63|&1a`q;FcI?CU=`l;?7o@jYEk4yOd-uXI>$0V<^m%o4LhmtFnV!;6
zxnz9B@XEa|ucbbf78jQsN@DX|W$f{ZNke#582e_cQZ>=cGhw@LBs8wPQYofd#kfLA
zX_ZmW!pB-xYkO{f@6BMe)pGmg=ErYXE9_tF?oof=LcL(;w^EyrvWm63y^i9&6ZcKi
zF;H`>`ZT+5!oBLL=@Ff53F%H%Z&{BW`I$*lVDqy7kP_GGM=_pn0gzM3i*cy*M9l
zHgmh;d9BOg^~|%T-eR@ulsI+csgWAE>fPxz*?6ahz7N0$E(adC$mN&;D%XOSP
z6L&lj*s8r%`%ZC2O@*4!>$cAwPw%Gkb?WHH{43VhIq~?4j6wGLQx{&`aJ0J1k+y!p
z9_deov8lHOKP^)*bxH_1!n$R8H;-YSi_?YOB4$w^O&2Y06IxckYkf!Z%j5Ud7yUEY
zZ8xL*6`SQ6