Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.0.3 #74

Merged
merged 63 commits into from
Oct 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
7491673
Merge pull request #20 from amepproject/release-1.0.x
hechtprojects Apr 22, 2024
3ac846e
Merge pull request #28 from amepproject/release-1.0.x
hechtprojects May 22, 2024
3bc6c3e
Added table of neccesary changes.
kai-luca Jun 17, 2024
a484259
WIP: gotta get that bus.
kai-luca Jun 17, 2024
2c822ef
Fixed .gitignore to exclude test artifacts.
kai-luca Jun 18, 2024
65c9256
All tests in base are refactored, work with new data and are cleaned up.
kai-luca Jun 18, 2024
6eca206
All tests in continuum were bad. I removed them and will think about …
kai-luca Jun 18, 2024
b1ebca8
Notes were updated to fit state.
kai-luca Jun 18, 2024
7715ecf
Done up until test_functions. Think abut tests there.
kai-luca Jun 18, 2024
703bab3
load and order tests do not clutter up directories anymore.
kai-luca Jun 19, 2024
01d5e91
load and particle methods are fine now.
kai-luca Jun 19, 2024
76fbed3
pbc tests run fine now.
kai-luca Jun 19, 2024
257b24e
reader tests work fine. They generate only the needed erroneous data.
kai-luca Jun 19, 2024
7c3ef5f
spatialcor tests work fine and are clean.
kai-luca Jun 19, 2024
a6ab31e
timecor tests work fine and are clean.
kai-luca Jun 19, 2024
61d3a30
timecor tests work fine and are clean
kai-luca Jun 19, 2024
e787a99
Added some evaluate tests. They reck up some time when testing. But t…
kai-luca Jun 28, 2024
f341a40
Fixed the zombie dependencies.
kai-luca Jul 8, 2024
a2e9197
Cleaned up test artifacts and added them to .gitignore.
kai-luca Jul 9, 2024
912fc41
Merge branch 'main' into refactor_tests
kai-luca Jul 9, 2024
57da1f3
Migrated numpy.trapz to numpy.trapezoid depending on numpy.__version__.
kai-luca Jul 9, 2024
e35d138
Merge remote-tracking branch 'origin/refactor_tests' into refactor_tests
kai-luca Jul 9, 2024
cb78962
Added all we need to read out of the datasets to save in our format t…
kai-luca Jul 11, 2024
7824376
set nbins=50 default for VelDist and Psi6dist. fixes #32, #33
Jul 11, 2024
9a12236
specified examples for load.traj(). fixes #36
Jul 11, 2024
34e31f1
adds example to amep.plot.new() and specifies documentation to includ…
Jul 16, 2024
6290035
added comment to docstring. -still to do more
Jul 18, 2024
6b0c671
WIP:Shortened __getitem__ and documented it. Now do the sphinx part.
kai-luca Jul 24, 2024
583e981
WIP: special functions are weird. They do NOT want to be documented.
kai-luca Jul 24, 2024
416a95f
Trajectories reference what they contain now. I declared them to be s…
kai-luca Jul 25, 2024
bbf0ff5
Trajectory tests check if ptype is compüatibkle with strings. They are.
kai-luca Jul 26, 2024
ce6d6b9
Cleaned up in base reader __read_data function.
kai-luca Jul 26, 2024
005d83e
Merge branch 'gsd_reader' into issues_49_46
Aug 15, 2024
d6d444f
WIP: GSDReader implementation started
Aug 16, 2024
41b79c0
WIP: Going home to fetch some documents.
kai-luca Aug 19, 2024
a77c712
added angmom to hdf5 file, fixes #52
Aug 20, 2024
1a05c34
All functions and the Gaussian and Gaussian2d classes are documented.
kai-luca Aug 20, 2024
81c3b02
All fit classses are documented now. Also Maxwell-Boltzmann works now…
kai-luca Aug 20, 2024
10e7bb5
Update utils.py
eurusebr Oct 17, 2024
55f7a13
Update spatialcor.py
eurusebr Oct 17, 2024
90772c8
Update utils.py
eurusebr Oct 17, 2024
be33589
Update plot.py
eurusebr Oct 17, 2024
19acf6c
Update pbc.py
eurusebr Oct 17, 2024
1aa79d1
Update plot.py
eurusebr Oct 18, 2024
36d0a6f
Update order.py
eurusebr Oct 18, 2024
c06aacd
Merge pull request #53 from amepproject/bug_patches_kayro
kay-ro Oct 22, 2024
978a191
Merge pull request #54 from amepproject/document_fit_functions
hechtprojects Oct 22, 2024
6ab8e90
Merge pull request #67 from amepproject/Box_boundary-corrections
hechtprojects Oct 22, 2024
9623c0f
WIP: type hints added
Oct 22, 2024
036f313
wip: test
Oct 22, 2024
b901ad2
readme restructured
hechtprojects Oct 22, 2024
844fcbf
added type hints in amep.evaluate
Oct 22, 2024
713df69
fixed animate_trajectory fps in example. fixes #30
Oct 22, 2024
70ae087
added check for particle type info. fixes #46
Oct 22, 2024
5858842
clarify particle type in get_particle_info
Oct 22, 2024
2253641
corrected description in order.nearest_neighbors. fixes #39
Oct 22, 2024
03ff184
website restructured; plot.particles and plot.fields type hint corrected
hechtprojects Oct 22, 2024
0ccaec1
fixed add_particle test
Oct 22, 2024
889dfb7
fixed error 40
Oct 22, 2024
609523c
removed unused dependency
Oct 22, 2024
8b0fe49
speed up tests
Oct 22, 2024
80624cd
readme and version updated for release
Oct 22, 2024
8f251d4
Merge pull request #72 from amepproject/website-readme-optimization
kay-ro Oct 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,11 @@ build/
test/data
test/.coverage
test/coverage.xml
examples/data/continuum/traj.h5amep
examples/data/continuum/#traj.h5amep
examples/data/continuum/##temp*
examples/data/trajs/
examples/data/lammps/traj.h5amep
examples/data/lammps/#traj.h5amep
examples/data/lammps/##temp*
examples/data/invalid
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,26 @@
All notable changes to **AMEP** will be documented in this file. **AMEP**
adheres to [semantic versioning](https://semver.org/).

## AMEP 1.0.3 (22 Oct 2024)

### Bug fixes:

* documentation improvements (ME, KS, KD, LH)
* bug fix related to `trajectory.add_particle_info` and `trajectory.get_particle_info` (KD, KS)
* LammpsReader angular momentum import bug fixed (KD)
* bug in `evaluate.Psi6dist` related to default value of number of bins fixed (KD)
* bug in `evaluate.VelDist` related to default value of number of bins fixed (KD)
* faster tests - now based on example data (KS, LH, KD)

### Contributors:

* Lukas Hecht (LH)
* Kay-Robert Dormann (KD)
* Kai Luca Spanheimer (KS)
* Mahdieh Ebrahimi (ME)



## AMEP 1.0.2 (22 Mai 2024)

### Bug fixes:
Expand Down
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
2 changes: 1 addition & 1 deletion amep/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@
"""
AMEP version number.
"""
__version__ = "1.0.2"
__version__ = "1.0.3"
Loading
Loading