Contents
  1. PHYSBE
  2. Model Elements
  3. Model Parameters
  4. Running the Model
  5. Output
  6. PHYSBE and Simulink
  7. Conclusions
  8. References

PHYSBE

Human circulatory systemPHYSBE schematicPHYSBE 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.


Block diagram of PHYSBE


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:


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.

Physbe Control Window


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%.

Plot of Pressure In


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.

Plot of internal pressure


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).

Plot of blood volume


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
  1. McLeod J, PHYSBE...a physiological simulation benchmark experiment, SIMULATION, 324-329, vol.7, no.6, 1966.
  2. McLeod J, PHYSBE...a year later, SIMULATION, 37-45, vol.10, no.1, 1968.
  3. 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
  4. Korn G, McLeod J, Wait J, DARE/PHYSBE, SIMULATION, 229-231, Nov. 1970.
  5. McLeod J., Toward uniform documentation--PHYSBE and CSMP, SIMULATION, 215-220, vol.14, no.5, 1970.
  6. Benham R., An ISL-8 and ISL-15 study of the physiological simulation benchmark experiment, SIMULATION, 152-156, April 1972.
  7. 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