Title: Systems models of the circulation BENG 230C Lecture 2
1Systems models of the circulationBENG
230CLecture 2
- Roy Kerckhoffs, PhD
- Cardiac Mechanics Research Group
- Dept of Bioengineering,
- University of California, San Diego
- roy_at_bioeng.ucsd.edu
2A simple systems model of the circulation
Ventricular time-varying elastance
RV
LV
3Using Matlabode23 function to solve ODEs
- t,statevarsode23(your_ODEs,timespan,y0,option
s,parameters) - input
- timespan 0 t_end or 0dtt_end
- y0 array with initial conditions
- options odeset(RelTol,1e-4,AbsTol,1e-6)
- parameters array with model parameter values
- name of function your_ODEs with system of ODEs
- output
- t time array
- statevars array with solution of state variables
- Call ode23 from a main program
4Using Matlabyour_ODEs
- create M-file your_ODEs.m with in itfunction
dy,variablesyour_ODEs(t,statevars,flag,paramete
rs) your equations go here - Array names same as previous slide, and ignore
flag
5Example of 3-element windkessel model
- Program wk3_main
- wk3_main
- dt 0.01 time step sec
- t_end 0.6 end time of simulation sec
- Zao 7e-3 aortic impedance kPasec/ml
- Cao 32.5 aortic compliance ml/kPa
- Rper 0.25 peripheral resistance kPasec/ml
- initial conditions
- y0(1,1) 300 initial aortic volume ml
- put parameters in array
- parameters(1) Zao
- parameters(2) Cao
- parameters(3) Rper
- options odeset('RelTol',1e-4,'AbsTol',1e-3)
- Solve the system of ODEs
- t,statevarsode23(wk3_ODE,0dtt_end,y0,opti
ons,parameters) -
qart
6Example of 3-element windkessel model
- Program wk3_ODE
- function dy,variableswk3_ODE(t, statevars,
flag, parameters) -
- Retrieve state variables
- Vao statevars(1)
- Retrieve parameter values
- Raoparameters(1)
- Caoparameters(2)
- Rperparameters(3)
-
- Make up some left ventricular pressure
- pmax 16 kPa
- plvpmax(-cos(2pit/0.6)/20.5)
- part Vao/Cao
- if plv gt part,
- qlv (plv-part)/Rao ventricular
outflow - else
- qlv 0.0
one-way valve
7Example of 3-element windkessel model results
- figure(1)
- clf
- subplot(311)
- plot(t,variables(,1 2))
- ylabel('Flows ml/sec','fontsize',16)
- legend('Aortic','Arterial','fontsize',16)
- subplot(312)
- plot(t,variables(,3 4))
- ylabel('Pressures kPa','fontsize',16)
- legend('LV','Aortic')
- subplot(313)
- plot(t,statevars(,1))
- xlabel('Time sec','fontsize',16)
- ylabel('Aortic volume ml','fontsize',16)
8Homework assignmentDesign and solve this model
of the canine circulation in Matlab
Ventricular time-varying elastance
RV
LV
9Parameter values
- solution control
parameters -
- dt 0.001 time step sec
- tend 3.000 end time of simulation sec
-
- Heart
- bcl 0.600 Basic cycle length
sec - twitchperiod 0.300 Duration of systole
sec, so here systole is half the time of the
cycle -
- Left atrium
- t_AV 0.120 atrioventricular activation
delay - Emaxla 0.078 maximum elastance of the
left atrium - Eminla 0.071 minimum elastance of left
atrium - restVlas 13 systolic unloaded volume of
left atrium - restVlad 14 diastolic unloaded volume
of left atrium -
- Right atrium
- Emaxra 0.03 maximum elastance of the
left atrium - Eminra 0.027 minimum elastance of the
left atrium
10Parameter values (Contd) and initial conditions
- Systemic circulation
- R1s 0.247 kPasec/ml Resistance of
vessel 1 - R2s 0.051 kPasec/ml Resistance of
vessel 2 - Rlv 7e-3 kPasec/ml Aortic impedance
- Rmit 5e-4 kPasec/ml Mitral valve
resistance -
- C1s 32.5 ml/kPa Compliance of
vessel 1 - C2s 432 ml/kPa Compliance of vessel
2 -
- Pulmonary circulation
- R1p 0.005 kPasec/ml Resistance of
vessel 1 - R2p 0.005 kPasec/ml Resistance of
vessel 2 - Rrv 2e-3 kPasec/ml Arterial impedance
of pulmonary artery - Rtric 5e-4 kPasec/ml Resistance of
tricuspid valve -
- C1p 41.7 ml/kPa Compliance of
vessel 1 - C2p 50 ml/kPa Compliance of vessel
2 -
- Initial conditions
11Design time-varying elastances with modified
cosines(ventricular and atrial not drawn to
scale!)
systole
basic cycle length
12Make sure that unloaded volumes for LA, RA, LV
and RV vary accordingly between diastole and
systole
2
0
VR
P(t) E(t)V(t) - V0(t)
ESP
1
6
1
2
Pressure (kPa)
8
EDPVR
restVlvd
4
0
0
200
150
100
50
LV Volume (ml)
restVlvs
13More specifically (1)
- Solve the model from t0 to t3 sec in Matlab
with ode23 - Use subplot to plot the following as a function
of time in figure 1 - Plot LV and RV pressures in subplot(311)
- Plot LV and RV volumes in subplot(312)
- Plot LV and RV in- and out-flows in subplot(313)
- In figure 2, plot the pressure-volume diagram for
the LV (for all 5 beats) - What is the stroke volume and ejection fraction
for the last beat?
14More specifically (2)
- Next, re-run the model, but at t3 sec well
induce an acute left ventricular infarct.
Simulate this by reducing LV maximum elastance by
30. - Stop the simulation at t10 sec.
- In figure 3, plot the pressure-volume diagram for
the LV (for all beats from t0 to t10 sec). - What is the stroke volume and ejection fraction
for the last beat? - Discuss what you observe.
- Remember to label your plots appropriately
15Hand in on paper (due date Thursday 9 April 2009)
- Matlab scripts (46 points)
- 3 figures (8 points each, total 24)
- Stroke volumes and ejection fractions for the
normal and infarcted left ventricle (5 points
each, total 20) - Discussion for figure 3 (10 points)
- Also email your matlab scripts to Tyler
(tseibert_at_ucsd.edu)