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.
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:
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.
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.
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.
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.
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/.
SRK home PM3 SimVasc project home PM3 SimVascular dependencies. PM3sources and binaries. PM3 SimVascular installation. PM3 SimVascular projects. PM3 SimVascular documentation.