PhysioNet  ·  PhysioBank  ·  PhysioToolkit

PhysioToolkit
open source software for
biomedical science and engineering

Advanced Search | Tour | Mirrors
How to Cite | Contributing | FAQ
Getting Started  ·  Software Index  ·  Matlab Software  ·  WFDB Software  ·  Manuals Site Map

CVSim: a cardiovascular simulator

CVSim is a lumped-parameter model of the human cardiovascular system that has been developed and used for research and for teaching quantitative physiology courses at MIT and Harvard Medical School for over 20 years. The versions presented here have a graphical user interface implemented in Java, with computational components in C. The portable C code has been compiled for popular platforms, and users of Linux (x86), Mac OS X (PPC and x86), and MS Windows (x86) should be able to use the links below to run CVsim.

CVSim has been tested on Windows XP, Mac OS X PPC, Mac OS X x86. Fedora Core 4, Fedora Core 5, Fedora Core 7, and Red Hat Enterprise Linux 4. CVSim is not currently supported on Solaris.

Prerequisites for the Educational Version of CVSim

In order to run the educational version of CVSim, Java Web Start must be installed on your computer. Since it is included in all recent versions of the Java Runtime Engine (JRE), this may have been done already. If not:

You need to do this at most once on any computer on which you will use CVSim.

Launching the Educational Version of CVSim

Once Java Web Start has been installed on your computer, one of the two links below can be used to start CVSim.

Launch CVSim [physionet.org]      Launch CVSim [alternate]

PhysioNet mirror users: Try the alternate link first. If it doesn't work, the first link can be used to launch CVSim from the master PhysioNet server.

The first time you run CVSim, a warning will appear. (Internet Explorer users: The security warning may be displayed behind your browser.)

Click Run. (To avoid the warning in the future, first check Always trust content from this publisher).

Research versions of CVSIM

Sources for the research version of CVSim, which includes the six-compartment teaching model available above as well as a more detailed model containing 21 compartments, are available as a gzip-compressed tar archive, or you may get individual files from the source tree.

Precompiled binaries of the research version of CVSim are also available for GNU/Linux and Windows. (These binaries must be downloaded and unpacked before they can be run. Instructions for using them are included in each package.)

For reference, you may also wish to study an older implementation (see RCVSIM or XCVSim).

Using CVSim

The notes below apply to both the educational and the research versions of CVSim.

CVSim Window Components

The CVSim window is divided into four sections ("panes") and a toolbar:

These components are briefly described here, and demonstrated in short Flash animations (click on the links below to see them).

Simulation Control Toolbar

The Simulation Control Toolbar includes six controls to stop and start the simulation and turn the control systems on and off:

Start the simulation
Stop the simulation
Turn on the arterial baroreflex control system
Turn off the arterial baroreflex control system
Turn on the cardiopulmonary reflex control system
Turn off the cardiopulmonary reflex control system

Simulation Parameters Pane

The Simulation Parameters Pane displays the simulation variables and outputs. (The Simulation Outputs Pane, which is located on a separate tab behind the Simulation Parameters Pane, is not functional in the current version of CVSim. In a future version, it will be used to select outputs to be recorded in a log file.)

Graphics Pane

The Graphics Pane displays anatomical and circuit representations of the simulation model.

Click and drag the vertical bar between the Simulation Parameters and Graphics panes to resize them.

Strip Chart and Plot Panes

The Strip Chart behaves like a chart recorder, plotting simulation outputs versus time and scrolling from right to left. The Plot Pane behaves like a flatbed XY plotter, plotting simulation outputs versus one another. Watch the Strip Chart and Plot demo.

Strip Chart and Plot panes can be undocked using the arrow icon at the upper right corner of the pane. Once undocked, they can be moved and resized, and it is possible to view more than one of each simultaneously. (Select New Strip Chart or New Plot from the main window's Plot menu to create additional strip charts or plots.)

Printing

There is no built-in facility for printing. Linux users can take a snapshot of the screen using the PrintScreen key, or of a single window (such as an undocked strip chart pane) using Alt+PrintScreen. Most image viewers (such as eog, gimp, gqview. or kview) can display and print these snapshots. Similar facilities may be available on other platforms.

Differences Between the Educational and Research Versions

The educational version includes the six-compartment model only, and there are minor user-interface differences with respect to the research version. Notably, the menu bar of the educational version includes a Patient menu; selecting a patient allows a student to explore what perturbations of cardiovascular parameters might account for a given set of symptoms, and what interventions might be effective in improving the CV state of the virtual patient. The research version includes both 6- and 21-compartment models (you must choose one of these at the beginning of the simulation), and offers greater flexibility in performing experiments using the model. The current research version allows the user to perform virtual tilt tests, for example.

Acknowledgments

This implementation of CVSim is the work of Catherine Dunn and Thomas Heldt, with contributions from Ali Saeed and Brandon Pierquet.

Previous implementations were written by Bob Sah (1983), George Moody (1985), Tim Davis (1989), Rama Mukkamala (2001), Thomas Heldt (2002), and by Eun Bo Shim and his students (2003). The circulatory model used in CVSim was created by Roger Mark, based on an analog model of JG Defares and colleagues [1]. The CVSim model was elaborated by Thomas Heldt, Eun Bo Shim, Roger Kamm, and Roger Mark [2].

Development of CVSim was supported in part through the National Aeronautics and Space Administration (NASA) Cooperative Agreement NCC 9-58 with the National Space Biomedical Research Institute (grants CA00106, CA00205, and CA00403).

[1] JG Defares, JJ Osborne, and HH Hara, Theoretical synthesis of the cardiovascular system. Study I: The controlled system. Acta Physiol Pharmacol Neerl 12:189-265 (1963).

[2] T Heldt, EB Shim, RD Kamm, and RG Mark. Computational modeling of cardiovascular response to orthostatic stress. J Appl Physiol 92(3):1239-1254 (2002 March 1).

Related Links

Send feedback about this page to PhysioNet

Your comments and suggestions are welcome. We encourage you to use our feedback form to comment on this page. If you would like to receive a reply, please send your comments by email to webmaster@physionet.org, or post them to:

PhysioNet
MIT Room E25-505A
77 Massachusetts Avenue
Cambridge, MA 02139 USA

Updated Monday, 10-Sep-2007 11:01:40 EDT National Institute of Biomedical Imaging and Bioengineering National Institutes of Health National Institute of General Medical Sciences