Skip to content

Commit

Permalink
Merge pull request #72 from amepproject/website-readme-optimization
Browse files Browse the repository at this point in the history
Website readme optimization
  • Loading branch information
kay-ro authored Oct 22, 2024
2 parents 80624cd + 8b0fe49 commit 8f251d4
Show file tree
Hide file tree
Showing 15 changed files with 124 additions and 621 deletions.
186 changes: 93 additions & 93 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,68 +22,38 @@ format. To be fast and usable on modern HPC (**H**igh **P**erformance
**C**omputing) hardware, the methods are optimized to run also in parallel.


# Description
# How to cite AMEP

The **AMEP** Python library provides a unified framework for handling
both particle-based and continuum simulation data. It is made for the analysis
of molecular-dynamics (MD), Brownian-dynamics (BD), and continuum simulation
data of condensed matter systems and active matter systems in particular.
**AMEP** provides a huge variety of analysis methods for both data types that
allow to evaluate various dynamic and static observables based on the
trajectories of the particles or the time evolution of continuum fields. For
fast and efficient data handling, **AMEP** provides a unified framework for
loading and storing simulation data and analysis results in a compressed,
HDF5-based data format. **AMEP** is written purely in Python and uses powerful
libraries such as NumPy, SciPy, Matplotlib, and scikit-image commonly used in
computational physics. Therefore, understanding, modifying, and building up on
the provided framework is comparatively easy. All evaluation functions are
optimized to run efficiently on HPC hardware to provide fast computations. To
plot and visualize simulation data and analysis results, **AMEP** provides an
optimized plotting framework based on the Matplotlib Python library, which
allows to easily plot and animate particles, fields, and lines. Compared to
other analysis libraries, the huge variety of analysis methods combined with
the possibility to handle both most common data types used in soft-matter
physics and in the active matter community in particular, enables the analysis
of a much broader class of simulation data including not only classical
molecular-dynamics or Brownian-dynamics simulations but also any kind of
numerical solutions of partial differential equations. The following table
gives an overview on the observables provided by **AMEP** and on their
capability of running in parallel and processing particle-based and continuum
simulation data.
If you use **AMEP** for a project that leads to a scientific publication, please acknowledge
the use of **AMEP** within the body of your publication for example by copying or adapting
the following formulation:

*Data analysis for this publication utilized the AMEP library [1].*

