https://github.com/espressopp/espressopp
Main ESPResSo++ repository
https://github.com/espressopp/espressopp
adress algorithm-challenges algorithmic analysis c-plus-plus devtools espresso hpc-applications lattice-boltzmann method python
Last synced: about 1 month ago
JSON representation
Main ESPResSo++ repository
- Host: GitHub
- URL: https://github.com/espressopp/espressopp
- Owner: espressopp
- License: gpl-3.0
- Created: 2014-10-07T12:44:28.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2025-12-11T22:12:36.000Z (about 1 month ago)
- Last Synced: 2025-12-12T23:08:00.492Z (about 1 month ago)
- Topics: adress, algorithm-challenges, algorithmic, analysis, c-plus-plus, devtools, espresso, hpc-applications, lattice-boltzmann, method, python
- Language: C++
- Homepage: http://www.espresso-pp.de/
- Size: 70.1 MB
- Stars: 45
- Watchers: 13
- Forks: 33
- Open Issues: 45
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS
- License: COPYING
- Authors: AUTHORS
Awesome Lists containing this project
README
# ESPResSo++

[](https://codeclimate.com/github/espressopp/espressopp)
[](https://codecov.io/gh/espressopp/espressopp)
ESPResSo++ is an extensible, flexible, fast and parallel simulation software for
soft matter research. It is a highly versatile software package for the
scientific simulation and analysis of coarse-grained atomistic or bead-spring
models as they are used in soft matter research. ESPResSo and ESPResSo++ have
common roots and share parts of the developer/user community. However their
development is independent and they are different software packages. ESPResSo++
is free, open-source software published under the GNU General Public License
(GPL).
# Quick start:
To get a copy of the developer version (most recent version) of ESPResSo++, you can use git or docker. Using docker will give you a binary release (nothing to compile, but performance may not be optimal). If you use git clone or download a tarball, you will have to compile ESPResSo+ yourself, which might lead to better performance.
Using [docker](https://www.docker.com):
```sh
$ docker pull espressopp/espressopp
$ docker run -it espressopp/espressopp /bin/bash
```
Using git:
```sh
$ git clone https://github.com/espressopp/espressopp.git
```
Alternatively, you can download a tarball or zip file of [previous release versions](https://github.com/espressopp/espressopp/releases) of ESPResSo++.
# Dependencies
## C++ Dependencies
- Boost ( >= 1.69.0)
- MPI
- FFTW3
- GROMACS (required when `WITH_XTC` flag is enabled, GROMACS needs to be built with GMX_INSTALL_LEGACY_API)
- HDF5
## Python Dependencies
ESPResSo++ requires Python 3.7 or newer. All required Python packages are listed in `requirements.txt`. You can install them via: `pip3 install -r requirements.txt`
# Quick install:
```sh
$ cd espressopp
$ cmake -B builddir -DCMAKE_INSTALL_PREFIX=/where/to/install/espressopp .
$ cmake --build builddir
$ cmake --install builddir
$ export PYTHONPATH=/where/to/install/espressopp/lib/python3*/site-packages:${PYTHONPATH}
```
After building go to the `examples` directory and have a look at the Python scripts.
You can also use [Pipenv](https://github.com/pypa/pipenv), simply after compilation call in the root directory
```sh
$ pipenv install
$ pipenv shell
```
then you can go to `examples` and have a look at the Python scripts.
## CMake options
You can customize the build process by applying following CMake flags
- `WITH_XTC` - build E++ with support of dumping trajectory to GROMACS xtc files (default: OFF).
- `CMAKE_INSTALL_PREFIX` - where the E++ should be installed.
- `CMAKE_CXX_FLAGS` - put specific compilation flags.
Then, the flags can be used in `cmake`
```sh
$ cmake -B builddir -DWITH_XTC=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_CXX_FLAGS=-O3 .
$ cmake --build builddir
```
## How to install E++ in some Linux distributions
### Ubuntu
```sh
$ apt-get -qq install -y build-essential openmpi-bin libfftw3-dev python3-dev libboost-all-dev git python3-mpi4py cmake wget python3-numpy ipython3 clang llvm ccache python3-pip doxygen sphinx-common python3-matplotlib graphviz texlive-latex-base texlive-latex-extra texlive-latex-recommended ghostscript libgromacs-dev clang-format curl latexmk libhdf5-dev python3-h5py sudo
$ cd espressopp
$ cmake -B builddir .
$ cmake --build builddir
```
### Fedora
```sh
$ dnf install -y make cmake wget git gcc-c++ doxygen python-devel openmpi-devel environment-modules python-pip clang llvm compiler-rt ccache findutils boost-devel boost-python3-devel python-sphinx fftw-devel python-matplotlib texlive-latex-bin graphviz boost-openmpi-devel ghostscript python3-mpi4py-openmpi texlive-hyphen-base texlive-cm texlive-cmap texlive-ucs texlive-ec gromacs-devel hwloc-devel lmfit-devel ocl-icd-devel hdf5-devel python-h5py atlas hdf5 liblzf python-six python-nose python-numpy
$ cd espressopp
$ cmake -B builddir .
$ cmake --build builddir
```
# Documentation
http://espressopp.github.io
# Reporting issues
Report bugs on the [GitHub issues site](https://github.com/espressopp/espressopp/issues)