Multi Resolution Molecular Dynamics
- A C++ compiler with C++20 support
- CMake >= 3.25
These are fetched and built automatically by CMake:
- CLI11
- yaml-cpp
- Kokkos — specify flags for your target architecture and backend
- Cabana
- googletest
- HDF5 — required for H5MD I/O support
| Flag | Description | Default |
|---|---|---|
| MRMD_ENABLE_COVERAGE | Enable code coverage (clang only) | OFF |
| MRMD_ENABLE_HDF5 | Enable HDF5 / H5MD support | OFF |
| MRMD_ENABLE_TESTING | Build tests and add them to ctest | ON |
| MRMD_USE_SHARED_SPACE | Use shared space for Kokkos. | OFF |
| MRMD_VEC_REPORT | Enable reporting of loop vectorization | OFF |
| MRMD_VERBOSE_ASSERTS | Verbose asserts (CPU only) | OFF |
| MRMD_WERROR | Treat warnings as errors | OFF |
| Flag | Description | Options |
|---|---|---|
| Kokkos_ENABLE_* | Enable Kokkos backends | SERIAL, OPENMP, CUDA, ... |
| Kokkos_ARCH_* | Select target architecture | AMPERE80, NATIVE, ... |
git clone https://github.com/XzzX/mrmd
cmake -S mrmd \
-B mrmd-build \
-DCMAKE_BUILD_TYPE=Release \
-DKokkos_ENABLE_SERIAL=ON \
-DKokkos_ENABLE_OPENMP=ON \
-DKokkos_ARCH_NATIVE=ON
cmake --build mrmd-build --parallel 8
cd mrmd-build/examples/Argon
./Argoncd mrmd-build
ctest --parallel 4 --output-on-failureContributions are welcome! Please open an issue to discuss a bug or feature request before submitting a pull request. When contributing code, follow the existing code style (enforced via .clang-format) and ensure all tests pass.
If you use MRMD in your research, please cite it using the metadata in CITATION.cff or the following:
Sebastian Eibl and Julian Friedrich Hille. Multi Resolution Molecular Dynamics (MRMD). doi:10.5281/zenodo.17698862
MRMD is licensed under the Apache License 2.0. See LICENSE for details.