Contents
- PHYSBE
- Model Elements
- Model Parameters
- Running the Model
- Output
- PHYSBE and Simulink
- Conclusions
- References
PHYSBE

PHYSBE is a classic model of the human circulatory system. The specifications for the
model were first published by John McLeod in 1966 in an article titled, "PHYSBE...a
physiological simulation benchmark experiment"[1]. PHYSBE models blood flow as a
transport mechanism, and can be used to simulate the flow of oxygen, nutrients, heat, or chemical
tracers within the bloodstream.[2] It is also a good example of a non-linear continuous
system.
The model presented in McLeod's original paper simulates heat transportation in the human
body. The goal was to provide a general-purpose simulation of the circulatory system for other
models to use as a baseline experiment. The PHYSBE model has been duplicated here using Simulink as
a modeling tool.
In simulating the human circulatory system, the model components are best described in terms of
the physiological elements they represent. (If you're not familiar with the medical
terminology, a glossary is available.)
Model Elements
The body's circulatory system can be divided into three distinct parts[3]: the
lungs (pulmonary circulation), the heart (coronary circulation), and "everything else" (systemic circulation). McLeod further divided the coronary circulatory system
into four subsystems: right heart, left heart, vena cava (main vein), and aorta (main artery). The
systemic circulatory system was also divided into four subsystems: arms, head, trunk, and legs.
The working Simulink block diagram is also useful for visualizing the relationship between these
nine subsystems and is shown below. Clicking on any of the subsystem blocks will bring you to the
underlying block diagram for that subsystem.

Figure 1. Block diagram of the PHYSBE model (click on a block to see the
underlying subsystem).
The breakdown of the three main circulatory system components to the nine individual subsystem
blocks is as follows:
- The pulmonary system (light-blue block with red text)
-
- The coronary system (red blocks with blue text and white blocks with red
text)
-
- The systemic system (orange blocks with blue text)
-
Model Parameters
Each of the model elements (i.e. blocks) has four basic input parameters used to describe its
characteristics. Two of these parameters are key elements of the basic blood flow component of the
problem, and two are specific to the heat flow component of the problem. The variable names used in
the model are shown in table 1.
Table 1. Input parameters.
| Blood Flow |
|
Heat Flow |
|
Property
|
Units
|
Variable
|
|
Property
|
Units
|
Variable
|
|
resistance
|
mmHg/ml/sec
|
R
|
|
radiant area
|
cm2
|
A
|
|
compliance
|
ml/mmHg
|
C
|
|
weight
|
g
|
W
|
Each of the model elements also has basic output variables. Three of these are specific to blood
flow and three are specific to the heat flow. The variable names used are shown in table 2.
Table 2. Output variables.
| Blood Flow |
|
Heat Flow |
|
Property
|
Units
|
Variable
|
|
Property
|
Units
|
Variable
|
|
pressure
|
mmHg
|
P
|
|
temperature
|
kelvin
|
t
|
|
flow rate
|
ml/sec
|
F
|
|
heat flow
|
cal/sec
|
f
|
|
volume
|
ml
|
V
|
|
total heat
|
cal
|
h
|
Running the model
The input parameters for the model can all be assigned using the PHYSBE Control Center: a GUI
that assigns values to variables in the workspace. Because MATLAB and Simulink share the same
workspace, these variables can be used to quicky adjust the initial conditions for the model. The
PHYSBE Control Center is shown below with the parameters given in the original PHYSBE article. As
will be seen in the results, however, a slightly different set of parameters must be used to
generate a stable system.

