Skip to content

Commit c48a840

Browse files
committed
Testing readding a hemorrhage to ground path on new cerebral circuit
1 parent 153572f commit c48a840

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

projects/biogears/libBiogears/src/engine/Controller/BioGears.cpp

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1297,7 +1297,6 @@ void BioGears::SetupCardiovascular()
12971297
SEFluidCircuitNode& Brain1 = cCardiovascular.CreateNode(BGE::CardiovascularNode::Brain1);
12981298
SEFluidCircuitNode& Brain2 = cCardiovascular.CreateNode(BGE::CardiovascularNode::Brain2);
12991299
Brain1.GetVolumeBaseline().SetValue(VolumeFractionBrain * bloodVolume_mL, VolumeUnit::mL);
1300-
Brain1.GetPressure().SetValue(0.0, PressureUnit::mmHg);
13011300
Brain1.GetPressure().SetValue(VascularPressureTargetBrain, PressureUnit::mmHg);
13021301

13031302
SEFluidCircuitNode& Bone1 = cCardiovascular.CreateNode(BGE::CardiovascularNode::Bone1);
@@ -1662,8 +1661,8 @@ void BioGears::SetupCardiovascular()
16621661
//Hemorrhage--Include major organs, if there is a right/left side just adjust the resistance of the right side
16631662
SEFluidCircuitPath& AortaBleed = cCardiovascular.CreatePath(Aorta1, Ground, BGE::CardiovascularPath::AortaBleed);
16641663
AortaBleed.GetResistanceBaseline().SetValue(m_Config->GetDefaultOpenFlowResistance(FlowResistanceUnit::mmHg_s_Per_mL), FlowResistanceUnit::mmHg_s_Per_mL);
1665-
SEFluidCircuitPath& BrainBleed = cCardiovascular.CreatePath(Brain1, Ground, BGE::CardiovascularPath::BrainBleed);
1666-
BrainBleed.GetResistanceBaseline().SetValue(m_Config->GetDefaultOpenFlowResistance(FlowResistanceUnit::mmHg_s_Per_mL), FlowResistanceUnit::mmHg_s_Per_mL);
1664+
//SEFluidCircuitPath& BrainBleed = cCardiovascular.CreatePath(Brain1, Ground, BGE::CardiovascularPath::BrainBleed);
1665+
//BrainBleed.GetResistanceBaseline().SetValue(m_Config->GetDefaultOpenFlowResistance(FlowResistanceUnit::mmHg_s_Per_mL), FlowResistanceUnit::mmHg_s_Per_mL);
16671666
SEFluidCircuitPath& HeartBleed = cCardiovascular.CreatePath(Myocardium1, Ground, BGE::CardiovascularPath::MyocardiumBleed);
16681667
HeartBleed.GetResistanceBaseline().SetValue(m_Config->GetDefaultOpenFlowResistance(FlowResistanceUnit::mmHg_s_Per_mL), FlowResistanceUnit::mmHg_s_Per_mL);
16691668
SEFluidCircuitPath& LeftLungBleed = cCardiovascular.CreatePath(LeftPulmonaryArteries, Ground, BGE::CardiovascularPath::LeftLungBleed);
@@ -2109,8 +2108,8 @@ void BioGears::SetupCardiovascular()
21092108
vVenaCavaHemorrhage.MapPath(VenaCavaBleed);
21102109
SELiquidCompartmentLink& vAortaHemorrhage = m_Compartments->CreateLiquidLink(vAorta, vGround, BGE::VascularLink::AortaHemorrhage);
21112110
vAortaHemorrhage.MapPath(AortaBleed);
2112-
SELiquidCompartmentLink& vBrainHemorrhage = m_Compartments->CreateLiquidLink(vBrain, vGround, BGE::VascularLink::BrainHemorrhage);
2113-
vBrainHemorrhage.MapPath(BrainBleed);
2111+
//SELiquidCompartmentLink& vBrainHemorrhage = m_Compartments->CreateLiquidLink(vBrain, vGround, BGE::VascularLink::BrainHemorrhage);
2112+
//vBrainHemorrhage.MapPath(BrainBleed);
21142113
SELiquidCompartmentLink& vHeartHemorrhage = m_Compartments->CreateLiquidLink(vMyocardium, vGround, BGE::VascularLink::HeartHemorrhage);
21152114
vHeartHemorrhage.MapPath(HeartBleed);
21162115
SELiquidCompartmentLink& vLeftLungHemorrhage = m_Compartments->CreateLiquidLink(vLeftPulmonaryArteries, vGround, BGE::VascularLink::LeftLungHemorrhage);
@@ -2218,7 +2217,7 @@ void BioGears::SetupCardiovascular()
22182217
gCardiovascular.AddLink(vVenaCavaHemorrhage);
22192218
gCardiovascular.AddLink(vVenaCavaIV);
22202219
gCardiovascular.AddLink(vAortaHemorrhage);
2221-
gCardiovascular.AddLink(vBrainHemorrhage);
2220+
//gCardiovascular.AddLink(vBrainHemorrhage);
22222221
gCardiovascular.AddLink(vHeartHemorrhage);
22232222
gCardiovascular.AddLink(vLeftLungHemorrhage);
22242223
gCardiovascular.AddLink(vRightLungHemorrhage);
@@ -2377,7 +2376,7 @@ void BioGears::SetupCerebral()
23772376
CerebralCircuit.SetNextAndCurrentFromBaselines();
23782377
CerebralCircuit.StateChange();
23792378

