Updates will be applied on October 27th between 12pm - 12:45pm EDT (UTC-0400). Gitlab may be slow during the maintenance window.

Commit 878d20c2 authored by Rachel Clipp's avatar Rachel Clipp
Browse files

Modified extravascular to vascular path resistances to prevent fluid from...

Modified extravascular to vascular path resistances to prevent fluid from freely moving into the vascular space during hemorrhage. Added a hemorrhage to shock scenario. Added a variable for expected blood volume (what we think the blood volume should be based on hemorrhage rate. added a probe to track this for testing (commented).
parent 60929022
......@@ -2869,7 +2869,7 @@ void PulseController::SetupTissue()
// The assumption for the vascular-tissue convection drag is that the resistance is inversely proportional to the tissue mass.
// This is the proportionality constant
double resistanceConstant = 1.0;
double resistanceConstant = 2000.0;//1.0; //increased to prevent fluid from freely moving into the vascular space
/// \todo Put Initial Circuit/Compartment data values into the configuration file.
......
......@@ -211,6 +211,7 @@ void Cardiovascular::Initialize()
//Initialize system data based on patient file inputs
GetBloodVolume().Set(m_data.GetCurrentPatient().GetBloodVolumeBaseline());
m_BloodVolumeEstimate = m_data.GetCurrentPatient().GetBloodVolumeBaseline().GetValue(VolumeUnit::mL);
m_CardiacCycleAortaPressureHigh_mmHg = m_data.GetCurrentPatient().GetSystolicArterialPressureBaseline(PressureUnit::mmHg);
m_CardiacCycleAortaPressureLow_mmHg = m_data.GetCurrentPatient().GetDiastolicArterialPressureBaseline(PressureUnit::mmHg);
GetMeanArterialPressure().SetValue((2. / 3.*m_CardiacCycleAortaPressureLow_mmHg) + (1. / 3.*m_CardiacCycleAortaPressureHigh_mmHg), PressureUnit::mmHg);
......@@ -603,6 +604,8 @@ void Cardiovascular::PreProcess()
ProcessActions();
UpdateHeartRhythm();
CalculatePleuralCavityVenousEffects();
//m_data.GetDataTrack().Probe("BloodVolumeEstimate", m_BloodVolumeEstimate/1000.0);
}
//--------------------------------------------------------------------------------------------------
......@@ -1215,6 +1218,10 @@ void Cardiovascular::Hemorrhage()
patientMass_kg -= massLost_kg;
m_data.GetCurrentPatient().GetWeight().SetValue(patientMass_kg, MassUnit::kg);
//Debugging hemorrhage
m_BloodVolumeEstimate -= (TotalLossRate_mL_Per_s * m_dT_s);
}
//--------------------------------------------------------------------------------------------------
......
......@@ -211,6 +211,9 @@ protected:
std::vector<SEFluidCircuitPath*> m_systemicResistancePaths;
std::vector<SEFluidCircuitPath*> m_systemicCompliancePaths;
//debugging hemorrhage
double m_BloodVolumeEstimate;
};
......
......@@ -126,7 +126,7 @@ void Nervous::PreProcess()
{
if (m_FeedbackActive)
{
//BaroreceptorFeedback();
BaroreceptorFeedback();
ChemoreceptorFeedback();
}
}
......@@ -222,10 +222,10 @@ void Nervous::BaroreceptorFeedback()
double parasympatheticFraction = 1 - m_TotalSympatheticFraction;
m_LastMeanArterialPressure_mmHg = meanArterialPressure_mmHg;
m_data.GetDataTrack().Probe("SympatheticFraction", m_TotalSympatheticFraction);
/*m_data.GetDataTrack().Probe("SympatheticFraction", m_TotalSympatheticFraction);
m_data.GetDataTrack().Probe("CumulativeMAP", cumulativeMeanArterialPressure_mmHg);
m_data.GetDataTrack().Probe("baroreceptorPressure", baroreceptorPressure_mmHg);
m_data.GetDataTrack().Probe("deltaPressure", deltaPressure_mmHg);
m_data.GetDataTrack().Probe("deltaPressure", deltaPressure_mmHg);*/
//Calculate the normalized change in heart rate
double normalizedHeartRate = GetBaroreceptorHeartRateScale().GetValue();
......
{
"Name": "HemorrhageClass4NoFluidLongTerm",
"Description": "",
"StartType":
{
"PatientConfiguration": {
"PatientFile": "StandardMale.json"
}
},
"DataRequestManager":
{
"DataRequest":
[
{ "DecimalFormat": { "Precision": 1 }, "PropertyName": "Weight", "Unit": "kg" },
{ "DecimalFormat": { "Precision": 2 }, "Category": "Physiology", "PropertyName": "HeartRate", "Unit": "1/min" },
{ "DecimalFormat": { "Precision": 1 }, "Category": "Physiology", "PropertyName": "HeartStrokeVolume", "Unit": "mL" },
{ "DecimalFormat": { "Precision": 2 }, "Category": "Physiology", "PropertyName": "BloodVolume", "Unit": "L" },
{ "DecimalFormat": { "Precision": 1 }, "Category": "Physiology", "PropertyName": "ExtravascularFluidVolume", "Unit": "L" },
{ "DecimalFormat": { "Precision": 1 }, "Category": "Physiology", "PropertyName": "MeanArterialPressure", "Unit": "mmHg" },
{ "DecimalFormat": { }, "Category": "Physiology", "PropertyName": "SystolicArterialPressure", "Unit": "mmHg" },
{ "DecimalFormat": { "Precision": 1 }, "Category": "Physiology", "PropertyName": "DiastolicArterialPressure", "Unit": "mmHg" },
{ "DecimalFormat": { "Precision": 2 }, "Category": "Physiology", "PropertyName": "CardiacOutput", "Unit": "L/min" },
{ "DecimalFormat": { }, "Category": "Physiology", "PropertyName": "HemoglobinContent", "Unit": "g" },
{ "DecimalFormat": { "Precision": 3 }, "Category": "Physiology", "PropertyName": "TidalVolume", "Unit": "mL" },
{ "DecimalFormat": { "Precision": 2 }, "Category": "Physiology", "PropertyName": "RespirationRate", "Unit": "1/min" },
{ "DecimalFormat": { "Precision": 3 }, "Category": "Physiology", "PropertyName": "OxygenSaturation", "Unit": "unitless" },
{ "DecimalFormat": { "Precision": 4 }, "Category": "LiquidCompartment", "CompartmentName": "MyocardiumVasculature", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
{ "DecimalFormat": { "Precision": 4 }, "Category": "LiquidCompartment", "CompartmentName": "BrainVasculature", "SubstanceName": "Oxygen", "PropertyName": "PartialPressure", "Unit": "mmHg" },
{ "DecimalFormat": { "Precision": 4 }, "Category": "LiquidCompartment", "CompartmentName": "MyocardiumVasculature", "PropertyName": "InFlow", "Unit": "mL/min" },
{ "DecimalFormat": { "Precision": 4 }, "Category": "LiquidCompartment", "CompartmentName": "BrainVasculature", "PropertyName": "InFlow", "Unit": "mL/min" },
{ "DecimalFormat": { "Precision": 3 }, "Category": "Physiology", "PropertyName": "SystemicVascularResistance", "Unit": "mmHg s/mL"}
]
},
"AnyAction": [{
"AdvanceTime": {
"Time": {
"ScalarTime": {
"Value": 30.0,
"Unit": "s"
}
}
}
}, {
"PatientAction": {
"Hemorrhage": {
"Compartment": "RightLegVasculature",
"Rate": {
"ScalarVolumePerTime": {
"Value": 50.0,
"Unit": "mL/min"
}
}
}
}
}, {
"PatientAction": {
"Hemorrhage": {
"Compartment": "VenaCava",
"Rate": {
"ScalarVolumePerTime": {
"Value": 150.0,
"Unit": "mL/min"
}
}
}
}
}, {
"AdvanceTime": {
"Time": {
"ScalarTime": {
"Value": 1500.0,
"Unit": "s"
}
}
}
}, {
"PatientAction": {
"Hemorrhage": {
"Compartment": "RightLegVasculature",
"Rate": {
"ScalarVolumePerTime": {
"Unit": "mL/min"
}
}
}
}
}, {
"PatientAction": {
"Hemorrhage": {
"Compartment": "VenaCava",
"Rate": {
"ScalarVolumePerTime": {
"Unit": "mL/min"
}
}
}
}
}, {
"AdvanceTime": {
"Time": {
"ScalarTime": {
"Value": 500.0,
"Unit": "s"
}
}
}
}]
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment