From ac88aa55b6c8a033d0456f8c35a159e937ef6065 Mon Sep 17 00:00:00 2001 From: Ye Han Date: Tue, 31 Aug 2021 17:25:52 -0400 Subject: [PATCH] Extend cardiovascular on extremities --- .../engine/common/controller/CircuitManager.h | 112 ++++++- .../SetupCircuitsAndCompartments.cpp | 280 ++++++++++++++++-- 2 files changed, 370 insertions(+), 22 deletions(-) diff --git a/src/cpp/engine/common/controller/CircuitManager.h b/src/cpp/engine/common/controller/CircuitManager.h index 41fa4b73..5141271c 100644 --- a/src/cpp/engine/common/controller/CircuitManager.h +++ b/src/cpp/engine/common/controller/CircuitManager.h @@ -569,12 +569,22 @@ namespace pulse DEFINE_STATIC_STRING(LeftArm1); DEFINE_STATIC_STRING(LeftArm2); + DEFINE_STATIC_STRING(LeftArmFat1); + DEFINE_STATIC_STRING(LeftArmMuscle1); + DEFINE_STATIC_STRING(LeftArmSkin1); + DEFINE_STATIC_STRING(LeftArmBone1); + DEFINE_STATIC_STRING(LeftArmMicroVasculature1); DEFINE_STATIC_STRING(LeftKidney1); DEFINE_STATIC_STRING(LeftKidney2); DEFINE_STATIC_STRING(LeftLeg1); DEFINE_STATIC_STRING(LeftLeg2); + DEFINE_STATIC_STRING(LeftLegFat1); + DEFINE_STATIC_STRING(LeftLegMuscle1); + DEFINE_STATIC_STRING(LeftLegSkin1); + DEFINE_STATIC_STRING(LeftLegBone1); + DEFINE_STATIC_STRING(LeftLegMicroVasculature1); DEFINE_STATIC_STRING(Muscle1); DEFINE_STATIC_STRING(Muscle2); @@ -586,12 +596,22 @@ namespace pulse DEFINE_STATIC_STRING(RightArm1); DEFINE_STATIC_STRING(RightArm2); + DEFINE_STATIC_STRING(RightArmFat1); + DEFINE_STATIC_STRING(RightArmMuscle1); + DEFINE_STATIC_STRING(RightArmSkin1); + DEFINE_STATIC_STRING(RightArmBone1); + DEFINE_STATIC_STRING(RightArmMicroVasculature1); DEFINE_STATIC_STRING(RightKidney1); DEFINE_STATIC_STRING(RightKidney2); DEFINE_STATIC_STRING(RightLeg1); DEFINE_STATIC_STRING(RightLeg2); + DEFINE_STATIC_STRING(RightLegFat1); + DEFINE_STATIC_STRING(RightLegMuscle1); + DEFINE_STATIC_STRING(RightLegSkin1); + DEFINE_STATIC_STRING(RightLegBone1); + DEFINE_STATIC_STRING(RightLegMicroVasculature1); DEFINE_STATIC_STRING(Skin1); DEFINE_STATIC_STRING(Skin2); @@ -603,6 +623,18 @@ namespace pulse DEFINE_STATIC_STRING(Spleen1); DEFINE_STATIC_STRING(VenaCava); + DEFINE_STATIC_STRING(LeftArmVenous1); + DEFINE_STATIC_STRING(LeftArmVenous2); + DEFINE_STATIC_STRING(LeftArmVenous3); + DEFINE_STATIC_STRING(LeftLegVenous1); + DEFINE_STATIC_STRING(LeftLegVenous2); + DEFINE_STATIC_STRING(LeftLegVenous3); + DEFINE_STATIC_STRING(RightArmVenous1); + DEFINE_STATIC_STRING(RightArmVenous2); + DEFINE_STATIC_STRING(RightArmVenous3); + DEFINE_STATIC_STRING(RightLegVenous1); + DEFINE_STATIC_STRING(RightLegVenous2); + DEFINE_STATIC_STRING(RightLegVenous3); DEFINE_STATIC_STRING(Ground); }; @@ -672,7 +704,21 @@ namespace pulse DEFINE_STATIC_STRING(Aorta1ToLeftArm1); DEFINE_STATIC_STRING(LeftArm1ToGround); DEFINE_STATIC_STRING(LeftArm1ToLeftArm2); - DEFINE_STATIC_STRING(LeftArm2ToVenaCava); + DEFINE_STATIC_STRING(LeftArm2ToLeftArmFat1); + DEFINE_STATIC_STRING(LeftArmFat1ToGround); + DEFINE_STATIC_STRING(LeftArmFat1ToLeftArmVenous1); + DEFINE_STATIC_STRING(LeftArm2ToLeftArmMuscle1); + DEFINE_STATIC_STRING(LeftArmMuscle1ToGround); + DEFINE_STATIC_STRING(LeftArmMuscle1ToLeftArmVenous1); + DEFINE_STATIC_STRING(LeftArm2ToLeftArmSkin1); + DEFINE_STATIC_STRING(LeftArmSkin1ToGround); + DEFINE_STATIC_STRING(LeftArmSkin1ToLeftArmVenous1); + DEFINE_STATIC_STRING(LeftArm2ToLeftArmBone1); + DEFINE_STATIC_STRING(LeftArmBone1ToGround); + DEFINE_STATIC_STRING(LeftArmBone1ToLeftArmVenous1); + DEFINE_STATIC_STRING(LeftArm2ToLeftArmMicrovasculature1); + DEFINE_STATIC_STRING(LeftArmMicrovasculature1ToGround); + DEFINE_STATIC_STRING(LeftArmMicrovasculature1ToLeftArmVenous1); // Left Kidney DEFINE_STATIC_STRING(Aorta1ToLeftKidney1); DEFINE_STATIC_STRING(LeftKidney1ToGround); @@ -682,7 +728,21 @@ namespace pulse DEFINE_STATIC_STRING(Aorta1ToLeftLeg1); DEFINE_STATIC_STRING(LeftLeg1ToGround); DEFINE_STATIC_STRING(LeftLeg1ToLeftLeg2); - DEFINE_STATIC_STRING(LeftLeg2ToVenaCava); + DEFINE_STATIC_STRING(LeftLeg2ToLeftLegFat1); + DEFINE_STATIC_STRING(LeftLegFat1ToGround); + DEFINE_STATIC_STRING(LeftLegFat1ToLeftLegVenous1); + DEFINE_STATIC_STRING(LeftLeg2ToLeftLegMuscle1); + DEFINE_STATIC_STRING(LeftLegMuscle1ToGround); + DEFINE_STATIC_STRING(LeftLegMuscle1ToLeftLegVenous1); + DEFINE_STATIC_STRING(LeftLeg2ToLeftLegSkin1); + DEFINE_STATIC_STRING(LeftLegSkin1ToGround); + DEFINE_STATIC_STRING(LeftLegSkin1ToLeftLegVenous1); + DEFINE_STATIC_STRING(LeftLeg2ToLeftLegBone1); + DEFINE_STATIC_STRING(LeftLegBone1ToGround); + DEFINE_STATIC_STRING(LeftLegBone1ToLeftLegVenous1); + DEFINE_STATIC_STRING(LeftLeg2ToLeftLegMicrovasculature1); + DEFINE_STATIC_STRING(LeftLegMicrovasculature1ToGround); + DEFINE_STATIC_STRING(LeftLegMicrovasculature1ToLeftLegVenous1); // Liver DEFINE_STATIC_STRING(Aorta1ToLiver1); DEFINE_STATIC_STRING(Liver1ToGround); @@ -706,7 +766,21 @@ namespace pulse DEFINE_STATIC_STRING(Aorta1ToRightArm1); DEFINE_STATIC_STRING(RightArm1ToGround); DEFINE_STATIC_STRING(RightArm1ToRightArm2); - DEFINE_STATIC_STRING(RightArm2ToVenaCava); + DEFINE_STATIC_STRING(RightArm2ToRightArmFat1); + DEFINE_STATIC_STRING(RightArmFat1ToGround); + DEFINE_STATIC_STRING(RightArmFat1ToRightArmVenous1); + DEFINE_STATIC_STRING(RightArm2ToRightArmMuscle1); + DEFINE_STATIC_STRING(RightArmMuscle1ToGround); + DEFINE_STATIC_STRING(RightArmMuscle1ToRightArmVenous1); + DEFINE_STATIC_STRING(RightArm2ToRightArmSkin1); + DEFINE_STATIC_STRING(RightArmSkin1ToGround); + DEFINE_STATIC_STRING(RightArmSkin1ToRightArmVenous1); + DEFINE_STATIC_STRING(RightArm2ToRightArmBone1); + DEFINE_STATIC_STRING(RightArmBone1ToGround); + DEFINE_STATIC_STRING(RightArmBone1ToRightArmVenous1); + DEFINE_STATIC_STRING(RightArm2ToRightArmMicrovasculature1); + DEFINE_STATIC_STRING(RightArmMicrovasculature1ToGround); + DEFINE_STATIC_STRING(RightArmMicrovasculature1ToRightArmVenous1); // Right Kidney DEFINE_STATIC_STRING(Aorta1ToRightKidney1); DEFINE_STATIC_STRING(RightKidney1ToGround); @@ -716,7 +790,21 @@ namespace pulse DEFINE_STATIC_STRING(Aorta1ToRightLeg1); DEFINE_STATIC_STRING(RightLeg1ToGround); DEFINE_STATIC_STRING(RightLeg1ToRightLeg2); - DEFINE_STATIC_STRING(RightLeg2ToVenaCava); + DEFINE_STATIC_STRING(RightLeg2ToRightLegFat1); + DEFINE_STATIC_STRING(RightLegFat1ToGround); + DEFINE_STATIC_STRING(RightLegFat1ToRightLegVenous1); + DEFINE_STATIC_STRING(RightLeg2ToRightLegMuscle1); + DEFINE_STATIC_STRING(RightLegMuscle1ToGround); + DEFINE_STATIC_STRING(RightLegMuscle1ToRightLegVenous1); + DEFINE_STATIC_STRING(RightLeg2ToRightLegSkin1); + DEFINE_STATIC_STRING(RightLegSkin1ToGround); + DEFINE_STATIC_STRING(RightLegSkin1ToRightLegVenous1); + DEFINE_STATIC_STRING(RightLeg2ToRightLegBone1); + DEFINE_STATIC_STRING(RightLegBone1ToGround); + DEFINE_STATIC_STRING(RightLegBone1ToRightLegVenous1); + DEFINE_STATIC_STRING(RightLeg2ToRightLegMicrovasculature1); + DEFINE_STATIC_STRING(RightLegMicrovasculature1ToGround); + DEFINE_STATIC_STRING(RightLegMicrovasculature1ToRightLegVenous1); // Skin DEFINE_STATIC_STRING(Aorta1ToSkin1); DEFINE_STATIC_STRING(Skin1ToGround); @@ -737,6 +825,22 @@ namespace pulse // Vena Cava DEFINE_STATIC_STRING(VenaCavaToGround); DEFINE_STATIC_STRING(IVToVenaCava); + DEFINE_STATIC_STRING(LeftArmVenous1ToLeftArmVenous2); + DEFINE_STATIC_STRING(LeftArmVenous2ToGround); + DEFINE_STATIC_STRING(LeftArmVenous2ToLeftArmVenous3); + DEFINE_STATIC_STRING(LeftArmVenous3ToVenaCava); + DEFINE_STATIC_STRING(LeftLegVenous1ToLeftLegVenous2); + DEFINE_STATIC_STRING(LeftLegVenous2ToGround); + DEFINE_STATIC_STRING(LeftLegVenous2ToLeftLegVenous3); + DEFINE_STATIC_STRING(LeftLegVenous3ToVenaCava); + DEFINE_STATIC_STRING(RightArmVenous1ToRightArmVenous2); + DEFINE_STATIC_STRING(RightArmVenous2ToGround); + DEFINE_STATIC_STRING(RightArmVenous2ToRightArmVenous3); + DEFINE_STATIC_STRING(RightArmVenous3ToVenaCava); + DEFINE_STATIC_STRING(RightLegVenous1ToRightLegVenous2); + DEFINE_STATIC_STRING(RightLegVenous2ToGround); + DEFINE_STATIC_STRING(RightLegVenous2ToRightLegVenous3); + DEFINE_STATIC_STRING(RightLegVenous3ToVenaCava); }; class TissueNode diff --git a/src/cpp/engine/common/controller/SetupCircuitsAndCompartments.cpp b/src/cpp/engine/common/controller/SetupCircuitsAndCompartments.cpp index bca05f8c..99b58008 100644 --- a/src/cpp/engine/common/controller/SetupCircuitsAndCompartments.cpp +++ b/src/cpp/engine/common/controller/SetupCircuitsAndCompartments.cpp @@ -335,8 +335,23 @@ namespace PULSE_ENGINE SEFluidCircuitNode& LeftArm1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftArm1); SEFluidCircuitNode& LeftArm2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftArm2); - LeftArm1.GetVolumeBaseline().SetValue(VolumeFractionArmLeft * bloodVolume_mL, VolumeUnit::mL); - LeftArm1.GetPressure().SetValue(VascularPressureTargetArmRight, PressureUnit::mmHg); + SEFluidCircuitNode& LeftArmFat1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftArmFat1); + SEFluidCircuitNode& LeftArmMuscle1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftArmMuscle1); + SEFluidCircuitNode& LeftArmSkin1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftArmSkin1); + SEFluidCircuitNode& LeftArmBone1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftArmBone1); + SEFluidCircuitNode& LeftArmMicrovasculature1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftArmMicroVasculature1); + LeftArm1.GetVolumeBaseline().SetValue(0.5 * VolumeFractionArmLeft * bloodVolume_mL, VolumeUnit::mL); + LeftArm1.GetPressure().SetValue(VascularPressureTargetArmLeft, PressureUnit::mmHg); + LeftArmFat1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionArmLeft * bloodVolume_mL, VolumeUnit::mL); + LeftArmFat1.GetPressure().SetValue( 0.4 * VascularPressureTargetArmLeft + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + LeftArmMuscle1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionArmLeft * bloodVolume_mL, VolumeUnit::mL); + LeftArmMuscle1.GetPressure().SetValue( 0.4 * VascularPressureTargetArmLeft + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + LeftArmSkin1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionArmLeft * bloodVolume_mL, VolumeUnit::mL); + LeftArmSkin1.GetPressure().SetValue( 0.4 * VascularPressureTargetArmLeft + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + LeftArmBone1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionArmLeft * bloodVolume_mL, VolumeUnit::mL); + LeftArmBone1.GetPressure().SetValue( 0.4 * VascularPressureTargetArmLeft + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + LeftArmMicrovasculature1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionArmLeft * bloodVolume_mL, VolumeUnit::mL); + LeftArmMicrovasculature1.GetPressure().SetValue( 0.4 * VascularPressureTargetArmLeft + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); SEFluidCircuitNode& LeftKidney1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftKidney1); SEFluidCircuitNode& LeftKidney2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftKidney2); @@ -345,8 +360,23 @@ namespace PULSE_ENGINE SEFluidCircuitNode& LeftLeg1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftLeg1); SEFluidCircuitNode& LeftLeg2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftLeg2); - LeftLeg1.GetVolumeBaseline().SetValue(VolumeFractionLegLeft * bloodVolume_mL, VolumeUnit::mL); + SEFluidCircuitNode& LeftLegFat1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftLegFat1); + SEFluidCircuitNode& LeftLegMuscle1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftLegMuscle1); + SEFluidCircuitNode& LeftLegSkin1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftLegSkin1); + SEFluidCircuitNode& LeftLegBone1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftLegBone1); + SEFluidCircuitNode& LeftLegMicrovasculature1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftLegMicroVasculature1); + LeftLeg1.GetVolumeBaseline().SetValue(0.5 * VolumeFractionLegLeft * bloodVolume_mL, VolumeUnit::mL); LeftLeg1.GetPressure().SetValue(VascularPressureTargetLegLeft, PressureUnit::mmHg); + LeftLegFat1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionLegLeft * bloodVolume_mL, VolumeUnit::mL); + LeftLegFat1.GetPressure().SetValue( 0.4 * VascularPressureTargetLegLeft + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + LeftLegMuscle1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionLegLeft * bloodVolume_mL, VolumeUnit::mL); + LeftLegMuscle1.GetPressure().SetValue( 0.4 * VascularPressureTargetLegLeft + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + LeftLegSkin1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionLegLeft * bloodVolume_mL, VolumeUnit::mL); + LeftLegSkin1.GetPressure().SetValue( 0.4 * VascularPressureTargetLegLeft + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + LeftLegBone1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionLegLeft * bloodVolume_mL, VolumeUnit::mL); + LeftLegBone1.GetPressure().SetValue( 0.4 * VascularPressureTargetLegLeft + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + LeftLegMicrovasculature1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionLegLeft * bloodVolume_mL, VolumeUnit::mL); + LeftLegMicrovasculature1.GetPressure().SetValue( 0.4 * VascularPressureTargetLegLeft + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); SEFluidCircuitNode& Muscle1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Muscle1); SEFluidCircuitNode& Muscle2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Muscle2); @@ -362,8 +392,23 @@ namespace PULSE_ENGINE SEFluidCircuitNode& RightArm1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightArm1); SEFluidCircuitNode& RightArm2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightArm2); - RightArm1.GetVolumeBaseline().SetValue(VolumeFractionArmRight * bloodVolume_mL, VolumeUnit::mL); + SEFluidCircuitNode& RightArmFat1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightArmFat1); + SEFluidCircuitNode& RightArmMuscle1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightArmMuscle1); + SEFluidCircuitNode& RightArmSkin1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightArmSkin1); + SEFluidCircuitNode& RightArmBone1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightArmBone1); + SEFluidCircuitNode& RightArmMicrovasculature1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightArmMicroVasculature1); + RightArm1.GetVolumeBaseline().SetValue(0.5 * VolumeFractionArmRight * bloodVolume_mL, VolumeUnit::mL); RightArm1.GetPressure().SetValue(VascularPressureTargetArmRight, PressureUnit::mmHg); + RightArmFat1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionArmRight * bloodVolume_mL, VolumeUnit::mL); + RightArmFat1.GetPressure().SetValue( 0.4 * VascularPressureTargetArmRight + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + RightArmMuscle1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionArmRight * bloodVolume_mL, VolumeUnit::mL); + RightArmMuscle1.GetPressure().SetValue( 0.4 * VascularPressureTargetArmRight + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + RightArmSkin1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionArmRight * bloodVolume_mL, VolumeUnit::mL); + RightArmSkin1.GetPressure().SetValue( 0.4 * VascularPressureTargetArmRight + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + RightArmBone1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionArmRight * bloodVolume_mL, VolumeUnit::mL); + RightArmBone1.GetPressure().SetValue( 0.4 * VascularPressureTargetArmRight + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + RightArmMicrovasculature1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionArmRight * bloodVolume_mL, VolumeUnit::mL); + RightArmMicrovasculature1.GetPressure().SetValue( 0.4 * VascularPressureTargetArmRight + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); SEFluidCircuitNode& RightKidney1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightKidney1); SEFluidCircuitNode& RightKidney2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightKidney2); @@ -372,8 +417,23 @@ namespace PULSE_ENGINE SEFluidCircuitNode& RightLeg1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightLeg1); SEFluidCircuitNode& RightLeg2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightLeg2); - RightLeg1.GetVolumeBaseline().SetValue(VolumeFractionLegRight * bloodVolume_mL, VolumeUnit::mL); + SEFluidCircuitNode& RightLegFat1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightLegFat1); + SEFluidCircuitNode& RightLegMuscle1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightLegMuscle1); + SEFluidCircuitNode& RightLegSkin1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightLegSkin1); + SEFluidCircuitNode& RightLegBone1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightLegBone1); + SEFluidCircuitNode& RightLegMicrovasculature1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightLegMicroVasculature1); + RightLeg1.GetVolumeBaseline().SetValue(0.5 * VolumeFractionLegRight * bloodVolume_mL, VolumeUnit::mL); RightLeg1.GetPressure().SetValue(VascularPressureTargetLegRight, PressureUnit::mmHg); + RightLegFat1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionLegRight * bloodVolume_mL, VolumeUnit::mL); + RightLegFat1.GetPressure().SetValue( 0.4 * VascularPressureTargetLegRight + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + RightLegMuscle1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionLegRight * bloodVolume_mL, VolumeUnit::mL); + RightLegMuscle1.GetPressure().SetValue( 0.4 * VascularPressureTargetLegRight + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + RightLegSkin1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionLegRight * bloodVolume_mL, VolumeUnit::mL); + RightLegSkin1.GetPressure().SetValue( 0.4 * VascularPressureTargetLegRight + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + RightLegBone1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionLegRight * bloodVolume_mL, VolumeUnit::mL); + RightLegBone1.GetPressure().SetValue( 0.4 * VascularPressureTargetLegRight + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + RightLegMicrovasculature1.GetVolumeBaseline().SetValue(0.1 * VolumeFractionLegRight * bloodVolume_mL, VolumeUnit::mL); + RightLegMicrovasculature1.GetPressure().SetValue( 0.4 * VascularPressureTargetLegRight + 0.6 * VascularPressureTargetVenaCava, PressureUnit::mmHg); SEFluidCircuitNode& Skin1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Skin1); SEFluidCircuitNode& Skin2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::Skin2); @@ -393,8 +453,28 @@ namespace PULSE_ENGINE Spleen.GetPressure().SetValue(VascularPressureTargetSpleen, PressureUnit::mmHg); SEFluidCircuitNode& VenaCava = cCardiovascular.CreateNode(pulse::CardiovascularNode::VenaCava); - VenaCava.GetVolumeBaseline().SetValue(VolumeFractionVenaCava * bloodVolume_mL, VolumeUnit::mL); + SEFluidCircuitNode& LeftArmVenous1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftArmVenous1); + SEFluidCircuitNode& LeftArmVenous2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftArmVenous2); + SEFluidCircuitNode& LeftArmVenous3 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftArmVenous3); + SEFluidCircuitNode& LeftLegVenous1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftLegVenous1); + SEFluidCircuitNode& LeftLegVenous2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftLegVenous2); + SEFluidCircuitNode& LeftLegVenous3 = cCardiovascular.CreateNode(pulse::CardiovascularNode::LeftLegVenous3); + SEFluidCircuitNode& RightArmVenous1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightArmVenous1); + SEFluidCircuitNode& RightArmVenous2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightArmVenous2); + SEFluidCircuitNode& RightArmVenous3 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightArmVenous3); + SEFluidCircuitNode& RightLegVenous1 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightLegVenous1); + SEFluidCircuitNode& RightLegVenous2 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightLegVenous2); + SEFluidCircuitNode& RightLegVenous3 = cCardiovascular.CreateNode(pulse::CardiovascularNode::RightLegVenous3); + VenaCava.GetVolumeBaseline().SetValue(0.8 * VolumeFractionVenaCava * bloodVolume_mL, VolumeUnit::mL); VenaCava.GetPressure().SetValue(VascularPressureTargetVenaCava, PressureUnit::mmHg); + LeftArmVenous2.GetVolumeBaseline().SetValue(0.05 * VolumeFractionVenaCava * bloodVolume_mL, VolumeUnit::mL); + LeftArmVenous2.GetPressure().SetValue( 0.2 * VascularPressureTargetArmLeft + 0.8 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + LeftLegVenous2.GetVolumeBaseline().SetValue(0.05 * VolumeFractionVenaCava * bloodVolume_mL, VolumeUnit::mL); + LeftLegVenous2.GetPressure().SetValue( 0.2 * VascularPressureTargetLegLeft + 0.8 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + RightArmVenous2.GetVolumeBaseline().SetValue(0.05 * VolumeFractionVenaCava * bloodVolume_mL, VolumeUnit::mL); + RightArmVenous2.GetPressure().SetValue( 0.2 * VascularPressureTargetArmRight + 0.8 * VascularPressureTargetVenaCava, PressureUnit::mmHg); + RightLegVenous2.GetVolumeBaseline().SetValue(0.05 * VolumeFractionVenaCava * bloodVolume_mL, VolumeUnit::mL); + RightLegVenous2.GetPressure().SetValue( 0.2 * VascularPressureTargetLegRight + 0.8 * VascularPressureTargetVenaCava, PressureUnit::mmHg); SEFluidCircuitNode& Ground = cCardiovascular.CreateNode(pulse::CardiovascularNode::Ground); Ground.SetAsReferenceNode(); @@ -526,8 +606,37 @@ namespace PULSE_ENGINE 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 * ResistanceArmLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); - SEFluidCircuitPath& LeftArm2ToVenaCava = cCardiovascular.CreatePath(LeftArm2, VenaCava, pulse::CardiovascularPath::LeftArm2ToVenaCava); + LeftArm1ToLeftArm2.GetResistanceBaseline().SetValue(0.2 * systemicResistanceModifier * ResistanceArmLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftArm2ToLeftArmFat1 = cCardiovascular.CreatePath(LeftArm2, LeftArmFat1, pulse::CardiovascularPath::LeftArm2ToLeftArmFat1); + LeftArm2ToLeftArmFat1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftArmFat1ToGround = cCardiovascular.CreatePath(LeftArmFat1, Ground, pulse::CardiovascularPath::LeftArmFat1ToGround); + LeftArmFat1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& LeftArmFat1ToLeftArmVenous1 = cCardiovascular.CreatePath(LeftArmFat1, LeftArmVenous1, pulse::CardiovascularPath::LeftArmFat1ToLeftArmVenous1); + LeftArmFat1ToLeftArmVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftArm2ToLeftArmMuscle1 = cCardiovascular.CreatePath(LeftArm2, LeftArmMuscle1, pulse::CardiovascularPath::LeftArm2ToLeftArmMuscle1); + LeftArm2ToLeftArmMuscle1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftArmMuscle1ToGround = cCardiovascular.CreatePath(LeftArmMuscle1, Ground, pulse::CardiovascularPath::LeftArmMuscle1ToGround); + LeftArmMuscle1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& LeftArmMuscle1ToLeftArmVenous1 = cCardiovascular.CreatePath(LeftArmMuscle1, LeftArmVenous1, pulse::CardiovascularPath::LeftArmMuscle1ToLeftArmVenous1); + LeftArmMuscle1ToLeftArmVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftArm2ToLeftArmSkin1 = cCardiovascular.CreatePath(LeftArm2, LeftArmSkin1, pulse::CardiovascularPath::LeftArm2ToLeftArmSkin1); + LeftArm2ToLeftArmSkin1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftArmSkin1ToGround = cCardiovascular.CreatePath(LeftArmSkin1, Ground, pulse::CardiovascularPath::LeftArmSkin1ToGround); + LeftArmSkin1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& LeftArmSkin1ToLeftArmVenous1 = cCardiovascular.CreatePath(LeftArmSkin1, LeftArmVenous1, pulse::CardiovascularPath::LeftArmSkin1ToLeftArmVenous1); + LeftArmSkin1ToLeftArmVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftArm2ToLeftArmBone1 = cCardiovascular.CreatePath(LeftArm2, LeftArmBone1, pulse::CardiovascularPath::LeftArm2ToLeftArmBone1); + LeftArm2ToLeftArmBone1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftArmBone1ToGround = cCardiovascular.CreatePath(LeftArmBone1, Ground, pulse::CardiovascularPath::LeftArmBone1ToGround); + LeftArmBone1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& LeftArmBone1ToLeftArmVenous1 = cCardiovascular.CreatePath(LeftArmBone1, LeftArmVenous1, pulse::CardiovascularPath::LeftArmBone1ToLeftArmVenous1); + LeftArmBone1ToLeftArmVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftArm2ToLeftArmMicrovasculature1 = cCardiovascular.CreatePath(LeftArm2, LeftArmMicrovasculature1, pulse::CardiovascularPath::LeftArm2ToLeftArmMicrovasculature1); + LeftArm2ToLeftArmMicrovasculature1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftArmMicrovasculature1ToGround = cCardiovascular.CreatePath(LeftArmMicrovasculature1, Ground, pulse::CardiovascularPath::LeftArmMicrovasculature1ToGround); + LeftArmMicrovasculature1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& LeftArmMicrovasculature1ToLeftArmVenous1 = cCardiovascular.CreatePath(LeftArmMicrovasculature1, LeftArmVenous1, pulse::CardiovascularPath::LeftArmMicrovasculature1ToLeftArmVenous1); + LeftArmMicrovasculature1ToLeftArmVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); SEFluidCircuitPath& Aorta1ToLeftKidney1 = cCardiovascular.CreatePath(Aorta1, LeftKidney1, pulse::CardiovascularPath::Aorta1ToLeftKidney1); Aorta1ToLeftKidney1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceKidney, PressureTimePerVolumeUnit::mmHg_s_Per_mL); @@ -542,8 +651,37 @@ namespace PULSE_ENGINE 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 * ResistanceLegLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); - SEFluidCircuitPath& LeftLeg2ToVenaCava = cCardiovascular.CreatePath(LeftLeg2, VenaCava, pulse::CardiovascularPath::LeftLeg2ToVenaCava); + LeftLeg1ToLeftLeg2.GetResistanceBaseline().SetValue(0.2 * systemicResistanceModifier * ResistanceLegLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftLeg2ToLeftLegFat1 = cCardiovascular.CreatePath(LeftLeg2, LeftLegFat1, pulse::CardiovascularPath::LeftLeg2ToLeftLegFat1); + LeftLeg2ToLeftLegFat1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftLegFat1ToGround = cCardiovascular.CreatePath(LeftLegFat1, Ground, pulse::CardiovascularPath::LeftLegFat1ToGround); + LeftLegFat1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& LeftLegFat1ToLeftLegVenous1 = cCardiovascular.CreatePath(LeftLegFat1, LeftLegVenous1, pulse::CardiovascularPath::LeftLegFat1ToLeftLegVenous1); + LeftLegFat1ToLeftLegVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftLeg2ToLeftLegMuscle1 = cCardiovascular.CreatePath(LeftLeg2, LeftLegMuscle1, pulse::CardiovascularPath::LeftLeg2ToLeftLegMuscle1); + LeftLeg2ToLeftLegMuscle1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftLegMuscle1ToGround = cCardiovascular.CreatePath(LeftLegMuscle1, Ground, pulse::CardiovascularPath::LeftLegMuscle1ToGround); + LeftLegMuscle1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& LeftLegMuscle1ToLeftLegVenous1 = cCardiovascular.CreatePath(LeftLegMuscle1, LeftLegVenous1, pulse::CardiovascularPath::LeftLegMuscle1ToLeftLegVenous1); + LeftLegMuscle1ToLeftLegVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftLeg2ToLeftLegSkin1 = cCardiovascular.CreatePath(LeftLeg2, LeftLegSkin1, pulse::CardiovascularPath::LeftLeg2ToLeftLegSkin1); + LeftLeg2ToLeftLegSkin1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftLegSkin1ToGround = cCardiovascular.CreatePath(LeftLegSkin1, Ground, pulse::CardiovascularPath::LeftLegSkin1ToGround); + LeftLegSkin1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& LeftLegSkin1ToLeftLegVenous1 = cCardiovascular.CreatePath(LeftLegSkin1, LeftLegVenous1, pulse::CardiovascularPath::LeftLegSkin1ToLeftLegVenous1); + LeftLegSkin1ToLeftLegVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftLeg2ToLeftLegBone1 = cCardiovascular.CreatePath(LeftLeg2, LeftLegBone1, pulse::CardiovascularPath::LeftLeg2ToLeftLegBone1); + LeftLeg2ToLeftLegBone1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftLegBone1ToGround = cCardiovascular.CreatePath(LeftLegBone1, Ground, pulse::CardiovascularPath::LeftLegBone1ToGround); + LeftLegBone1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& LeftLegBone1ToLeftLegVenous1 = cCardiovascular.CreatePath(LeftLegBone1, LeftLegVenous1, pulse::CardiovascularPath::LeftLegBone1ToLeftLegVenous1); + LeftLegBone1ToLeftLegVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftLeg2ToLeftLegMicrovasculature1 = cCardiovascular.CreatePath(LeftLeg2, LeftLegMicrovasculature1, pulse::CardiovascularPath::LeftLeg2ToLeftLegMicrovasculature1); + LeftLeg2ToLeftLegMicrovasculature1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftLegMicrovasculature1ToGround = cCardiovascular.CreatePath(LeftLegMicrovasculature1, Ground, pulse::CardiovascularPath::LeftLegMicrovasculature1ToGround); + LeftLegMicrovasculature1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& LeftLegMicrovasculature1ToLeftLegVenous1 = cCardiovascular.CreatePath(LeftLegMicrovasculature1, LeftLegVenous1, pulse::CardiovascularPath::LeftLegMicrovasculature1ToLeftLegVenous1); + LeftLegMicrovasculature1ToLeftLegVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); SEFluidCircuitPath& Aorta1ToLiver1 = cCardiovascular.CreatePath(Aorta1, Liver1, pulse::CardiovascularPath::Aorta1ToLiver1); Aorta1ToLiver1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLiver, PressureTimePerVolumeUnit::mmHg_s_Per_mL); @@ -580,8 +718,37 @@ namespace PULSE_ENGINE 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 * ResistanceArmRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); - SEFluidCircuitPath& RightArm2ToVenaCava = cCardiovascular.CreatePath(RightArm2, VenaCava, pulse::CardiovascularPath::RightArm2ToVenaCava); + RightArm1ToRightArm2.GetResistanceBaseline().SetValue(0.2 * systemicResistanceModifier * ResistanceArmRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightArm2ToRightArmFat1 = cCardiovascular.CreatePath(RightArm2, RightArmFat1, pulse::CardiovascularPath::RightArm2ToRightArmFat1); + RightArm2ToRightArmFat1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightArmFat1ToGround = cCardiovascular.CreatePath(RightArmFat1, Ground, pulse::CardiovascularPath::RightArmFat1ToGround); + RightArmFat1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& RightArmFat1ToRightArmVenous1 = cCardiovascular.CreatePath(RightArmFat1, RightArmVenous1, pulse::CardiovascularPath::RightArmFat1ToRightArmVenous1); + RightArmFat1ToRightArmVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightArm2ToRightArmMuscle1 = cCardiovascular.CreatePath(RightArm2, RightArmMuscle1, pulse::CardiovascularPath::RightArm2ToRightArmMuscle1); + RightArm2ToRightArmMuscle1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightArmMuscle1ToGround = cCardiovascular.CreatePath(RightArmMuscle1, Ground, pulse::CardiovascularPath::RightArmMuscle1ToGround); + RightArmMuscle1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& RightArmMuscle1ToRightArmVenous1 = cCardiovascular.CreatePath(RightArmMuscle1, RightArmVenous1, pulse::CardiovascularPath::RightArmMuscle1ToRightArmVenous1); + RightArmMuscle1ToRightArmVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightArm2ToRightArmSkin1 = cCardiovascular.CreatePath(RightArm2, RightArmSkin1, pulse::CardiovascularPath::RightArm2ToRightArmSkin1); + RightArm2ToRightArmSkin1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightArmSkin1ToGround = cCardiovascular.CreatePath(RightArmSkin1, Ground, pulse::CardiovascularPath::RightArmSkin1ToGround); + RightArmSkin1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& RightArmSkin1ToRightArmVenous1 = cCardiovascular.CreatePath(RightArmSkin1, RightArmVenous1, pulse::CardiovascularPath::RightArmSkin1ToRightArmVenous1); + RightArmSkin1ToRightArmVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightArm2ToRightArmBone1 = cCardiovascular.CreatePath(RightArm2, RightArmBone1, pulse::CardiovascularPath::RightArm2ToRightArmBone1); + RightArm2ToRightArmBone1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightArmBone1ToGround = cCardiovascular.CreatePath(RightArmBone1, Ground, pulse::CardiovascularPath::RightArmBone1ToGround); + RightArmBone1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& RightArmBone1ToRightArmVenous1 = cCardiovascular.CreatePath(RightArmBone1, RightArmVenous1, pulse::CardiovascularPath::RightArmBone1ToRightArmVenous1); + RightArmBone1ToRightArmVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightArm2ToRightArmMicrovasculature1 = cCardiovascular.CreatePath(RightArm2, RightArmMicrovasculature1, pulse::CardiovascularPath::RightArm2ToRightArmMicrovasculature1); + RightArm2ToRightArmMicrovasculature1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightArmMicrovasculature1ToGround = cCardiovascular.CreatePath(RightArmMicrovasculature1, Ground, pulse::CardiovascularPath::RightArmMicrovasculature1ToGround); + RightArmMicrovasculature1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& RightArmMicrovasculature1ToRightArmVenous1 = cCardiovascular.CreatePath(RightArmMicrovasculature1, RightArmVenous1, pulse::CardiovascularPath::RightArmMicrovasculature1ToRightArmVenous1); + RightArmMicrovasculature1ToRightArmVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceArmRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); SEFluidCircuitPath& Aorta1ToRightKidney1 = cCardiovascular.CreatePath(Aorta1, RightKidney1, pulse::CardiovascularPath::Aorta1ToRightKidney1); Aorta1ToRightKidney1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceKidney, PressureTimePerVolumeUnit::mmHg_s_Per_mL); @@ -596,8 +763,37 @@ namespace PULSE_ENGINE 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 * ResistanceLegRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); - SEFluidCircuitPath& RightLeg2ToVenaCava = cCardiovascular.CreatePath(RightLeg2, VenaCava, pulse::CardiovascularPath::RightLeg2ToVenaCava); + RightLeg1ToRightLeg2.GetResistanceBaseline().SetValue(0.2 * systemicResistanceModifier * ResistanceLegRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightLeg2ToRightLegFat1 = cCardiovascular.CreatePath(RightLeg2, RightLegFat1, pulse::CardiovascularPath::RightLeg2ToRightLegFat1); + RightLeg2ToRightLegFat1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightLegFat1ToGround = cCardiovascular.CreatePath(RightLegFat1, Ground, pulse::CardiovascularPath::RightLegFat1ToGround); + RightLegFat1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& RightLegFat1ToRightLegVenous1 = cCardiovascular.CreatePath(RightLegFat1, RightLegVenous1, pulse::CardiovascularPath::RightLegFat1ToRightLegVenous1); + RightLegFat1ToRightLegVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightLeg2ToRightLegMuscle1 = cCardiovascular.CreatePath(RightLeg2, RightLegMuscle1, pulse::CardiovascularPath::RightLeg2ToRightLegMuscle1); + RightLeg2ToRightLegMuscle1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightLegMuscle1ToGround = cCardiovascular.CreatePath(RightLegMuscle1, Ground, pulse::CardiovascularPath::RightLegMuscle1ToGround); + RightLegMuscle1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& RightLegMuscle1ToRightLegVenous1 = cCardiovascular.CreatePath(RightLegMuscle1, RightLegVenous1, pulse::CardiovascularPath::RightLegMuscle1ToRightLegVenous1); + RightLegMuscle1ToRightLegVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightLeg2ToRightLegSkin1 = cCardiovascular.CreatePath(RightLeg2, RightLegSkin1, pulse::CardiovascularPath::RightLeg2ToRightLegSkin1); + RightLeg2ToRightLegSkin1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightLegSkin1ToGround = cCardiovascular.CreatePath(RightLegSkin1, Ground, pulse::CardiovascularPath::RightLegSkin1ToGround); + RightLegSkin1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& RightLegSkin1ToRightLegVenous1 = cCardiovascular.CreatePath(RightLegSkin1, RightLegVenous1, pulse::CardiovascularPath::RightLegSkin1ToRightLegVenous1); + RightLegSkin1ToRightLegVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightLeg2ToRightLegBone1 = cCardiovascular.CreatePath(RightLeg2, RightLegBone1, pulse::CardiovascularPath::RightLeg2ToRightLegBone1); + RightLeg2ToRightLegBone1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightLegBone1ToGround = cCardiovascular.CreatePath(RightLegBone1, Ground, pulse::CardiovascularPath::RightLegBone1ToGround); + RightLegBone1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& RightLegBone1ToRightLegVenous1 = cCardiovascular.CreatePath(RightLegBone1, RightLegVenous1, pulse::CardiovascularPath::RightLegBone1ToRightLegVenous1); + RightLegBone1ToRightLegVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightLeg2ToRightLegMicrovasculature1 = cCardiovascular.CreatePath(RightLeg2, RightLegMicrovasculature1, pulse::CardiovascularPath::RightLeg2ToRightLegMicrovasculature1); + RightLeg2ToRightLegMicrovasculature1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightLegMicrovasculature1ToGround = cCardiovascular.CreatePath(RightLegMicrovasculature1, Ground, pulse::CardiovascularPath::RightLegMicrovasculature1ToGround); + RightLegMicrovasculature1ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& RightLegMicrovasculature1ToRightLegVenous1 = cCardiovascular.CreatePath(RightLegMicrovasculature1, RightLegVenous1, pulse::CardiovascularPath::RightLegMicrovasculature1ToRightLegVenous1); + RightLegMicrovasculature1ToRightLegVenous1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceLegRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); SEFluidCircuitPath& Aorta1ToSkin1 = cCardiovascular.CreatePath(Aorta1, Skin1, pulse::CardiovascularPath::Aorta1ToSkin1); Aorta1ToSkin1.GetResistanceBaseline().SetValue(systemicResistanceModifier * ResistanceSkin, PressureTimePerVolumeUnit::mmHg_s_Per_mL); @@ -639,6 +835,34 @@ namespace PULSE_ENGINE VenaCavaToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); SEFluidCircuitPath& IVToVenaCava = cCardiovascular.CreatePath(Ground, VenaCava, pulse::CardiovascularPath::IVToVenaCava); IVToVenaCava.GetFlowSourceBaseline().SetValue(0.0, VolumePerTimeUnit::mL_Per_s); + SEFluidCircuitPath& LeftArmVenous1ToLeftArmVenous2 = cCardiovascular.CreatePath(LeftArmVenous1, LeftArmVenous2, pulse::CardiovascularPath::LeftArmVenous1ToLeftArmVenous2); + LeftArmVenous1ToLeftArmVenous2.GetResistanceBaseline().SetValue(0.2 * systemicResistanceModifier * ResistanceArmLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftArmVenous2ToGround = cCardiovascular.CreatePath(LeftArmVenous2, Ground, pulse::CardiovascularPath::LeftArmVenous2ToGround); + LeftArmVenous2ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& LeftArmVenous2ToLeftArmVenous3 = cCardiovascular.CreatePath(LeftArmVenous2, LeftArmVenous3, pulse::CardiovascularPath::LeftArmVenous2ToLeftArmVenous3); + LeftArmVenous2ToLeftArmVenous3.GetResistanceBaseline().SetValue(0.2 * systemicResistanceModifier * ResistanceArmLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftArmVenous3ToVenaCava = cCardiovascular.CreatePath(LeftArmVenous3, VenaCava, pulse::CardiovascularPath::LeftArmVenous3ToVenaCava); + SEFluidCircuitPath& LeftLegVenous1ToLeftLegVenous2 = cCardiovascular.CreatePath(LeftLegVenous1, LeftLegVenous2, pulse::CardiovascularPath::LeftLegVenous1ToLeftLegVenous2); + LeftLegVenous1ToLeftLegVenous2.GetResistanceBaseline().SetValue(0.2 * systemicResistanceModifier * ResistanceLegLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftLegVenous2ToGround = cCardiovascular.CreatePath(LeftLegVenous2, Ground, pulse::CardiovascularPath::LeftLegVenous2ToGround); + LeftLegVenous2ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& LeftLegVenous2ToLeftLegVenous3 = cCardiovascular.CreatePath(LeftLegVenous2, LeftLegVenous3, pulse::CardiovascularPath::LeftLegVenous2ToLeftLegVenous3); + LeftLegVenous2ToLeftLegVenous3.GetResistanceBaseline().SetValue(0.2 * systemicResistanceModifier * ResistanceLegLeftVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& LeftLegVenous3ToVenaCava = cCardiovascular.CreatePath(LeftLegVenous3, VenaCava, pulse::CardiovascularPath::LeftLegVenous3ToVenaCava); + SEFluidCircuitPath& RightArmVenous1ToRightArmVenous2 = cCardiovascular.CreatePath(RightArmVenous1, RightArmVenous2, pulse::CardiovascularPath::RightArmVenous1ToRightArmVenous2); + RightArmVenous1ToRightArmVenous2.GetResistanceBaseline().SetValue(0.2 * systemicResistanceModifier * ResistanceArmRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightArmVenous2ToGround = cCardiovascular.CreatePath(RightArmVenous2, Ground, pulse::CardiovascularPath::RightArmVenous2ToGround); + RightArmVenous2ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& RightArmVenous2ToRightArmVenous3 = cCardiovascular.CreatePath(RightArmVenous2, RightArmVenous3, pulse::CardiovascularPath::RightArmVenous2ToRightArmVenous3); + RightArmVenous2ToRightArmVenous3.GetResistanceBaseline().SetValue(0.2 * systemicResistanceModifier * ResistanceArmRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightArmVenous3ToVenaCava = cCardiovascular.CreatePath(RightArmVenous3, VenaCava, pulse::CardiovascularPath::RightArmVenous3ToVenaCava); + SEFluidCircuitPath& RightLegVenous1ToRightLegVenous2 = cCardiovascular.CreatePath(RightLegVenous1, RightLegVenous2, pulse::CardiovascularPath::RightLegVenous1ToRightLegVenous2); + RightLegVenous1ToRightLegVenous2.GetResistanceBaseline().SetValue(0.2 * systemicResistanceModifier * ResistanceLegRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightLegVenous2ToGround = cCardiovascular.CreatePath(RightLegVenous2, Ground, pulse::CardiovascularPath::RightLegVenous2ToGround); + RightLegVenous2ToGround.GetComplianceBaseline().SetValue(0.0, VolumePerPressureUnit::mL_Per_mmHg); + SEFluidCircuitPath& RightLegVenous2ToRightLegVenous3 = cCardiovascular.CreatePath(RightLegVenous2, RightLegVenous3, pulse::CardiovascularPath::RightLegVenous2ToRightLegVenous3); + RightLegVenous2ToRightLegVenous3.GetResistanceBaseline().SetValue(0.2 * systemicResistanceModifier * ResistanceLegRightVenous, PressureTimePerVolumeUnit::mmHg_s_Per_mL); + SEFluidCircuitPath& RightLegVenous3ToVenaCava = cCardiovascular.CreatePath(RightLegVenous3, VenaCava, pulse::CardiovascularPath::RightLegVenous3ToVenaCava); // Compute compliances from target pressures and baseline volumes for (SEFluidCircuitPath* p : cCardiovascular.GetPaths()) @@ -819,6 +1043,11 @@ namespace PULSE_ENGINE SELiquidCompartment& vLeftArm = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftArm); vLeftArm.MapNode(LeftArm1); vLeftArm.MapNode(LeftArm2); + vLeftArm.MapNode(LeftArmFat1); + vLeftArm.MapNode(LeftArmMuscle1); + vLeftArm.MapNode(LeftArmSkin1); + vLeftArm.MapNode(LeftArmBone1); + vLeftArm.MapNode(LeftArmMicrovasculature1); ///////////////// // Left Kidney // SELiquidCompartment& vLeftKidney = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftKidney); @@ -829,6 +1058,11 @@ namespace PULSE_ENGINE SELiquidCompartment& vLeftLeg = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::LeftLeg); vLeftLeg.MapNode(LeftLeg1); vLeftLeg.MapNode(LeftLeg2); + vLeftLeg.MapNode(LeftLegFat1); + vLeftLeg.MapNode(LeftLegMuscle1); + vLeftLeg.MapNode(LeftLegSkin1); + vLeftLeg.MapNode(LeftLegBone1); + vLeftLeg.MapNode(LeftLegMicrovasculature1); //////////// // Muscle // SELiquidCompartment& vMuscle = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Muscle); @@ -848,6 +1082,11 @@ namespace PULSE_ENGINE SELiquidCompartment& vRightArm = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightArm); vRightArm.MapNode(RightArm1); vRightArm.MapNode(RightArm2); + vRightArm.MapNode(RightArmFat1); + vRightArm.MapNode(RightArmMuscle1); + vRightArm.MapNode(RightArmSkin1); + vRightArm.MapNode(RightArmBone1); + vRightArm.MapNode(RightArmMicrovasculature1); ////////////////// // Right Kidney // SELiquidCompartment& vRightKidney = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightKidney); @@ -858,6 +1097,11 @@ namespace PULSE_ENGINE SELiquidCompartment& vRightLeg = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::RightLeg); vRightLeg.MapNode(RightLeg1); vRightLeg.MapNode(RightLeg2); + vRightLeg.MapNode(RightLegFat1); + vRightLeg.MapNode(RightLegMuscle1); + vRightLeg.MapNode(RightLegSkin1); + vRightLeg.MapNode(RightLegBone1); + vRightLeg.MapNode(RightLegMicrovasculature1); ////////// // Skin // SELiquidCompartment& vSkin = m_Compartments->CreateLiquidCompartment(pulse::VascularCompartment::Skin); @@ -988,7 +1232,7 @@ namespace PULSE_ENGINE 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(LeftArm2ToVenaCava); + vLeftArmToVenaCava.MapPath(LeftArmVenous1ToLeftArmVenous2); ///////////////// // Left Kidney // SELiquidCompartmentLink& vAortaToLeftKidney = m_Compartments->CreateLiquidLink(vAorta, vLeftKidney, pulse::VascularLink::AortaToLeftKidney); @@ -1000,7 +1244,7 @@ namespace PULSE_ENGINE 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(LeftLeg2ToVenaCava); + vLeftLegToVenaCava.MapPath(LeftLegVenous1ToLeftLegVenous2); //////////// // Muscle // SELiquidCompartmentLink& vAortaToMuscle = m_Compartments->CreateLiquidLink(vAorta, vMuscle, pulse::VascularLink::AortaToMuscle); @@ -1018,7 +1262,7 @@ namespace PULSE_ENGINE 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(RightArm2ToVenaCava); + vRightArmToVenaCava.MapPath(RightArmVenous1ToRightArmVenous2); ////////////////// // Right Kidney // SELiquidCompartmentLink& vAortaToRightKidney = m_Compartments->CreateLiquidLink(vAorta, vRightKidney, pulse::VascularLink::AortaToRightKidney); @@ -1030,7 +1274,7 @@ namespace PULSE_ENGINE 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(RightLeg2ToVenaCava); + vRightLegToVenaCava.MapPath(RightLegVenous1ToRightLegVenous2); ////////// // Skin // SELiquidCompartmentLink& vAortaToSkin = m_Compartments->CreateLiquidLink(vAorta, vSkin, pulse::VascularLink::AortaToSkin); -- GitLab