REST: The parameter set "example1" has been tuned so that the amount of fluid in circulation is about the same as that found in the systemic circulation of a textbook human, 5 litres.
The compliance parameter for segment 1 was tuned so that the volume approximates that of the systemic arterial system of a textbook human. This necessitates a high compliance in the single arterial segment, which produces a lower-than-textbook pulse pressure in segment 1.
The compliance parameter for segment 2 was tuned so that the volume approximates that of the capillaries and venous systems of a textbook human.
Parameter set "Rest" gives approximating results in terms fo blood pressure, distribution of volumes of blood, and the ventricular pressure volume loop. The resistances and compliances are therefore crude approxiamtions and are crudely descriptive of the whole circulation. The P1 pulse pressure (systolic - diastolic) is too low, and ventricular diastolic pressure is much too high, but ventricular volumes are acceptable.
Raising an external pressure simply moves all the pressures up by Pext, since the heart and the vessels are all influenced equally. If transmural pressures were plotted instead of total pressures, the Pr-Vol loop for the ventricle would remain unchanged.
EXERCISE: Adjust parameters to create a cardiac output of 15 litres/min at a heart rate or 120 to 140 beats/min. Since aortic pressure rises very little with exercise, overall system resistance must drop to 1/3 of that a the rest state.
R1 reduced from 0.85 to 0.3 and R2 from 0.16 to 0.04. Cardiac output initial condition was set to 15 L/Min but this has no influence on the instantaneous cardiac output which is F1. (It only affects the calculation of the average flow over the time constant tauCO.)
Note the increase in stroke volume on the P-V loop plot. To what do you attribute this increase?
// MODEL NUMBER: 0222
// MODEL NAME: Ventricle_Driven_Two_Vessel
// SHORT DESCRIPTION:
// This model simulates a closed loop resistor-capacitor
// circulatory network driven by a pressure generator (PV).
import nsrunit; unit conversion on;
math Ventricle_Driven_Two_Vessel { realDomain t sec; t.min=0; t.max=5.0; t.delta=0.1;
// PARAMETERS:
real R1 = 0.85 mmHg*sec/ml, // Resistance of vessel 1
R2 = 0.16 mmHg*sec/ml, // Resistance of vessel 2
Rv = 0.001 mmHg*sec/ml, // Resistance of ventricular valve
C1 = 5.3 ml/mmHg, // Compliance of vessel 1
C2 = 75 ml/mmHg, // Compliance of vessel 2
restV1 = 400 ml, // Rest volume of vessel 1
restV2 = 1000 ml, // Rest volume of vessel 2
restVvs = 30 ml, // End-systolic rest volume of ventricle
restVvd = 50 ml, // End-diastolic rest volume of ventricle
Emaxv = 1.4 mmHg/ml, // Maximum elastance of ventricle Eminv = 0 mmHg/ml; // Minimum elastance of ventricle
Eminv = 0.15 mmHg/ml, // Minimum elastance of ventricle
y0 = 0.2 dimensionless, // Cut off for chopped sin function
HR = 1 hz, // Heart rate
Pext = 0 mmHg; // External pressure surrounding all vessels
// VARIABLES:
real y(t) dimensionless, // Activation function for ventricular elastance
P1(t) mmHg, // Chamber pressure in vessel 1
P2(t) mmHg, // Chamber pressure in vessel 2
Pv(t) mmHg, // Chamber pressure in ventricle
restVv(t) ml, // Rest volume of ventricle
V1(t) ml, // Volume of vessel 1
V2(t) ml, // Volume of vessel 2
Vv(t) ml, // Volume of ventricle
Ev(t) mmHg/ml, // Ventricular elastance
F2(t) ml/sec, // Flow through vessel 2
F1(t) ml/sec, // Flow through vessel 1
Fv(t) ml/sec; // Flow through ventricle
// INITIAL CONDITION:
when (t=t.min) { V1 = 0; V2 = 0; Vv = 0; }
// ALGEBAIC AND ODE EQUATIONS:
y = sin(2*PI*HR*t); // Activation function
Ev = if (y>y0) ((y-y0)/(1-y0))*(Emaxv-Eminv) + Eminv
else Eminv; // Elastance function from chopped sine function
restVv = if (y>y0) ((1-y)/(1-y0))*(restVvd-restVvs) + restVvs
else restVvd; // Resting volume function from chopped sine function
Pv = Ev*(Vv-restVv) + Pext; // Eqs. B, C
P1 = if (V1>=0) ((V1-restV1)/C1) + Pext // Eq. B
else (-restV1/C1) + Pext; // no negative volumes in equations
P2 = if (V2>=0) ((V2-restV2)/C2) + Pext // Eq. B
else (-restV2/C2) + Pext;
Fv = if (Pv>P1) (Pv-P1)/Rv // Eq. D
else 0; // One-way valve
F2 = if (P2>Pv) (P2-Pv)/R2 // Eq. D
else 0; // One-way valve
F1 = (P1-P2)/R1; // Eq. D
real Cardout(t) L/min, tauCO = 5 sec; // mean Cardiac output averaged via
when (t=t.min) { Cardout = 5.2 ; } // a first order lag filter with time constant tauCO
Cardout:t = (F1*(60 sec/min)/(1000 ml/L)- Cardout)/tauCO;
Vv:t = F2-Fv; // Eqs. A,E
V1:t = Fv-F1; // Eqs. A,E
V2:t = F1-F2; // Eqs. A,E
} // END OF MML CODE
/*
FIGURE:
C2, V2
F2 R2 P2 /
\ \ \ || |
---<--^^^^^----o--||-----||.
| | || |
_ |
v ^
| | \
| || | > F1
.||--VE---o > \
| || | \ > R1
/ | Pv |
Cv, Vv | |
_ |
v |
| | || |
-----^^^^^-->--o---||-----||.
/ / / || |
Rv Fv P1 /
C1, V1
LEGEND:
C ^ ||
C or CCCCC = Inertance < > = direction of flow || or ----- = Compliance
C v || -----
> | -----
0 = Junction ^^^^^ or > = Resistance .|| or --- = Ground
> | .
_ ||
>| or |< or ^ or _ = diode (1-way valve) VE = Varying elastance
v ||
: = indicates a labeling arrow, not a path of flow
DETAILED DESCRIPTION:
This model simulates a closed loop resistor-capacitor
network driven by a pressure generator (Pv). Volumes flow
through a varying-elastance pressure generator component
(simulating a contracting ventricle) and two compliant
vessels in series. The simulated ventricle has two
one-way valves: one at either opening, but only one (Rv)
offers resitance.
---------------------------------------------------------------------------------
REFERENCE EQUATIONS:
Eq. A) Flow (mL/unit time) = change in volume / change in time
Basis: Definition of flow
Eq. B) Compliance = Change in volume / Change in transmural pressure
Basis: Definition of compliance
Eq. C) Elastance = 1/Compliance
Basis: Definition of elastance
Eq. D) Pressure drop = Resistance * Flow
Basis: Fluid analog of Ohm's Law
Eq. E) (Sum of flows entering junction = sum of flows leaving junction)
Basis: Kirchhoff Junction rule
Eq. F) Pressure drop = (change in Flow/change in time)*Inertance
Basis: Fluid analog of inductance
---------------------------------------------------------------------------------
SHORTCOMINGS/GENERAL COMMENTS:
KEY WORDS: Ventricle, Driven, Two, Vessel, Loop, resistor-capacitor,
pressure, flow, Circ2Seg, Tutorial, Cardiovascular system, Hemodynamics
REFERENCES:
Ohm GS. Die galvanische Kette, mathematisch bearbeitet, 1827
REVISION HISTORY:
Created by Brian Carlson
Modified by Micah Nicholson Date: April 6, 2009
Revised by: BEJ Date:16mar11 : Update Format
Revised by: BEJ Date:25may11 : add short run time to see wave form,
Revised by: JBB Date:26may11 : update page names and add notes about param sets
COPYRIGHT AND REQUEST FOR ACKNOWLEDGMENT OF USE:
Copyright (C) 1999-2011 University of Washington. From the National Simulation Resource,
Director J. B. Bassingthwaighte, Department of Bioengineering, University of Washington, Seattle WA 98195-5061.
Academic use is unrestricted. Software may be copied so long as this copyright notice is included.
This software was developed with support from NIH grant HL073598.
Please cite this grant in any publication for which this software is used and send an email
with the citation and, if possible, a PDF file of the paper to: staff@physiome.org.
*/