Skip to content

Latest commit

 

History

History
60 lines (42 loc) · 2.21 KB

File metadata and controls

60 lines (42 loc) · 2.21 KB

codecov Fortitude

OpenFMS: ab initio multiple spawning code

This is an open-source version of the FMS90 code by Todd Martínez et al

The code is based on the FMS-TeraChem-Simple branch, and has been significantly pruned and refactored. It currently contains the MPI interface to TeraChem and various analytical (toy) potentials.

Installation

To compile the code and run the test suite, the following sequence should work on a typical unix machine with GCC toolchain intalled.

./configure.sh
make -j
make unittest
make test

Note: The configure.sh script is very barebones, you might need to tweak the CONFIGFMS file that it generates.

In the default (zero) compilation target, only the analytical model potentials are available.

To compile with TeraChem interface, run:

./configure.sh tc

In this case, the compiler needs to be changed to mpif90 using the MPI implementation that is matching the version that was used to compile TeraChem (typically MPICH or IntelMPI). To compile MPICH, we recommend using the included .github/install_mpich.sh script. Note that MPICH version >=4.0 is strongly encouraged as earlier versions contained bugs that were affecting the TeraChem interface.

Running simulations using TeraChem interface

The current interface with TeraChem utilizes the MPI protocol to connect the OpenFMS and TeraChem processes. It is crucial that both TeraChem and OpenFMS are compiled with the same MPI library. Even then, succesfully establishing the connection between the two processes might be tricky. We highly recommend using the provided run_fms_tc.sh script for this purpose.

CMake support

Currently only the standalone analytical-potential can be compiled and tested with CMake:

# Configure
cmake -S . -B build
# Compile
cmake --build build -j
# Run tests
ctest --test-dir build --output-on-failure

Development

Please see the Contribution Guide.