> [1] L. Hecht, K.-R. Dormann, K. L. Spanheimer, M. Ebrahimi, M. Cordts, S. Mandal,
> A. K. Mukhopadhyay, and B. Liebchen, AMEP: The Active Matter Evaluation Package for Python,
> *arXiv [Cond-Mat.Soft]* (2024). Available at: http://arxiv.org/abs/2404.16533.
| Observable | Parallel | Particles | Fields |
|:-----------|:--------:|:---------:|:------:|
| **Spatial Correlation Functions:** ||||
| RDF (radial pair distribution function) ||||
| PCF2d (2d pair correlation function) ||||
| PCFangle (angular pair correlation function) ||||
| SFiso (isotropic static structure factor) ||||
| SF2d (2d static structure factor) ||||
| SpatialVelCor (spatial velocity correlation function) ||||
| PosOrderCor (positional order correlation function) ||||
| HexOrderCor (hexagonal order correlation function) ||||
| **Local Order:** ||||
| Voronoi tesselation ||||
| Local density ||||
| Local packing fraction ||||
| k-atic bond order parameter ||||
| Next/nearest neighbor search ||||
| **Time Correlation Functions:** ||||
| MSD (mean square displacement) ||||
| VACF (velocity autocorrelation function) ||||
| OACF (orientation autocorrelation function) ||||
| **Cluster Analysis:** ||||
| Clustersize distribution ||||
| Cluster growth ||||
| Radius of gyration ||||
| Linear extension ||||
| Center of mass ||||
| Gyration tensor ||||
| Inertia tensor ||||
| **Miscellaneous:** ||||
| Translational/rotational kinetic energy ||||
| Kinetic temperature ||||
The pre-print is freely available on [arXiv](https://arxiv.org/abs/2404.16533). To cite this reference,
you can use the following BibTeX entry:

```bibtex
@misc{hecht2024amep,
title = {AMEP: The Active Matter Evaluation Package for Python},
author = {Lukas Hecht and
Kay-Robert Dormann and
Kai Luca Spanheimer and
Mahdieh Ebrahimi and
Malte Cordts and
Suvendu Mandal and
Aritra K. Mukhopadhyay and
Benno Liebchen},
year = {2024},
eprint = {2404.16533},
archivePrefix = {arXiv},
primaryClass = {cond-mat.soft}
}
```


# Installation
Expand Down Expand Up @@ -146,40 +116,6 @@ Anaconda installation path.
to download FFmpeg and to get further information on how to install FFmpeg on your machine.


# Citation

If you use **AMEP** for a project that leads to a scientific publication, please acknowledge
the use of **AMEP** within the body of your publication for example by copying or adapting
the following formulation:

*Data analysis for this publication utilized the AMEP library [1].*

> [1] L. Hecht, K.-R. Dormann, K. L. Spanheimer, M. Ebrahimi, M. Cordts, S. Mandal,
> A. K. Mukhopadhyay, and B. Liebchen, AMEP: The Active Matter Evaluation Package for Python,
> *arXiv [Cond-Mat.Soft]* (2024). Available at: http://arxiv.org/abs/2404.16533.
The pre-print is freely available on [arXiv](https://arxiv.org/abs/2404.16533). To cite this reference,
you can use the following BibTeX entry:

```bibtex
@misc{hecht2024amep,
title = {AMEP: The Active Matter Evaluation Package for Python},
author = {Lukas Hecht and
Kay-Robert Dormann and
Kai Luca Spanheimer and
Mahdieh Ebrahimi and
Malte Cordts and
Suvendu Mandal and
Aritra K. Mukhopadhyay and
Benno Liebchen},
year = {2024},
eprint = {2404.16533},
archivePrefix = {arXiv},
primaryClass = {cond-mat.soft}
}
```


# Getting started

The following example briefly demonstrates the **AMEP** workflow. A typical
Expand Down Expand Up @@ -218,6 +154,70 @@ fig.savefig(rdf.name + '.pdf')
For more detailed examples, check the [examples](https://github.com/amepproject/amep/tree/main/examples) directory.


# Project description

The **AMEP** Python library provides a unified framework for handling
both particle-based and continuum simulation data. It is made for the analysis
of molecular-dynamics (MD), Brownian-dynamics (BD), and continuum simulation
data of condensed matter systems and active matter systems in particular.
**AMEP** provides a huge variety of analysis methods for both data types that
allow to evaluate various dynamic and static observables based on the
trajectories of the particles or the time evolution of continuum fields. For
fast and efficient data handling, **AMEP** provides a unified framework for
loading and storing simulation data and analysis results in a compressed,
HDF5-based data format. **AMEP** is written purely in Python and uses powerful
libraries such as NumPy, SciPy, Matplotlib, and scikit-image commonly used in
computational physics. Therefore, understanding, modifying, and building up on
the provided framework is comparatively easy. All evaluation functions are
optimized to run efficiently on HPC hardware to provide fast computations. To
plot and visualize simulation data and analysis results, **AMEP** provides an
optimized plotting framework based on the Matplotlib Python library, which
allows to easily plot and animate particles, fields, and lines. Compared to
other analysis libraries, the huge variety of analysis methods combined with
the possibility to handle both most common data types used in soft-matter
physics and in the active matter community in particular, enables the analysis
of a much broader class of simulation data including not only classical
molecular-dynamics or Brownian-dynamics simulations but also any kind of
numerical solutions of partial differential equations. The following table
gives an overview on the observables provided by **AMEP** and on their
capability of processing particle-based and continuum
simulation data.


| Observable | Particles | Fields |
|:-----------|:---------:|:------:|
| **Spatial Correlation Functions:** |||
| RDF (radial pair distribution function) |||
| PCF2d (2d pair correlation function) |||
| PCFangle (angular pair correlation function) |||
| SFiso (isotropic static structure factor) |||
| SF2d (2d static structure factor) |||
| SpatialVelCor (spatial velocity correlation function) |||
| PosOrderCor (positional order correlation function) |||
| HexOrderCor (hexagonal order correlation function) |||
| **Local Order:** |||
| Voronoi tesselation |||
| Local density |||
| Local packing fraction |||
| k-atic bond order parameter |||
| Next/nearest neighbor search |||
| **Time Correlation Functions:** |||
| MSD (mean square displacement) |||
| VACF (velocity autocorrelation function) |||
| OACF (orientation autocorrelation function) |||
| **Cluster Analysis:** |||
| Clustersize distribution |||
| Cluster growth |||
| Radius of gyration |||
| Linear extension |||
| Center of mass |||
| Gyration tensor |||
| Inertia tensor |||
| **Miscellaneous:** |||
| Translational/rotational kinetic energy |||
| Kinetic temperature |||


# Module descriptions

In the following, we provide a list of all **AMEP** modules together with a
Expand Down
13 changes: 2 additions & 11 deletions amep/load.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import os
import h5py

from .reader import LammpsReader, H5amepReader, ContinuumReader, GSDReader
from .reader import LammpsReader, H5amepReader, ContinuumReader
from .trajectory import ParticleTrajectory,FieldTrajectory
from .base import TRAJFILENAME, BaseEvalData, BaseDatabase, LOADMODES
from .base import check_path, get_module_logger
Expand Down Expand Up @@ -226,16 +226,7 @@ def traj(
**kwargs
)
return FieldTrajectory(reader)
elif mode == 'gsd':
reader = GSDReader(
directory,
savedir,
trajfile = trajfile,
deleteold = deleteold,
verbose = verbose,
**kwargs
)
return ParticleTrajectory(reader)

# here one has to check both the amep version with which the file has been
# created (reader.version) and the data type (particles or fields) -
# the latter is needed to decide whether a ParticleTrajectory or a
Expand Down
4 changes: 2 additions & 2 deletions amep/plot.py
Original file line number Diff line number Diff line change
Expand Up @@ -909,7 +909,7 @@ def box(axis: mpl.axes.Axes, box_boundary: np.ndarray, **kwargs) -> None:


def particles(
ax: mpl.axes, coords: np.ndarray, box_boundary: np.ndarray,
ax: mpl.axes.Axes, coords: np.ndarray, box_boundary: np.ndarray,
radius: np.ndarray | float, scalefactor: float = 1.0,
values: np.ndarray | None = None,
cmap: list | str = 'viridis', set_ax_limits: bool = True,
Expand Down Expand Up @@ -1081,7 +1081,7 @@ def particles(


def field(
ax: mpl.axes, density: np.ndarray, X: np.ndarray, Y: np.ndarray,
ax: mpl.axes.Axes, density: np.ndarray, X: np.ndarray, Y: np.ndarray,
cmap: list | str = 'plasma', box_boundary: np.ndarray | None = None,
vmin: float | None = None, vmax: float | None = None,
cscale: str = 'lin', verbose: bool = False, **kwargs
Expand Down
Loading

0 comments on commit 8f251d4

Please sign in to comment.