// MODEL NUMBER: 0059
// MODEL NAME: Compliant_Vessel
// SHORT DESCRIPTION:
// This model describes a flow through a single vessel with fixed resistance to flow, R,
// compliance, C, and a pressure drop along the vessel of Pin  Pout.
import nsrunit; unit conversion on;
math Compliant_Vessel{ realDomain t sec; t.min = 0; t.max = 10; t.delta = 0.01;
realDomain Vpv uL; Vpv.min = 0.002; Vpv.max = 1.15; Vpv.delta = 0.001;
// PARAMETERS:
real
Pmean = 30 mmHg, // Mean input driving pressure
Pamp = 2.5 mmHg, // Input driving pressure amplitude
tnorm = 1 sec, // Normalizing time constant
mu = 3 cP, // Fluid viscosity
L = 12500 um, // Vessel length
Dinit = 200 um, // Vessel diameter
Pout = 25 mmHg, // Output pressure
Pext = 0 mmHg, // Extraluminal pressure
R dyne*s/(uL*cm^2), // Vessel resistance to flow
C uL/mmHg; // Vessel compliance
// VARIABLES
real
Pin(t) mmHg, // Input driving pressure
Fout(t) uL/s, // Flow through the vessel
Fin(t) uL/s, // Flow into the vessel
Fcomp(t) uL/s, // Flow attributed to volume change
V(t) uL, // Volume of vessel
D(t) um, // Vessel diameter
Ppv(Vpv) mmHg; // Pressure for full PV curve
// CALCULATED FIXED PARAMETERS
R = (128*mu*L) / (PI*Dinit^4); // Vessel resistance to flow
C = (PI*(Dinit^2)*L) / (4*Pmean); // Vessel compliance
// ALGEBRAIC AND ODE EQUATIONS
Pin = Pmean + Pamp*sin(2*PI*t/tnorm); // Input pressure sine train
D = (4*V/(PI*L))^0.5; // Vessel diameter
Fout = (Pin  Pout)/R; // Set of equations to solve
Fin = Fout + Fcomp; // for flows and volume
V = (Pin  Pext) * C;
Fcomp = V:t;
Ppv = Vpv / C; // Pressure for full PV curve
} // END OF MML CODE
/*
FIGURE:
Fin
> Pin R Pout
o/\/\/\/\o
 >
  Fout
  Fcomp
 v

C,V =====




o Pext



DETAILED DESCRIPTION:
The model simulates fluid flow, F, through a compliant vessel with
resistance to flow, R, and vessel compliance, C, given a pressure drop
across the length of the vessel equivalent to Pin  Pout. The flow
out of the vessel is related to the resistance by the fluid equivalent
of Ohm's Law.
Fout = (Pin  Pout) / R
where Pin  Pout is the difference in pressure between the beginning
and end of the vessel and R is fixed in this model and is calculated
from Poiseuille's Law as:
R = 128*mu*L / pi*Dinit^4
where mu is the fluid viscosity, L is the vessel length, and Dinit is
the initial vessel diameter.
The flow into the vessel and the flow out of the vessel are different
because of the change in volume which adds or subtracts flow from that
leaving the vessel depending on whether the pressure is increasing or
decreasing in the vessel. So we have:
Fin = Fout + Fcomp
where the flow attributed to the vessel compliance, Fcomp, is given by:
Fcomp = dV/dt
and where V is the vessel volume and is related to the compliance, C and
intraluminal pressure, Pin, by:
V = Pin * C
It should be noted in the code that the initial vessel volume is
prescribed by Pin and the value of C calculated from the initial diameter,
vessel length and mean pressure.
SHORTCOMINGS/GENERAL COMMENTS:
KEY WORDS: compliant, vessel, flow, resistance, compliance, RC circuit
REFERENCES:
Ohm GS. Die galvanische Kette mathematisch bearbeitet, 1827
REVISION HISTORY:
Created by Max Neal
Modified by Brian Carlson Date: 31 August 2007
Modified by Micah Nicholson Date: 2Apr2009
Revised by: BEJ Date:01jun11 : Update comments and updated params R, C
COPYRIGHT AND REQUEST FOR ACKNOWLEDGMENT OF USE:
Copyright (C) 19992011 University of Washington. From the National Simulation Resource,
Director J. B. Bassingthwaighte, Department of Bioengineering, University of Washington, Seattle WA 981955061.
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.
*/