PM3 SimVascular: Installation.

PM3 SimVascular: Pre-requisites.

PM3-SimVascular will be supported to compile from source only on MacOS (preferably Mojave or Yosemite) and Linux (Fedora, and Red Hat). We will likely use bash shell throughout the project, unless something only works on c or z shells (unlikely, but possible). For Windows, it is suggested that you use the installers, or try compiling yourself. Note that compiling of source is useful only if you want to use multi-processor machines (more than 10 or 100 procs) and Windows computers are usually not more than 4 or 10 procs. Following steps are to be taken in given order.

1. Package installers.

Before you set up for intallation, it may be worth it to install the following. In general, use the terminal. Installers on various systems are:

2. Compilers, services

A number of system packages/services should be installed (preferably compiled if needed). Latest versions are fine. You may need to know where each of these compilers below has been installed, as the path then needs to be added to your bashrc, profile, and bash_profile in case it gets installed at a non-generic location.

4. Directory structure.

The suggested directory structure is:

Sub-directories in projects/ and documents/ can have same names so that you can track project_n codes with project_n documents. e.g.

5. SimVascular dependencies (2019.06).

Similar to the compilers, the dependencies need to be installed as root. You do not HAVE to have them, but it is useful. Some of these dependencies may clash with your other platforms, and you need to know where you installed. Although release version numbers are given, installing latest has worked and is probably a good idea. Building all of these dependencies takes a while, and SimVascular's Makefile includes pre-built dependency binaries, i.e. you may wish to proceed with installing SimVasc itself before you spend time installing dependencies. Dependencies in SimVascular speak are called Externals.

6. SimVascular binaries.

Binaries are precompiled programs that work out-of-box most of the time. In particular, image processing, segmentation, meshing (some of it), and setting up 1D simulation are done using pre-compiled binaries. SimVascular has 4 components:

To get these packages, do the following:

Note that it is very likely that you will use these binaries in simulations that are not interactive. Make sure your bashrc/profile/bash_profile have the path to these binaries, which are to be installed in your $HOME/software folder for path tractability.

7. SimVascular compiling from source code.

I have collected the sources for all available SimVascular sources. They are available at mccsssk2/github as well as on UWO OneDrive - ask for a link. The distro (SimVascPM3_distro) is as is from the SimVascular github (SimVascular github). Before you start to compile, note that my Compute Canada (Graham and Cedar) modules are as below. Any accounts I provide will have these in the minimum available:

[kharches@gra-login1 software]$ module list
Currently Loaded Modules: 1) nixpkgs/16.09 (S) 5) intel/2016.4 (t) 9) hdf5-mpi/1.8.18 (io)
2) gcccore/.5.4.0 (H) 6) openmpi/2.1.1 (m) 10) fftw-mpi/3.3.6 (math)
3) icc/.2016.4.258 (H) 7) StdEnv/2016.4 (S) 11) petsc/3.7.5 (t)
4) ifort/.2016.4.258 (H) 8) imkl/11.3.4.258 (math)

Assuming all is well, then the installation is first configure, and then run make. To configure, you need to

cd SimVascular-master/ && mkdir Build && cd Build

and then

cmake-gui

at which point set the source as SimVascular-master and the Build and SimVascular-master/Build.
Configure and generate the Makefile. DO NOT EDIT THE MAKEFILE MANUALLY. Exit cmake-gui and run

make

Similar approach for svSolver and svFSI. Working on svOneDSolver, its probably in SimVascular-master.

A number of environment variables are set before SimVascular binaries can be run. Upon successful compile, each SV binary is associated with a shell script that sets the variables and then runs the binary. The actual binaries are in Build/bin, and the scripts are in Build/.

8. Backups

Your work needs to be backedup at 3 physically separate locations. One is your working copy in your chosen computer/account. The second option is your university OneDrive. The third can be a separate disk. The fourth can be github. Do not use small file sharing services for backup, especially those that cost money - not all are willing to pay.

SRK home PM3 SimVasc project home PM3 SimVascular dependencies. PM3sources and binaries. PM3 SimVascular installation. PM3 SimVascular projects. PM3 SimVascular documentation.




10th April 2021. Dr. Sanjay R. Kharche. The contents of the PM3 SimVascular pages are owned by the PM3 lab. and investigators: Drs. Sanjay R Kharche, Daniel Goldman, and CW McIntyre. External links are not gaurenteed to work. Source codes provided in this portal are distributed under GNU GPL lincence unless otherwise stated. You may use, modify, and share the distributions without any charges or permissions. You may use the PM3 generated models upon agreement with authors and developers. Please cite our publications if you use our codes and models.