mtap-research / raspa3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Markdownify
RASPA3

This software is a general purpose classical simulation package.

It has been developed at the University of Amsterdam (Amsterdam, The Netherlands) during 2022/2024 in active collaboration with Eindhoven University of Technology (Eindhoven, Netherlands), Delft University of Technology (Delft, The Netherlands), and Northwestern University (Evanston, USA).

GitHub Actions Workflow Status GitHub Issues or Pull Requests

AuthorsContributorsRunningPythonDependenciesInstallation Guide

authors

Drs. Youri Ran, University of Amsterdam
Drs. Shrinjay Sharma, Delft University of Technology
Drs. Zhao Li, Northwestern University
Dr. David Dubbeldam, University of Amsterdam
Prof. Sofia Calero, Eindhoven University of Technology
Prof. Thijs Vlugt, Delft University of Technology
Prof. Randall Q. Snurr, Northwestern University

contributors

Alvaro Vazquez Mayagoitia, Argonne National Lab, contribution to openmp-implementation discussion
Anserme, better README.md and packaging

running

cd examples/basic/1_mc_methane_in_box
./run

dependencies

  • cmake 3.28 or higher
  • ninja 1.11 or higher
  • llvm-18 or higher
  • python3 and pybind11
  • blas and lapack (64-bit integers)

Installation Guide

presets

cmake --list-presets
Available configure presets:

"macos-intel"
"macos-intel-debug"
"macos-apple-silicon"
"macos-apple-silicon-debug"
"linux"
"linux-carbon"
"linux-opensuse-leap-15.2"
"linux-opensuse-leap-15.3"
"linux-opensuse-leap-15.4"
"linux-opensuse-leap-15.5"
"linux-opensuse-tumbleweed"
"linux-archlinux"
"linux-redhat-6"
"linux-redhat-7"
"linux-redhat-8"
"linux-redhat-9"
"linux-debian-12"
"linux-debian-11"
"linux-debian-10"
"linux-ubuntu-24"
"linux-ubuntu-22"
"linux-ubuntu-20"
"linux-fedora-35"
"linux-fedora-36"
"linux-fedora-37"
"linux-fedora-38"
"linux-fedora-39"
"linux-fedora-40"

linux

Ubuntu 24

apt-get install -y --no-install-recommends git ca-certificates cmake ninja-build
apt-get install -y --no-install-recommends llvm lld clang clang-tools clang-tidy libc++-dev libc++abi-dev libomp-dev libclang-rt-dev
apt-get install -y --no-install-recommends python3 pybind11-dev python3-pybind11 python3-dev
apt-get install -y --no-install-recommends liblapack64-dev libblas64-dev
cmake -B build --preset=linux-ubuntu-24
ninja -C build
ninja -C build install
ctest --test-dir build/tests/raspakit-tests --verbose

Fedora 40

dnf install -y wget git rpm-build
dnf install -y llvm lld cmake clang clang-tools-extra ninja-build
dnf install -y libomp-devel libcxx libcxxabi libcxx-devel libcxxabi-devel libcxx-static libcxxabi-static
dnf install -y lapack-devel lapack64 blas64
dnf install -y python3 python3-devel python3-pybind11
dnf install -y pybind11-devel
cmake -B --preset linux-fedora-40
ninja -C build
ninja -C build install
ctest --test-dir build/tests/raspakit-tests --verbose

macOS

brew install llvm ninja cmake doxygen graphviz lapack pybind11
cmake -B --preset macos-apple-silicon
(or cmake -B --preset macos-intel)
ninja -C build
ninja -C build install
ctest --test-dir build/tests/raspakit-tests --verbose

python

This package can also be built as a library for python. To build the python package the pip packaging system can be used. Note that due to compilation of the full package this might take a few minutes. To install, run the following command:

pip install .

This will install the package to the current python environment.

We strongly advise users to use the CMakePresets.json preset for their given system. For building the python package with a given preset change the following line in pyproject.toml to reflect the given preset:

cmake.args = ["--preset=python", "-DBUILD_TESTING=0", "-DBUILD_PYTHON=1"]

to, for example:

cmake.args = ["--preset=macos-apple-silicon", "-DBUILD_TESTING=0", "-DBUILD_PYTHON=1"]

How To Use

  1. Set environment variables
  • For bash

    echo 'export RASPA_DIR=/usr/share/raspa3' >> ~/.bashrc
  • For zsh

    echo 'export RASPA_DIR=/usr/share/raspa3' >> ~/.zshrc
  1. Run

    raspa

About

License:Other


Languages

Language:C++ 79.9%Language:Makefile 19.5%Language:CMake 0.3%Language:Python 0.2%Language:Shell 0.0%