2380-
// Delete the three-element Windkessel brain and add the cerebral circuit to the active combined CV circuit
2379+
// Delete the three-element Windkessel brain and add the cerebral circuit to the active combined CV circuit HERE
23812380
SEFluidCircuit& CombinedCardioCircuit = m_Circuits->GetActiveCardiovascularCircuit();
23822381
m_Circuits->DeleteFluidNode(BGE::CardiovascularNode::Brain1);
23832382
m_Circuits->DeleteFluidNode(BGE::CardiovascularNode::Brain2);
@@ -2386,6 +2385,9 @@ void BioGears::SetupCerebral()
23862385
m_Circuits->DeleteFluidPath(BGE::CardiovascularPath::Brain1ToGround);
23872386
m_Circuits->DeleteFluidPath(BGE::CardiovascularPath::Brain2ToVenaCava);
23882387

2388+
SEFluidCircuitPath& BrainBleed = CerebralCircuit.CreatePath(nCerebralCapillaries, nGround, BGE::CardiovascularPath::BrainBleed);
2389+
BrainBleed.GetResistanceBaseline().SetValue(m_Config->GetDefaultOpenFlowResistance(FlowResistanceUnit::mmHg_s_Per_mL), FlowResistanceUnit::mmHg_s_Per_mL);
2390+
23892391
CombinedCardioCircuit.AddCircuit(CerebralCircuit);
23902392
// Grab the nodes that we will be connecting between the 2 circuits
23912393
SEFluidCircuitNode* nAorta1 = CardioCircuit.GetNode(BGE::CardiovascularNode::Aorta1);
@@ -2461,6 +2463,11 @@ void BioGears::SetupCerebral()
24612463
//Delete cerebral hemorrhage link (re-define after some more testing), otherwise graph will go searching for old BrainVasculature cmpt, which is called by this link
24622464
m_Compartments->DeleteLiquidLink(BGE::VascularLink::BrainHemorrhage);
24632465

2466+
SELiquidCompartment& cGround = m_Compartments->CreateLiquidCompartment(BGE::VascularCompartment::Ground);
2467+
cGround.MapNode(nGround);
2468+
SELiquidCompartmentLink& lBrainHemorrhage = m_Compartments->CreateLiquidLink(cCerebralCapillaries, cGround, BGE::VascularLink::BrainHemorrhage);
2469+
lBrainHemorrhage.MapPath(BrainBleed);
2470+
24642471
//Add compartments and links to cerebral graph
24652472
SELiquidCompartmentGraph& gCerebral = m_Compartments->GetCerebralGraph();
24662473
gCerebral.AddCompartment(cAorta);
@@ -2477,6 +2484,7 @@ void BioGears::SetupCerebral()
24772484
gCerebral.AddLink(lCerebralCapillariesToVeins);
24782485
gCerebral.AddLink(lCerebralVeinsToNeckVeins);
24792486
gCerebral.AddLink(lNeckVeinsToVenaCava);
2487+
gCerebral.AddLink(lBrainHemorrhage);
24802488

24812489
gCerebral.StateChange();
24822490

projects/biogears/libBiogears/src/engine/Systems/Cardiovascular.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1183,7 +1183,7 @@ void Cardiovascular::Hemorrhage()
11831183
hemCmpt = targetHemorrhage->GetCompartment();
11841184

11851185
targetPath = m_CirculatoryCircuit->GetPath(hemCmpt + "Bleed");
1186-
locationPressure_mmHg = targetPath->GetSourceNode().GetPressure(PressureUnit::mmHg);
1186+
locationPressure_mmHg = targetPath->GetSourceNode().GetPressure(PressureUnit::mmHg); // BUG FLAGGING HERE BECAUSE BRAINBLEED IS NOT GRABBING TARGETPATH...HEMcMPT IS BRAIN
11871187
bleedRate_mL_Per_s = targetHemorrhage->GetInitialRate().GetValue(VolumePerTimeUnit::mL_Per_s);
11881188

11891189
//enforce strict restictions on bleed rate for circuit stability

0 commit comments

Comments
 (0)