Installation: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 4: Line 4:
The PMFLib code is written in Fortran and C/C++ and is split into several git repositories hosted on GitHub. PMFLib itself contains a limited molecular dynamics engine, which requires external application providing potential energy and its gradient. Therefore, this engine is only suitable for testing. For production MD simulations, it is necessary to employ PMFLib integrated into another MD engine. Currently, sander and pmemd from [https://ambermd.org AMBER] are supported.
The PMFLib code is written in Fortran and C/C++ and is split into several git repositories hosted on GitHub. PMFLib itself contains a limited molecular dynamics engine, which requires external application providing potential energy and its gradient. Therefore, this engine is only suitable for testing. For production MD simulations, it is necessary to employ PMFLib integrated into another MD engine. Currently, sander and pmemd from [https://ambermd.org AMBER] are supported.


== PMFLib ==
===PMFLib===
* [https://github.com/kulhanek/pmflib pmflib] - pmflib main library and utilities
* [https://github.com/kulhanek/pmflib pmflib] - pmflib main library and utilities
* [https://github.com/kulhanek/pmflib-build pmflib-build] - infrastructure for building of PMFLib
* [https://github.com/kulhanek/pmflib-build pmflib-build] - infrastructure for building of PMFLib


== sander-pmf ==
===sander-pmf===
* [https://github.com/kulhanek/sander-pmf sander-pmf] - sander with PMFLib
* [https://github.com/kulhanek/sander-pmf sander-pmf] - sander with PMFLib
* [https://github.com/kulhanek/sander-pmf-build sander-pmf-build] - infrastructure for building of sander-pmf
* [https://github.com/kulhanek/sander-pmf-build sander-pmf-build] - infrastructure for building of sander-pmf


== pmemd-pmf ==
===pmemd-pmf===
The pmemd is not open source code, thus upon a request, we provide patches for connection with PMFLib.
The pmemd is not open source code, thus upon a request, we provide patches for connection with PMFLib.
=Installation of the reference MD code (sander.PMF)=
==Pre-requisities==
This procedure is tested on Ubuntu 20.04 LTS but other compatible distributions should work as well. First, install the following system packages:
<pre>
$ sudo apt-get install git cmake gcc g++ gfortran openmpi-bin
</pre>
==Compile and Install Sequential Version==
This procedure will compile and install a sequential version of sander.PMF and PMFLib utilities into the $HOME/bin/sander-pmf/single directory.
<pre>
$ mkdir -p $HOME/bin/sander-pmf/single
$ git clone --recursive https://github.com/kulhanek/sander-pmf-build.git sander-pmf-single
$ cd sander-pmf-single
$ ./build-utils/00.init-links.sh
$ ./01.pull-code.sh
$ cmake -DCMAKE_INSTALL_PREFIX=/path/to/sander-pmf/single .
$ make
$ make install
</pre>
==Compile and Install Parallel Version==
This procedure will compile and install a parallel version of sander.PMF and sequential version of PMFLib utilities into the $HOME/bin/sander-pmf/para directory.
<pre>
$ mkdir -p $HOME/bin/sander-pmf/para
$ git clone --recursive https://github.com/kulhanek/sander-pmf-build.git sander-pmf-para
$ cd sander-pmf-para
$ ./build-utils/00.init-links.sh
$ ./01.pull-code.sh
$ export CC=mpicc
$ export CXX=mpic++
$ export FC=mpif90
$ cmake -DCMAKE_INSTALL_PREFIX=/path/to/sander-pmf/para .
$ make
$ make install
</pre>