Software Open Access
CVSim
Thomas Heldt , George Moody , Roger Mark
Published: March 16, 2007. Version: 1.0.0
CVSim (March 16, 2007, midnight)
A new implementation of CVSim, a cardiovascular simulator that has been used for education and research at MIT and Harvard Medical School for over 20 years, has been contributed to PhysioNet by its authors. CVSim can be launched directly from a web browser with no installation required in most cases.
Please include the standard citation for PhysioNet:
(show more options)
Goldberger, A., Amaral, L., Glass, L., Hausdorff, J., Ivanov, P. C., Mark, R., ... & Stanley, H. E. (2000). PhysioBank, PhysioToolkit, and PhysioNet: Components of a new research resource for complex physiologic signals. Circulation [Online]. 101 (23), pp. e215–e220.
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 since 1984. The versions presented here have a graphical user interface implemented in Java, with computational components in C.
Software and Usage
Java is required to run CVSim. To use one of the compiled (ready to use) distributions:
- Download and install the Java Runtime Environment (JRE) version 1.8. Note that the JDK contains the JRE and other java delopment tools.
- Download and save the compiled CVSim archive file for your system. See the
dist
folder in the Files section of this project for Linux, OSX, Windows versions. - Unzip the contents of the downloaded archive file.
- Run the program. The script to be executed is:
run-cvsim
.- Windows users can just double click the
run-cvsim.bat
file. - Alternatively, users can run the code through a terminal:
- Open a terminal: can be found under the name
terminal
in Ubuntu-Linux and OSX, andcmd
in Windows. - Navigate to the extracted content directory using the
cd
command. - Type:
./run-cvsim
in Linux/OSX, orrun-cvsim
in Windows.
- Open a terminal: can be found under the name
- Windows users can just double click the
- Choose either the 6 or 21 compartment model (see below).
Source Code
The source code is in the cvsim/devel/
directory of the Files section for this project. CVSim has been successfully compiled using Java 1.6, 1.7, and 1.8 on 32 and 64 bit Linux, OSX, and Windows. To compile the source for your platform, follow the README.txt instructions in the cvsim/devel/
subdirectory. Using the Java Development Kit (JDK) 1.8 is recommended.
Compiled Code
Compiled versions using Java 1.8 on 64-bit Ubuntu-Linux 16.04, OSX 10.11, and Windows 10 are provided in the dist
directory. Issues regarding the code can be reported in the project's GitHub repository.
Versions
The source code and compiled distributions contain content for both 6 and 21 compartment models of CVSim. The older implementations, RCVSim and XCVSim, are available in their respective Physiotools pages.
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 shown in images/cvsim_gui_annotated_small1.jpg
. These components are briefly described here, and demonstrated in short Flash animations.
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.
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.)
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 [2]. The CVSim model was elaborated by Thomas Heldt, Eun Bo Shim, Roger Kamm, and Roger Mark [3].
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).
References
[1] T Heldt, R Mukkamala, GB Moody, and RG Mark. CVSim: An Open-Source Cardiovascular Simulator for Teaching and Research. Open Pacing, Electrophysiol & Ther J 3:45-54 (2010).
[2] 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).
[3] 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
- A Cardiovascular Simulator for Research. RCVSIM is Rama Mukkamala's 2001 version of the CVSim model, and was developed using MATLAB. MATLAB is not required to run RCVSIM under Linux. The output of RCVSIM can be read and manipulated further using the WFDB software package.
- XCVSim. Sources and Linux binaries for Tim Davis's 1989 implementation of CVSim for X10 on MIT's Project Athena, with revisions by George Moody for X11 on GNU/Linux and other Unix platforms.
- Quantitative Physiology: Organ Transport Systems. This MIT OpenCourseWare course is based on Roger Mark's spring 2004 course, which used XCVSim. CVSim-6 was first used in this course in spring 2007.
Release Information
The source code and compiled distributions contain content for both 6 and 21 compartment models of CVSim.
The older implementations, RCVSim and XCVSim, are available in their respective project pages.
The CVSim software was developed between 1983 and 2007, and four versions of it are available from PhysioNet:
- XCVSim (1991-1998), a 6-compartment model with an X11 GUI
- RCVSim (2000-2003), a 6-compartment model with a scriptable command-line interface
- CVSim-6 (2002-2007), a 6-compartment model with a Java GUI (described below)
- CVSim-21 (2002-2007), a 21-compartment model with an enhanced Java GUI (also described below)
Issues regarding the code can be reported in the project's GitHub repository.
Access
Access Policy:
Anyone can access the files, as long as they conform to the terms of the specified license.
License (for files):
Open Data Commons Attribution License v1.0
Discovery
Topics:
cardiovascular
simulation
Corresponding Author
Files
Total uncompressed size: 191.0 MB.
Access the files
- Download the ZIP file (160.8 MB)
-
Download the files using your terminal:
wget -r -N -c -np https://physionet.org/files/cvsim/1.0.0/
-
Download the files using AWS command line tools:
aws s3 sync --no-sign-request s3://physionet-open/cvsim/1.0.0/ DESTINATION