Figure 2. Graphical User Interface for changing parameters in the PHYSBE
model.
The prototype for this GUI was created in about an hour using GUIDE, the GUI Development
Environment. It is set up to mirror the table of parameters given the original PHYSBE article. Some
additional notes about the above control window:
- Adjustable variables are listed across the top
- Circulatory subsystems are listed down the side
-
- The lungs have been broken into two rows:
-
- "Lung" is for arterial (input-side) parameters
- "Lung2" is for venous (output-side) parameters
- Blue fields represent fixed parameters which should not be adjusted.
- Heat flow, f, is broken into two types:
-
- fe, heat from external sources, which applies to all other subsystems;
- fd, dissipative heat flow, which plies only to the lungs.
- Although initial heat content, h0, and the heat flow rates, fe and fd, are given in the
model definition, neither parameter was defined by McLeod so they have been left as zero.
The other key information required to run the simulation is the heartbeat, which is specified
using repeating sequence blocks in the Analysis Subsystem.
Output
According to the original specifications for PHYSBE, "the problem should be set up in such
a way as to allow recording (not necessarily simultaneously) of all pressures, blood-flows,
volumes, temperatures, and heat flows as a function of time."[1] The model
presented here can yield all of these values--simultaneously, in fact. This is a rather large
amount of data, however, so only the pressures and volumes of each subsystem are currently saved to
the MATLAB workspace using the To-Workspace blocks in the Analysis
Subsystem. From this data, the output from the Lungs, Left Heart, Head, and Vena Cava will be
presented as they represent characteristic behavior of the pulmonary, coronary, and systemic
systems. The data from near the end of the simulation will be plotted in order to focus on the
steady-state output of the model. The time range covered will be from time t=10sec to t=15sec.
In order to get the results shown below, several parameter values listed in the original PHYSBE
article (and shown in the PHYSBE Control Panel) had to be changed. The changed parameters, which
came from the program listing in a later article by Korn, McLeod, and Wait [4], are given in table
3.
|
Ri |
Ro |
C |
| R.Heart |
0.0128 |
0.0111 |
75 (same) |
| Lung |
0.1429 |
0 (same) |
7.5188 |
| Lung2* |
0 (same) |
0 (same) |
30.3030 |
| L.Heart |
0.0588 |
0.0125 |
75 (same) |
| Aorta |
0 (same) |
0 (same) |
1.250 |
Table 3. Changed PHYSBE parameters.
Input Pressure
Input pressure corresponds to the Pni term for each of the n subsystems. Input
pressure on one subsystem is also equivalent to output pressure of the previous subsystem.
The input pressure for the Lungs, Left Heart, Head, and Vena Cava are plotted as blue lines in
figure 3. Minimum and maximum input pressures, as defined by McLeod [1], are shown as
red horizontal lines in each plot. McLeod also allows for an error factor of +/-20%, which has been
plotted as horizontal dashed-lines at max(Pi)+20% and min(Pi)-20%.

Figure 3. Plot of input pressure
The input pressures shown in figure 3 generally fall within the prescribed limits, with the
exception of the Left Heart. The Left Heart has an appropriate standard deviation, but its mean is
too high. Because all values are still within the 20% allowable error, no effort has been made to
optimize the parameters further.
Pressure (internal)
Pressure corresponds to the Pn term for each of the n subsystems. The
exception is the Lungs, for which only input and output pressures are calculated. Also, in the case
of the Aorta and Vena Cava, which have no resistance, the internal pressure is equivilent to both
the input and output pressures.
The pressure values for the Lungs, Left Heart, Head, and Vena Cava are plotted as blue lines in
figure 4. Minimum and maximum pressures, as well as the 20% error factors, have also been plotted
as they were in the input pressure plots.

Figure 4. Plot of internal pressure
Similar to the plots of input pressure, internal pressure generally falls within the prescribed
limits. The exception this time is the Lungs (Note: the lungs' output pressure was chosen for
the internal pressure plot because no internal pressures are explicitly calculated for the lungs).
This is to be expected, however, as the outlet pressure of the Lungs is defined as the Left
Ventricle input pressure. Similarly, the internal and input pressure plots for the Vena Cava have
not changed because they are defined to be one and the same value. Again, because all values are
still within the 20% allowable error, no effort has been made to optimize the parameters
further.
Volume
Blood volume corresponds to the Vn term for each of the n subsystems. There is
an exception again for the Lungs which only have input and output values for blood volume. For this
reason the Lung data has been plotted with two lines in figure 4: a blue one for the input volume,
and a green one for output volume. Volume data for the Left Heart, Head, and Vena Cava are still
plotted as blue lines.
Minimum and maximum volumes are only defined for the heart, so the Left Heart plot has the same
pairs of red and block lines as do the pressure plots. For the other subsystems, only one value was
provided for an ideal volume. This line is plotted in red, with an additional pair of red lines at
+/-20%. The Lung plot has a second set of three lines in black to represent the ideal, minimum
error, and maximum error values for the lung output volume data (plotted in green).

Figure 5. Plot of blood volumes.
All volume data appears to be as predicted, with the exception of the Lung's input blood
volume. Similar to the pressure data, though, the lung output shows an acceptable range of
operation, but a higher than expected mean of operation. This condition may well be corrected by
altering the initial conditions for the lung.
PHYSBE and Simulink
The block diagram shown in figure 1 is what the actual working Simulink model of PHYSBE looks
like. Several features of Simulink that make it an excellent choice for modeling PHYSBE.
- Easy-to-use graphical interface allows for quick assembly and organization of model
components.
- Block-diagram representation of model elements makes the finished model easy to
understand.
- Grouping multiple blocks into a single subsystem block allows complex models to be
represented simply.
- Ability to add text annotations provides contextual information about the model.
- Adjustable color values for both background (field) and foreground (lines and text) adds an
additional dimension of information to the display.
- Close ties with MATLAB provides for easy data manipulation, including all of the Handle
Graphics tools for entering parameters as well as displaying results.
The following features were used to make this model more efficient and easier to understand.
- Goto and From blocks have been used to eliminate crisscrossing lines caused by overlapping
feedback loops, leaving only a clean representation of the blood flow in the circulatory
system.
- Switch blocks used inside the Vena Cava allow mixed-signal vectors coming into the
subsystem to be sorted into similar-signal vectors for efficient processing.
- Direct line-labeling makes the information flow much easier to track.
- Feedthrough of line labels through virtual blocks makes line labeling more efficient.
- A new integrator in the Simulink computational engine improves accuracy around
non-linearities such as heart-beats and valve closings.
Conclusions
PHYSBE has been programmed many times and in many ways, [1,2,4,5,6] of which this
Simulink model is only the latest. Despite its ease of use, though, the accuracy of this Simulink
model is based on the same assumptions that all basic PHYSBE models are subject to
[4]:
- blood without mass
- blood flow modeled as a Newtonian fluid
- organs and blood vessels having linear compliance
- heart valves that close instantaneously
- lumped body systems
Nevertheless, PHYSBE as a Simulink model is fast, accurate (accounting for the above
assumptions), and an excellent baseline simulation for investigating the circulatory system. In
addition, this Simulink model has something that most other PHYSBE models don't have: free
distribution on the internet! Anyone is welcome to download PHYSBE and adapt it for their particular use.
We would also encourage you to submit your
modified model to our User Community for others to see and use.
If you would like more information about MATLAB or Simulink, please send mail to info@mathworks.com .
Additional information on PHYSBE and other sources used to develop this model can be found in
the references section, below.
References
- McLeod J, PHYSBE...a physiological simulation benchmark experiment,
SIMULATION, 324-329, vol.7, no.6, 1966.
- McLeod J, PHYSBE...a year later, SIMULATION, 37-45, vol.10, no.1,
1968.
- The Heart, An Online Exploration (particularly
the circulatory system ) A web
site developed by The Franklin Institute Science Museum with support from Unisys Corporation.
© 1996 The Franklin Institute Science Museum
- Korn G, McLeod J, Wait J, DARE/PHYSBE, SIMULATION, 229-231, Nov.
1970.
- McLeod J., Toward uniform documentation--PHYSBE and CSMP,
SIMULATION, 215-220, vol.14, no.5, 1970.
- Benham R., An ISL-8 and ISL-15 study of the physiological simulation benchmark
experiment, SIMULATION, 152-156, April 1972.
- Vesalius Interactive Anatomy, a web site dedicated
to bringing unique, informative content to the entire surgical community; © Lion Reef Software, 7831 Woodmont Avenue Bethesda, MD 20814