Sample
Sample
A B S T R A C T
The Active Matter Evaluation Package (AMEP) is a Python library for analyzing simulation data of particle-based and continuum simulations. It provides a powerful
and simple interface for handling large data sets and for calculating and visualizing a broad variety of observables that are relevant to active matter systems. Examples
range from the mean-square displacement and the structure factor to cluster-size distributions, binder cumulants, and growth exponents. AMEP is written in pure
Python and is based on powerful libraries such as NumPy, SciPy, Matplotlib, and scikit-image. Computationally expensive methods are parallelized and optimized
to run efficiently on workstations, laptops, and high-performance computing architectures, and an HDF5-based data format is used in the backend to store and
handle simulation data as well as analysis results. AMEP provides the first comprehensive framework for analyzing simulation results of both particle-based and
continuum simulations (as well as experimental data) of active matter systems. In particular, AMEP also allows it to analyze simulations that combine particle-based
and continuum techniques such as used to study the motion of bacteria in chemical fields or for modeling particle motion in a flow field for example.
Program summary
Program Title: Active Matter Evaluation Package (AMEP)
CPC Library link to program files: https://doi.org/10.17632/zc7pn23g5r.1
Developer’s repository link: https://github.com/amepproject/amep
Licensing provisions: GPLv3
Programming language: Python
Supplementary material: The supplementary material includes Movies S1--S3.
Nature of problem: To date, no comprehensive package for analyzing data from simulations of active matter systems is available. Thus, most research groups in
the fields of soft and active matter physics use in-house code to analyze their simulations, which means that often a significant part of the time that is available
to students and advanced researchers for performing research projects is spent with the development of data-analysis and visualization software, at the expense of
their research time budget. In practice, students (and advanced researchers) might sometimes even be forced to limit their data analysis to a few observables. The
availability of a unfied framework to rapidly determine a broad variety of key observables that are frequently used to analyze the structure and dynamics of active
matter systems from raw particle-based or continuum-based simulation data would therefore be highly benficial for the research field.
Solution method: AMEP provides the first unfied framework for analyzing both particle-based and continuum simulation data. It performs a huge variety of analysis
for both data types and uses a unfied HDF5-based data format for efficient data handling. Since AMEP is written purely in Python and uses powerful libraries such
as NumPy, SciPy, Matplotlib, and scikit-image commonly used in computational physics, understanding, modifying, and building up on the provided framework is
comparatively easy. Compared to other analysis libraries, the huge variety of analysis methods combined with the possibility to handle 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. This includes not only classical
molecular-dynamics or Brownian-dynamics simulations but also any kind of numerical solutions of partial differential equations.
Additional comments including restrictions and unusual features: This paper serves as the definitive reference for AMEP. The source code and the documentation are
available online at https://github.com/amepproject/amep and https://amepproject.de, respectively. AMEP may be installed via pip install amep or via conda
install conda-forge::amep.
✩
The review of this paper was arranged by Prof. Weigel Martin.
* Corresponding authors.
E-mail addresses: [email protected] (L. Hecht), [email protected] (B. Liebchen).
https://doi.org/10.1016/j.cpc.2024.109483
Received 5 April 2024; Received in revised form 21 October 2024; Accepted 21 December 2024
Available online 3 January 2025
0010-4655/© 2025 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-
nc-nd/4.0/).
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
1. Introduction [165] offer the possibility to calculate such observables, they are mostly
inspired by and optimized for the MD simulation community and fall
Computer simulations are a powerful method to investigate and un short in capturing all relevant observables for active matter systems
derstand the physical properties of soft matter and biological systems. in a single package. Additionally, they lack the possibility to handle
In particular, molecular dynamics (MD) simulations stand out as an in continuum simulation data. Therefore, a new library is required that
dispensable tool to determine the microscopic dynamics and structural (i) consolidates the essential observables needed to analyze active mat
properties of molecular systems comprising bio-molecules [1--3], poly ter simulation data, (ii) provides a unfied platform for analyzing both
mer electrolytes [4--6], liquid crystals [7--9], or cofined liquids [10--13] particle-based and continuum simulation data, and (iii) seamlessly in
for example. These systems exhibit notable relevance in both indus tegrates data formats widely-used in computational physics through an
trial and medical applications [14--16]. Expanding beyond atomistic and application programming interface (API).
systematically coarse-grained MD simulations involving suitable force In this paper, we introduce the Active Matter Evaluation Package
fields, Brownian dynamics (BD) simulations have extensively been used (AMEP), a unfied framework for analyzing MD simulation, BD simu
over the past two decades especially also for modeling active matter sys lation, and continuum simulation data with a specific focus on soft
tems. In such systems, the individual constituents consume energy from and active matter systems. AMEP provides an optimized framework for
their environment and use it to self propel and navigate through com loading, storing, and evaluating simulation data based on particle tra
plex surroundings [17,18]. Examples of active matter systems can be jectories and the time evolution of continuum fields. This framework is
observed across scales from microscopic entities such as bacteria, algae, based on an optimized HDF5 file format [166,167] which is optimal for
and synthetic microswimmers [19--28] to fishes, birds, drones, synthetic long-term storage purposes and for handling data of large-scale simu
granular active particles, and human crowds on the macroscale [29--41]. lations [167--169]. Computationally expensive methods are parallelized
These out-of-equilibrium systems exhibit striking collective phenomena and AMEP selectively loads only the data into the main memory which is
such as phase separation (where the system selects a density) [42--51], necessary for the current computational step. This ensures efficient oper
non-equilibrium pattern formation (where the system selects a length ation on high-performance computing architectures, workstations, and
scale) [52--58], or other ordering transitions such as flocking showing laptops. AMEP is written in pure Python and provides a user-friendly,
(long-range) orientational ordering [35,59--61]. easy-to-learn Python API that interfaces with common tools used in
To effectively model active matter systems, different computational computational physics via NumPy arrays [170,171]. Based on com
approaches provide distinct advantages [62,63]. Particle-based models mon Python libraries such as NumPy [170,171], SciPy [172], Matplotlib
such as the active Brownian particle (ABP) model [64], solved numeri [173], and scikit-image [174], AMEP provides a powerful toolbox for
cally using BD simulations for example, have proven valuable for investi calculating spatial and temporal correlation functions, visualizing and
gating collective phenomena such as motility-induced phase separation animating simulation results, and coarse-graining particle-based sim
(MIPS) [42,47,65--77] as well as the dynamics and local order of the ulations, which makes it possible to easily analyze the dynamics and
involved individual particles [19,78--85]. Conversely, continuum mod structure of both particle-based and continuum simulation data.
els such as the active model B+ [86] enable us to understand collective The paper is organized as follows: We first demonstrate a minimal
phenomena over larger length and time scales by studying the evolution example on how to use AMEP to load, analyze, and visualize simulation
of particle densities [53,56,61,70,86--91]. Therefore, it is a common ap data in Section 2. Second, we give a brief overview on the structure and
proach to start from a particle-based model and subsequently derive design of AMEP in Section 3. Finally, in Sections 4 and 5, we apply a
a continuum model via coarse-graining techniques [54,60,71,92--99]. selection of analysis functions provided by AMEP to particle-based sim
Moreover, the integration of particle-based and continuum models has ulations of the ABP model and to continuum simulations of the active
emerged as a promising approach [24,52,100--105], especially for sce model B+, respectively, and briefly discuss the results.
narios such as modeling the interaction of active particles with a sur
rounding fluid or another medium that is quasi-continuous on the scale 2. How to use AMEP
of the considered particles, as exemplfied by the motion of bacte
ria or synthetic Janus colloids in a self-produced concentration field AMEP is designed with a user-focused mindset to simplify the access
[101--104,106--108]. These approaches are also particularly important to simulation data within a few lines of Python code. Before discussing
for modeling artficial microswimmers such as active colloids in the the general design of AMEP and various examples on how to apply
presence of chemical fields [109,110], exhibiting phenomena such as it to particle-based and continuum simulation data, we will demon
chemotaxis [90,102,111,112]. strate its general usage with a minimal example. For a quick start
To gain physical insights from the data resulting from numerical with AMEP, we recommend to download the demo files at https://
solutions, a comprehensive array of analysis techniques is required. github.com/amepproject/amep/tree/main/examples and to run them
The mean-square displacement and time correlation functions such as part by part while reading this section.
the orientational autocorrelation function are popular observables to
achieve insights into the dynamical aspects [82,113--122], while spa 2.1. Exemplary data: the active Brownian particle model
tial correlation functions such as the radial/pair distribution function
and the structure factor are frequently considered to provide informa Within the following example, we load simulation data from a
tion about spatial structures [49,123--126]. Other observables such as particle-based simulation of the overdamped active Brownian particle
entropy production and kinetic temperature are also considered fre (ABP) model in two spatial dimensions. The ABP model is one of the sim
quently to analyze the collective behavior of the system under in plest and most popular models to describe active particles that self pro
vestigation [76,77,83,127--143], and together with statistical analysis pel in a certain direction which smoothly changes due to rotational diffu
tools such as binder cumulants used in finite size scaling analyses sion [51,63,64,66,76,78,79,118,175,176]. Within this model, each par
[47,144--147] and cluster analyses including cluster growth exponents ticle is represented by a (slightly soft) disk/sphere of diameter 𝜎 , mass
[51,76,79,93,148--151], these observables allow us to characterize the 𝑚, and moment of inertia 𝐼 and possesses an inherent internal drive, de
non-equilibrium phase diagram and critical dynamics of active matter noted by an effective self-propulsion force 𝐹⃗SP,𝑖 = 𝛾t 𝑣0 𝑝(𝜃
̂ 𝑖 ), where the
systems. Additionally, local order analyses such as local density and self-propulsion direction is represented by 𝑝(𝜃̂ 𝑖 ) = (cos 𝜃𝑖 , sin 𝜃𝑖 ) and 𝑣0
bond orientational order parameters offer insights into the system’s local denotes the terminal self-propulsion speed. The interactions between the
structure and symmetries [47,65,66,78,152--155]. While existing anal particles are governed by an excluded-volume repulsive interaction po
ysis packages such as freud [156], MDAnalysis [157,158], VMD [159], tential 𝑢. The evolution of the particles’ positions 𝑟⃗𝑖 and orientations 𝜃𝑖
MDTraj [160], Ovito [161], Pytim [162], LOOS [163,164], and MMTK adheres to the Langevin equations [76,77,118,143,175]
2
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
𝑁
∑
d2 𝑟⃗𝑖 d⃗𝑟𝑖 ( ) √ This information can be accessed by calling traj_nonint.get_author_info
𝑚 = −𝛾t − ∇𝑟⃗𝑖 𝑢 𝑟𝑖𝑗 + 𝛾t 𝑣0 𝑝(𝜃
̂ 𝑖 ) + 2𝑘B 𝑇b 𝛾t 𝜂⃗𝑖 (𝑡), (1)
d𝑡2 d𝑡 𝑗=1 ("Lukas Hecht"), returning
𝑗≠𝑖
{’affiliation’: ’Technical University of Darmstadt’,
d2 𝜃𝑖 d𝜃 √ ’email’: ’[email protected]−darmstadt.de’}
𝐼 = −𝛾r 𝑖 + 2𝑘B 𝑇b 𝛾r 𝜉𝑖 (𝑡). (2)
d𝑡2 d𝑡 while traj_nonint.authors returns a list of all authors. AMEP pro
Here, 𝜂⃗𝑖 and 𝜉𝑖 denote Gaussian white noise with zero-mean and unit vides several methods to add more information to trajectory objects
variance, 𝑇b represents the bath temperature, 𝛾t and 𝛾r denote the trans (ParticleTrajectory or FieldTrajectory) such as software information,
lational and rotational drag coefficients, respectively, 𝑘B is the Boltz simulation scripts, log files, or simulation parameters for a comprehen
mann constant, and 𝑁 denotes the total number of active particles. The sive and reproducible set of information about the simulation (see online
overdamped limit can be obtained using 𝑚∕𝛾t → 0 and 𝐼∕𝛾r → 0 (see documentation available at https://amepproject.de and Fig. 1).
also Section 4). Next, we calculate the MSD, which is dfined as
𝑁
2.2. Installing AMEP 1 ∑[ ]2
MSD(𝑡) = 𝑟⃗ (𝑡) − 𝑟⃗𝑖 (0) , (3)
𝑁 𝑖=1 𝑖
AMEP is a Python library that requires Python 3.10 or higher. To
use AMEP, we recommend to install Python via Anaconda.1 If Anaconda where 𝑟⃗𝑖 (0), 𝑟⃗𝑖 (𝑡) denote the position of particle 𝑖 at time 0 and 𝑡 ≥ 0,
is installed, one can create a new environment, activate it, and install respectively. For a single ABP, it can be shown analytically that the MSD
AMEP through the terminal (Linux/macOS) or the Anaconda Prompt can be written as
(Windows): ( )
𝑡
MSD(𝑡) = 2𝑙𝑝2 − 1 + 𝑒−𝑡∕𝜏𝑝 + 4𝐷t 𝑡
1 conda create -n amepenv python=3.10 𝜏𝑝
2 conda activate amepenv
𝑡≫𝜏𝑝
3 conda install conda-forge::amep
←←←←←←←←←→
← 4𝐷ef f 𝑡 (4)
Now, one can start the Python interpreter to import and use AMEP:
with effective diffusion coefficient 𝐷ef f = 𝐷t + 𝑙p2 ∕(2𝜏p )
[23,63,178].
4 python Here, 𝜏p = 1∕𝐷r denotes the persistence time, which signfies the time
5 >>> import amep
after which the directed motion of an ABP is randomized due to rota
6 >>>
tional diffusion, and 𝑙p = 𝑣0 𝜏p denotes the persistence length, which is
Alternatively, we recommend to use Jupyter notebooks.2 the distance an ABP moves on average before its direction of motion is
randomized. 𝐷t = 𝑘B 𝑇b ∕𝛾t and 𝐷r = 𝑘B 𝑇b ∕𝛾r are the translational and
2.3. Analyzing simulation data using AMEP rotational diffusion coefficients, respectively, and 𝑣0 is the terminal self
propulsion speed of the ABP. To calculate the MSD with AMEP, we create
Now, we use AMEP to calculate the mean-square displacement a MSD object via
(MSD), the diffusion coefficient, and the orientation autocorrelation
function (OACF) of a single ABP and the radial distribution function 16 msd = amep.evaluate.MSD(
17 traj_nonint
(RDF) of multiple interacting ABPs. At the end of this section, we visu 18 )
alize the results in a combined plot. Exemplary code and data of the rel
evant ABP simulations is available at https://github.com/amepproject/ which calculates the MSD for all frames and performs the average over
amep/tree/main/examples. all particles. The MSD object contains all information about the MSD and
First, we import AMEP and load the simulation data of non-interacting we can access the times via msd.times and the value for each individ
overdamped ABPs: ual frame via msd.frames for example. The returned objects are NumPy
1 import amep arrays and can therefore easily be used also elsewhere in Python.
2 traj_nonint = amep.load.traj( To get the effective diffusion coefficient 𝐷ef f from the MSD in the
3 "/path/to/non_interacting_ABPs",
late time limit, we dfine the fit function f with the fit parameters as
4 mode = "lammps"
5 ) keyword arguments and create a corresponding Fit object:
The function amep.load.traj creates an HDF5 file (traj.h5amep) in 19 def f(t, D = 1.0):
20 return 4∗D∗t
the background that contains all the simulation data and returns a 21 Dfit = amep.functions.Fit(f)
ParticleTrajectory object which allows to easily access the data for
further processing. Since the data has been produced using LAMMPS By calling the object’s fit method, which uses the scipy.odr package in
[177], we load it using mode = "lammps". To save useful information for the background, with the data to fit and an initial guess (using the p0
long-term storage, we add the author to the trajectory object, which will keyword), we obtain the optimal parameters. Here, we only want to fit
save this information within the linked HDF5 file: the long-time behavior, and hence, we only consider data for 𝑡 > 101 𝜏p .
6 traj_nonint.add_author_info( The optimal parameters and their errors can then be retrieved from the
7 "Lukas Hecht", Fit object:
8 "affiliation",
9 "Technical University of Darmstadt" 22 mask = msd.times > 1e1
10 ) 23 Dfit.fit(
11 traj_nonint.add_author_info( 24 msd.times[mask],
12 "Lukas Hecht", 25 msd.frames[mask],
13 "email", 26 p0 = [900]
14 "[email protected]−darmstadt.de" 27 )
15 ) 28 print(
29 f"D={Dfit.params[0]:0.2f}, "\
30 f"D−error={Dfit.errors[0]:0.2f}"
31 )
1
See https://docs.anaconda.com/free/anaconda/install/index.html for in
structions on how to install Anaconda.
2
For more information about Jupyter notebooks, see https://jupyter.org/. D=885.32, D−error=0.59
3
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
Fig. 1. AMEP flow chart: Schematic of the design of AMEP. The first layer ``Data Storage'' represents the loading and storage of data from particle-based or
continuum simulations, which is stored in HDF5 files (.h5amep) together with various metadata the user can add. The central part of the Python interface (layer
“Data Analysis'') is the Trajectory object which acts as a list of Frame objects and gives access to the data stored in the HDF5 file. The Trajectory object can
be used with the evaluate classes (module evaluate) which give simple access to many observables calculated over whole trajectories. Alternatively, the data can
be returned as NumPy array through the Frame objects and can be analyzed using the individual AMEP modules, also in combination with self-written Python code
to perform additional operations beyond AMEP. The plot module allows to visualize analysis results and simulation data in form of figures or videos. Finally, the
results can be stored in an HDF5-based data format again (layer ``Result Storage''). It is possible to save and load one or more results in one HDF5 file. Later, the
results can be imported as DataBase (for multiple results) or EvalData objects (one result in a file or one result selected from a DataBase object). The red arrows
follow the path of our first minimal example as discussed in Section 2. The design itself is explained in more detail in Section 3. (For interpretation of the colors in
the figure(s), the reader is referred to the web version of this article.)
This is fairly close to the expected value of 𝐷ef f = 883 as obtained from Dr=0.9890, Dr−error=0.0021
Eq. (4) for ABPs with 𝑙p = 1.0, 𝜏p = 1.0, 𝑣0 = 42, and 𝐷t = 1.0 as used in
Again, we obtain a value close to the expected one of 𝐷r = 1.0.
this example.
Next, we calculate the RDF. For that, we load simulation data of
Next, we use the same simulation data to calculate and fit the OACF,
𝑁 = 105 interacting ABPs moving in a two-dimensional periodic simu
which is given by
lation box with a total packing fraction of 𝜑 = 0.5 and create a RDF eval
𝑁
1 ∑
uate object. Note that a corresponding exemplary dataset is available at
⟨𝑝(0)
̂ ⋅ 𝑝(𝑡)⟩
̂ = 𝑝̂ (0) ⋅ 𝑝̂𝑖 (𝑡) (5) https://github.com/amepproject/amep/tree/main/examples. Here, we
𝑁 𝑖=1 𝑖
only want to consider frames that are in the steady state. Therefore, we
and is equal to 𝑒−𝐷r 𝑡 for overdamped ABPs [118]. Here, 𝑝̂𝑖 is the orien skip the first 90% of frames using skip = 0.9. Additionally, we spec
tation vector of the effective self-propulsion force of particle 𝑖. Again, by ify the total number of frames to average over (time average) equally
creating the corresponding evaluate and fit objects, we can analyze the spaced in time over the last 90% of the trajectory using the nav key
OACF in a few lines of Python code. For the correct normalization, we word, which is inherited from the BaseEvaluation class and is short for
specify the plane in which the OACF is to be calculated with direction “number of averages''. Due to the large number of particles, it is worth
= "xy": to use multiprocessing, to set a maximum distance until which the RDF
is calculated, and to use a large number of bins using the njobs, rmax,
32 oacf = amep.evaluate.OACF( and nbins keywords, respectively:
33 traj_nonint,
34 direction = "xy" 44 traj_int = amep.load.traj(
35 ) 45 "/path/to/interacting_ABPs",
36 def f(t, Dr = 1.0): 46 mode = "lammps"
37 return np.exp(−Dr∗t) 47 )
38 Tfit = amep.functions.Fit(f) 48 rdf = amep.evaluate.RDF(
39 Tfit.fit(oacf.times, oacf.frames) 49 traj_int,
40 print( 50 skip = 0.9,
41 f"Dr={Tfit.params[0]:0.4f}, "\ 51 nav = 100,
42 f"Dr−error={Tfit.errors[0]:0.4f}" 52 nbins = 20000,
43 ) 53 rmax = 300,
4
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
5
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
Fig. 2. How-to-use-AMEP example. a Mean-square displacement of a single ABP calculated with amep.evaluate.MSD. The black dashed line is a fit of Eq. (4)
done with amep.functions.Fit. b Orientation autocorrelation function of a single ABP calculated with amep.evaluate.OACF. The black dashed line is a fit of
𝑒−𝐷r 𝑡 done with amep.functions.Fit and the black dotted lines mark the point (1, 1∕𝑒). The results in panels a and b are averaged over 4 × 103 particles. c Radial
pair distribution function of 𝑁 = 105 repulsively interacting ABPs calculated using amep.evaluate.RDF and averaged over time in the steady state. The plot has
been created using the amep.plot module and the corresponding code is available at https://github.com/amepproject/amep/tree/main/examples.
to animate plots and simulation data (cf. Movies S1--S3, Supplemen \software
tal Material). For example, a video of a trajectory traj can be created \scripts
via traj.animate("video.mp4"). By varying the file extension, also other \params
data formats can be used such as GIFs. Additionally, the plot module \type
provides useful functions to format the axis of a figure. All visualization \particles or \fields
functions are optimized to create figures and videos that can be directly \frames
used for a publication in various journals. All figures within this paper \steps
with the exception of Fig. 1 are created with AMEP. \times
\[frame0]
3.3. Evaluate module \coords
\velocities
We already introduced the different modules of AMEP, which con \...
tain a plethora of functions relevant for the analysis of active matter \[frame1]
simulation data. The evaluate module is a special module in the sense \...
that it uses functions from all other modules to calculate certain observ \...
ables for a whole trajectory. In our first example in Section 2, we already
used the MSD, OACF, and RDF classes, which are part of the evaluate mod The group amep contains information about the AMEP version that has
ule. We will now introduce the concept of these classes, which will be been used to create the h5amep file. The group info contains the saved
referred to as ``evaluate classes'' in the following. information about authors (cf. Section 2) and software. The scripts
While the functions of the modules discussed above take NumPy ar group gives the possibility to save text files such as simulation scripts
rays as input data, evaluate classes take a whole trajectory as an input. and log files that correspond to the simulation data. In the params
One example is the amep.evaluate.RDF class used in Section 2. To ini group, AMEP stores parameters such as the simulation timestep for ex
tialize an object of an evaluate class, the trajectory as well as certain ample. Additional simulation parameters can be added. The attribute
parameters are supplied. The evaluate classes offer the functionality to type contains a flag about the type of data stored in the h5amep file.
average over multiple frames automatically (the keyword nav, which is This can be either "particle" or "field". The groups particles and
an abbreviation for ``number of averages'', allows to specify the number fields contain user-defined information about the particles and the
of frames to average over) as well as to skip a certain amount of frames fields used in the simulation, respectively. Finally, the group frames
at the beginning of the trajectory (in percent) by specifying the skip contains multiple datasets and subgroups with the simulation data. The
keyword. The resulting data can be returned as NumPy arrays. Further dataset steps stores a list of all the frame numbers (i.e., the number
more, one or more evaluate objects can be stored in HDF5 files using of timesteps for each frame) and the dataset times the correspond
their .save("filename.h5") method and can be read again with amep. ing (physical) time, while the individual frames of the simulation are
load.evaluation("filename.h5"). The evaluate classes are a crucial part stored in subgroups of frames named by their simulation step. Within
in the user-focused design of AMEP and make it possible to achieve re an individual frame, the simulation data is stored, e.g., coordinates and
sults within a few lines of code. velocities for particle-based simulations or density and concentrations
for continuum simulations, as separate datasets.
3.4. File format
3.5. Trajectories and frames
Based on the Hierarchical Data Format version 5 (HDF5) [166,167],
AMEP introduces a new file format h5amep to store simulation data and The h5amep file is connected to Python via the amep.load module
additional metadata. This format is used in the backend of AMEP. The with which the simulation data is imported to a ParticleTrajectory
HDF5 files are structured into groups and datasets. The h5amep format or FieldTrajectory object. Saved evaluation objects can also be im
has the following groups, subgroups, and attributes: ported with the amep.load module. Because a ParticleTrajectory or
FieldTrajectory object works as a reader for the h5amep file, the sim
h5amep root ulation data (coordinates, velocities, density, concentration,...) is not
\amep stored in the main memory all the time but only the portion that is re
\info quested for the specific analysis. The simulation data can be accessed via
\authors BaseFrame or BaseField objects for particle-based and continuum data,
6
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
respectively, which will be referred to as ``frame'' in the following. Tech Here, id denotes a uniqe identfier for each particle, type denotes
nically, the ParticleTrajectory or FieldTrajectory object acts as a list the particle type, x,y,z denote the position of each particle, fx, fy
of frames, i.e., frame = traj[0] returns the first frame of the trajectory denote the forces acting on each particle, mux, muy are the compo
traj. The data of one frame can be accessed through various methods. nents of the orientation vector 𝑝̂ , radius denotes the radius 𝜎∕2 of
For example, the coordinates and velocities of particles can be accessed each particle, and mass their mass 𝑚. Note that z is zero for all par
via frame.coords() and frame.velocities(). Other data can be accessed ticles because the simulation is done in two spatial dimensions. An ex
via the frame.data method, e.g., frame.data("mass") returns the mass emplary dataset is available at https://github.com/amepproject/amep/
of each particle and frame.data("rho") the density field of a continuum tree/main/examples. AMEP reads all data from each text file and con
simulation. A list of all available keys can be accessed via frame.keys verts it into the h5amep format. Each item from the ATOMS section in
. All these methods return NumPy arrays for efficient calculations and the LAMMPS text file can then be accessed with the .data() method
simple integrity to other Python packages (see also Fig. 1). of the corresponding BaseFrame object, e.g., the force in 𝑥 direction of
frame 5 can be returned as NumPy array by calling
4. Analyzing particle-based simulation data with AMEP
1 import amep
2 traj = amep.load.traj(
We will now use AMEP to exemplarily analyze simulation data of 3 "/path/to/data",
4 mode = "lammps"
large-scale simulations of ABPs. Note that AMEP can be used similarly
5 )
to analyze simulation data obtained from other active particle models 6 fx = traj[5].data("fx")
such as the chiral active particle model [54,175,179--183], the run-and
tumble particle model [71,184--186], the Vicsek model [187,188], or the For many standard quantities such as coordinates, forces, or velocities,
active Ornstein-Uhlenbeck particle model [116,189--192]. After intro AMEP provides further commands exemplarily shown below3 :
ducing the simulation details, we demonstrate how to calculate certain
7 coords = traj[5].coords()
observables using AMEP and briefly discuss the results. The code exam 8 forces = traj[5].forces()
ples demonstrate the worflow of AMEP and serve as a guide for using 9 mu = traj[5].data("mux", "muy")
AMEP. Further observables that are available in AMEP but which are not
discussed in this section are exemplarily shown in Fig. 11.
4.2. Motility-induced phase separation
4.1. Brownian dynamics simulations of active Brownian particles
For large enough packing fraction and large enough Pe, ABPs can
As a first detailed example, we analyze particle-based simula phase separate into a dense and a dilute phase. This phenomenon is
tion data obtained with the active Brownian particle (ABP) model well-known as motility-induced phase separation (MIPS) [42,47,65--71,
as introduced in Section 2 as Eqs. (1) and (2). The repulsive inter 76,195] and can be understood as follows: If two ABPs collide, they can
action is modeled by the Weeks-Chandler-Anderson (WCA) potential block each other due to their effective self-propulsion force. The colli
| | sion can be resolved if the ABPs reorient their self-propulsion direction
𝑢(𝑟𝑖𝑗 ) = 4𝜖[(𝜎∕𝑟𝑖𝑗 )12 − (𝜎∕𝑟𝑖𝑗 )6 ] + 𝜖 , where 𝑟𝑖𝑗 = |𝑟⃗𝑖 − 𝑟⃗𝑗 | and 𝑢 = 0 for
| | due to rotational diffusion and the self-propulsion direction of one ABP
𝑟𝑖𝑗 ∕𝜎 ≥ 21∕6 [193]. For the simulations here, we have chosen 𝑙p = 100 𝜎 , deviates from the other. Small clusters can form if more ABPs collide
𝜖∕(𝑘B 𝑇b ) = 1.0, and for simplicity, 𝛾t = 𝛾r ∕𝜎 2 unless otherwise stated with the two ABPs blocking each other. Roughly, in the overdamped
(note that in experiments of active granulates, the Stokes-Einstein re limit, if now the mean time 𝜏c between collisions is smaller than the
lation does not apply [194]). Here, 𝐷t = 𝑘B 𝑇b ∕𝛾t and 𝐷r = 𝑘B 𝑇b ∕𝛾r mean time 𝜏p a particle randomly reorients its self-propulsion direction,
are the translational and rotational diffusion
√ coefficients, respectively. small clusters tend to grow, which finally results in a phase separation
We dfine the Péclet number as Pe = 𝑣0 ∕ 2𝐷t 𝐷r , which quantfies the where an active gas coexists with a dense liquid [42,44,52,184]. For
strength of self-propulsion relative to diffusive motion. Note that all MIPS to occur in inertial active particles, additionally, the persistence
simulations are done in the overdamped regime, i.e., we choose a small time 𝜏p must be larger than the inertial time 𝜏m = 𝑚∕𝛾t [76,81,196,197].
mass 𝑚∕(𝛾t 𝜏p ) = 5 × 10−5 . Since it has been found in previous works This condition is automatically fufilled in the overdamped limit, where
that the ifluence of the moment of inertia 𝐼 on the simulation results 𝜏m → 0. MIPS is exemplarily visualized by the snapshots shown in Fig. 3,
is rather unimportant [76], it is held constant at 𝐼∕(𝛾r 𝜏p ) = 0.33 unless which have been created using the amep.plot.particles function. In the
otherwise stated. All simulations are done within a two-dimensional following, we will mainly focus on the analysis of the simulation visu
quadratic box of length 𝐿 with periodic boundary conditions and up to alized in Fig. 3.
𝑁 = 1.28 × 106 particles with a time step of Δ𝑡∕𝜏p = 10−5 --10−6 using
LAMMPS [177]. We choose Pe = 70.7 and a packing fraction of 𝜑 = 0.5 4.3. Voronoi diagrams and local order
with 𝜑 = 𝑁𝜋𝜎 2 ∕(4𝐿2 ) and start each simulation from uniformly dis
tributed particle positions unless otherwise stated. Whether a simulation undergoes MIPS can be quantfied by cal
AMEP can load the common LAMMPS plain text format in which culating the distribution of the local density or local area fraction,
LAMMPS stores one snapshot of the simulation per text file named as which is unimodal in the uniform regime and becomes bimodal
dump*.txt for example, where the * is a placeholder for the current in the MIPS regime [47,51,65,198]. AMEP provides multiple func
time step. These files are formatted as follows: tions to calculate the local density or area fraction: amep.order.
local_number_density, amep.order.local_mass_density, and amep.order
ITEM: TIMESTEP .local_packing_fraction determine the local number density, mass
20000
density, and area/volume fraction, respectively, from averages over cir
ITEM: NUMBER OF ATOMS ∑𝑁
1280000 cles of radius 𝑅, which can be written as 𝜑loc (⃗𝑟𝑖 ) = 𝑗=1 𝜎𝑗2 H(𝑅 − |⃗𝑟𝑖 −
ITEM: BOX BOUNDS pp pp pp
𝑟⃗𝑗 |)∕(4𝑅2 ) in case of the local area fraction. Here, H is the Heaviside step
0.0000000000000000e+00 1.5000000000000000e+03
0.0000000000000000e+00 1.5000000000000000e+03 function and 𝜎𝑗 is the diameter of particle 𝑗 . Alternatively, amep.order
-5.0000000000000000e-01 5.0000000000000000e-01 .voronoi_density calculates the local mass density, number density, or
ITEM: ATOMS id type x y z fx fy mux muy radius mass area/volume fraction based on a Voronoi tesselation. Here, we will use
1 1 26.206 44.939 0 95.5607 9.87064 0.99913 0.04168 0.5 0.00005
2 1 45.187 24.985 0 -94.141 -33.726 -0.9414 -0.3373 0.5 0.00005
3 1 53.126 32.953 0 -86.024 12.4595 -0.9831 0.18303 0.5 0.00005
3
... See online documentation at https://amepproject.de for further details.
7
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
Fig. 3. Plotting snapshots with amep.plot.particles: a–c Snapshots of ABPs undergoing MIPS starting from a uniform distribution for three different times
as given in the key. The particles are colored with respect to their local area fraction 𝜑loc as obtained from a Voronoi tesselation calculated using amep.or
der.voronoi_density (see Subsection 4.3 for further details). The insets show the indicated extract of the simulation box and have been plotted using
amep.plot.add_inset. Parameters: 𝑚∕(𝛾t 𝜏p ) = 5 × 10−5 , 𝐼∕(𝛾r 𝜏p ) = 0.33, 𝑁 = 1.28 × 106 , 𝜑 = 0.5, Pe = 70.7.
Fig. 4. Analyzing local order with the amep.order and amep.evaluate modules: a Same extract of the simulation box as shown in the inset of Fig. 3c now
with the corresponding Voronoi diagram obtained from amep.order.voronoi and plotted with amep.plot.voronoi. The black circles denote the particle
positions, the orange lines the border of each Voronoi cell. b Distribution of the number of next neighbors obtained from the Voronoi diagram using amep.or
der.next_neighbors and amep.statistics.distribution. c Distribution of the local area fraction obtained from the areas of the Voronoi cells using
amep.evaluate.LDdist. The results in panels b and c are averaged over five independent ensembles as exemplary demonstrated in the code examples below. Pa
rameters are the same as in Fig. 3.
the latter for calculating the distribution of (i) the local area fraction 10 traj[−1].box,
and (ii) the number of next neighbors. 11 pbc = True
12 )
The Voronoi diagram serves as a method for modeling the struc
tures of materials across various disciplines, including crystallography,
The obtained Voronoi diagram is demonstrated in Fig. 4a for the sim
ecology, astronomy, epidemiology, geophysics, computer graphics, and
ulation snapshot shown in Fig. 3c. It can be easily visualized using
more [199--203]. In essence, when given a set of points in the plane,
amep.plot.voronoi. Next, we calculate the number of next neighbors
the Voronoi diagram divides the plane based on the nearest neigh
from the Voronoi diagram and its distribution via
bor rule, associating each point with the region of the plane closest
to it. The mathematical definition extends to 𝑁 -dimensions, often re 13 # number of next neighbors for each particle
ferred to as Voronoi tessellation [204,205]. For a set of finite points 14 nnn, _, _, _, _ = amep.order.next_neighbors(
15 traj[−1].coords(),
𝑃 = {𝑝1 , 𝑝2 , ⋯ , 𝑝𝑛 } in a subspace 𝜁 in the Euclidean space, the Voronoi 16 traj[−1].box,
cell is formed through the division of the plane into regions, where 17 vor = vor,
each region encompasses all points that are closer to each 𝑝𝑖 . Points 18 ids = ids,
19 pbc = True
equidistant from at least two points in set 𝑃 are not part of the Voronoi 20 )
cell. Instead, they constitute the Voronoi edges. The compilation of all 21 # distribution of the number of next neighbors
Voronoi cells forms the Voronoi tessellation associated with 𝜁 . 22 nndist, bins = amep.statistics.distribution(
23 nnn
The Voronoi tesselation is included in the order module of AMEP
24 )
as function amep.order.voronoi. It calculates the Voronoi diagram for a
given set of particle coordinates using the scipy.spatial.Voronoi class As we can see in Fig. 4b, the distribution of the number of next neigh
of the SciPy package [172]. Here, we use the Voronoi tesselation to bors attains its highest point at 𝑁nn = 6. This observation indicates the
calculate the number of next neighbors and the local area fraction. Let existence of a hexagonal structure within the dense phase, as we will dis
us first calculate the Voronoi diagram of the last frame (traj[−1]) via cuss in more detail below. Finally, we calculate the local area fraction
1 import amep using the Voronoi areas and evaluate its distribution:
2 # load the simulation data
3 traj = amep.load.traj( 25 # local area fraction of each particle
4 "/path/to/data", 26 ld = amep.order.voronoi_density(
5 mode = "lammps" 27 traj[−1].coords(),
6 ) 28 traj[−1].box,
7 # calculate the Voronoi diagram 29 radius = traj[−1].radius(),
8 vor, ids = amep.order.voronoi( 30 mode = "packing",
9 traj[−1].coords(), 31 vor = vor,
8
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
32 ids = ids the hexagonal order parameter can be easily done using AMEP’s evaluate
33 ) module:
34 # distribution of the local area fraction
35 lddist, bins = amep.statistics.distribution( 1 import amep
36 ld 2 # load the simulation data
37 ) 3 traj = amep.load.traj(
4 "/path/to/data",
If one would like to calculate the distribution of the local area frac 5 mode = "lammps"
6 )
tion averaged over several frames of a trajectory, i.e., using a time
7 # psi6 distribution (all frames)
average, one can simply create an amep.evaluate.LDdist object which 8 p6dist = amep.evaluate.Psi6dist(
is directly performing the time average and allows us to store the re 9 traj,
sults in an HDF5 file. Additionally, multiple results can be stored in 10 nav = traj.nframes
11 )
the same HDF5 file using AMEP’s database feature: As an example, we 12 # save results in HDF5 file
calculate the distribution of the local area fraction for five indepen 13 p6dist.save("p6dist.h5")
dent simulation runs (ensembles) stored in directories /path/to/ 14
15 # plot the result of the last frame
data/do00--/path/to/data/do04 and store them together in one 16 fig, ax = amep.plot.new()
HDF5 file ld.h5: 17 ax.plot(
18 p6dist.psi6,
1 import amep 19 p6dist.frames[−1,0]
2 # load all trajectories 20 )
3 trjs = [ 21 fig.savefig("p6dist.png")
4 amep.load.traj(
5 f"/path/to/data/do{i:02}", The result is demonstrated in Fig. 5f, where we have averaged over five
6 mode = "lammps"
7 ) for i in range(5) independent ensembles. The broad peak at small values corresponds to
8 ] the dilute phase while the sharp peak at |𝜓6 | = 1 corresponds to the
9 for i,traj in enumerate(trjs): hexagonally packed dense phase as shown in Fig. 5e. It is also common
10 # distribution of the local area fraction
11 ld = amep.evaluate.LDdist( to analyze the spatial range of the hexagonal order to check whether
12 traj, there exists a short-range or (quasi) long-range hexagonal order like in
13 nav = traj.nframes, a crystal. To this end, one can calculate the spatial correlation function
14 use_voronoi = True,
15 mode = "packing"
of the hexagonal order parameter
16 ) ⟨ ∗ ⟩
17 # set name under which the data 𝜓6 (⃗𝑟𝑖 )𝜓6 (⃗𝑟𝑗 )
18 # is stored in the HDF5 file 𝑔6 (𝑟) = ⟨ ⟩ (7)
19 ld.name = f"do{i:02}"
|𝜓6 (⃗𝑟𝑖 )|2
20
21 # save all in file ld.h5
with 𝑟 = |⃗𝑟𝑖 − 𝑟⃗𝑗 | [47,207]. Here, we calculate 𝑔6 (𝑟) for ABP simulations
22 ld.save("ld.h5", database = True) with 𝜖∕(𝑘B 𝑇b ) = 10, 𝑁 = 100 000 particles, and at 𝜑 = 0.8 starting from
a hexagonal lattice instead of a uniform distribution and average over
Now, we can calculate the ensemble average: multiple frames in the steady state:
1∑
6
{ } Since this calculation is computationally expensive, we speed it up us
𝜓6 (⃗𝑟𝑖 ) = exp i6𝜗𝑖𝑗 (6) ing parallelization by specifying the number of jobs that should run in
6 𝑗=1
parallel with the njobs keyword. Additionally, we give a maximum dis
of each particle, where the sum goes over the six nearest neighbors of tance up to which the correlation function should be calculated and we
particle 𝑖 and 𝜗𝑖𝑗 is the angle between the connection line from 𝑟⃗𝑖 to skip the first 50% of the trajectory to ensure that only the second half
𝑟⃗𝑗 and the 𝑥 axis [47,206,207]. In two spatial dimensions, the particles of the trajectory, which is in the steady state, is used for the calculation.
within the dense phase typically show local hexagonal order while they The result is shown in Fig. 5d together with the corresponding snap
are disordered in the dilute phase. Therefore, the distribution of 𝜓6 can shots in Fig. 5a--c for three different Pe. In accordance to Ref. [47], we
also be used to assess whether a system is phase separated similarly to observe a constant 𝑔6 at small Pe and an algebraic decay of the form 𝑟−𝜈
the local area fraction [47,152,207,208]. Calculating the distribution of with exponent 𝜈 at higher Pe.
9
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
Fig. 5. Analyzing the hexagonal order using the amep.order, amep.spatialcor, and amep.evaluate modules: a–c Extracts from the simulation box of an
ABP system at high area fraction 𝜑 = 0.8 for Pe = 2, 25, 48, respectively. The particles are colored with respect to their hexagonal order parameter dfined in Eq. (6)
and calculated with amep.order.psi_k. Here, the simulations started from a hexagonal crystal as initial condition. d Spatial correlation function 𝑔6 (𝑟) as dfined
in Eq. (7) for the three snapshots shown in panels a–c averaged over three independent ensembles and over time in the steady state using amep.evaluate.Hex
OrderCor. The black dashed line shows an algebraic decay of the form 𝑟−𝜈 with exponent 𝜈 = 0.11 as a guide for the eye. e Snapshot of one cluster of the simulation
shown in Fig. 3c with Pe = 70.7 and 𝜑 = 0.5. Again, the particles are colored with respect to their hexagonal order parameter. f Distribution of the hexagonal order
parameter corresponding to the snapshot shown in panel e calculated with amep.evaluate.Psi6dist and averaged over five independent ensembles. Parame
ters: 𝐼∕(𝛾r 𝜏p ) = 5 × 10−6 , 𝑁 = 100 000, 𝜑 = 0.8, and 𝜖∕(𝑘B 𝑇b ) = 10 (a–d), and (e–f) as in Fig. 3.
To further probe the order of an active system, one can exploit the
radial distribution function 𝑔(𝑟), which we have exemplarily calculated
in Section 2 using amep.evaluate.RDF. From an experimental viewpoint,
it is easier to obtain the structure factor 𝑆(𝑞,
⃗ 𝑡), which is dfined as [209]
⟨𝑁 𝑁 ⟩
1 ∑∑ { }
𝑆(𝑞,
⃗ 𝑡) = exp i𝑞⃗ ⋅ [⃗𝑟𝑖 (𝑡) − 𝑟⃗𝑗 (𝑡)] . (8)
𝑁 𝑖=1 𝑗=1
Here, 𝑞⃗ represents the wave vector, 𝑟⃗𝑖 (𝑡) and 𝑟⃗𝑗 (𝑡) denote the positions
of particles 𝑖 and 𝑗 at time 𝑡, respectively, and 𝑁 is the total number of
particles. For isotropic systems, the structure factor only depends on the
magnitude 𝑞 = |𝑞| ⃗ of the wave vector. It gives information about the den Fig. 6. Structure factor from amep.evaluate.SFiso and corresponding
sity response to an external perturbation of wave length 2𝜋∕𝑞 and can domain length from amep.utils.domain_length: a Isotropic structure
be probed experimentally via scattering experiments. Note that 𝑆(𝑞, ⃗ 𝑡) is factor obtained from the three simulation snapshots shown in Fig. 3 using
amep.evaluate.SFiso. The data is smoothed using a running average over
directly related to 𝑔(⃗𝑟, 𝑡) via Fourier transform. However, in practice, it
seven points with the amep.utils.runningmean function. The inset shows
is often preferable to calculate 𝑆(𝑞,⃗ 𝑡) directly to achieve good numerical
the same data but with logarithmic axes. b Length scale 𝐿(𝑡) over time de
results in the low 𝑞 regime. Within AMEP, 𝑆(𝑞, ⃗ 𝑡) can be directly calcu rived from the first moment of the structure factor as dfined in Eq. (9) using
lated with amep.evaluate.SF2d and the isotropic structure factor 𝑆(𝑞, 𝑡) the amep.utils.domain_length function. The data has been averaged over
with 𝑞 = |𝑞|⃗ (i.e., 𝑆(𝑞,
⃗ 𝑡) averaged over the direction of 𝑞⃗) with amep. five independent ensembles and the black dashed line is a power-law fit of the
evaluate.SFiso. Here, we use 𝑆(𝑞, 𝑡) to analyze the coarsening process form 𝐿(𝑡) = 𝐿0 𝑡𝛼 done with amep.functions.Fit resulting in an exponent
of the clusters forming when the ABPs undergo MIPS. To this end, we 𝛼 = 0.324 ± 0.001.
deduce a characteristic length scale 𝐿(𝑡) based on the first moment of
𝑆(𝑞, 𝑡) given by [88,93,148,210,211] shots shown in Fig. 3. These results can be obtained using the following
𝑞 code example:
∫2𝜋∕𝐿
cut
𝑆(𝑞, 𝑡)d𝑞
𝐿(𝑡) = 𝑞 , (9)
∫2𝜋∕𝐿
cut
𝑞𝑆(𝑞, 𝑡)d𝑞 1 import amep
2 import numpy as np
3 # load simulation data
where 𝐿 is the length of the simulation box. We set the upper limit
4 traj = amep.load.traj(
𝑞cut 𝜎 = 0.3, i.e., we only consider length scales larger than 2𝜋∕𝑞cut ≈ 5 "/path/to/data",
21𝜎 . Notably, under suitable conditions, overdamped ABPs undergoing 6 mode = "lammps"
7 )
MIPS exhibit an effective mapping onto a suitable equilibrium system at
8 # calculate S(q)
coarse-grained scales, as established in the literature [70]. This mapping 9 sf = amep.evaluate.SFiso(
explains why the coarsening dynamics follows the universal law 𝐿(𝑡) ∼ 10 traj,
𝑡1∕3 -- a characteristic scaling behavior observed in equilibrium systems. 11 nav = traj.nframes
12 )
To visually elucidate this process, we present instances of 𝑆(𝑞, 𝑡) at 13 # plot S(q) of the last frame
distinct times 𝑡∕𝜏𝑝 = 0.1, 4.2, 800.0 (Fig. 6a) corresponding to the snap 14 fig, axs = amep.plot.new()
10
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
15 axs.plot(sf.q, sf.frames[−1][0]) to consider periodic boundary conditions and the cut-off distance rmax
16 fig.savefig("sf.pdf") is set to the cut-off distance of the WCA potential (i.e., the contact dis
tance). The algorithm works not only with simulation data of particles
We can now subsequently compute 𝐿(𝑡) by using the amep.utils.
of the same size but can also identify clusters comprising particles of dif
domain_length function and fit a power-law of the form 𝐿(𝑡) = 𝐿0 𝑡𝛼 to
ferent sizes, which requires different values of the cut-off distance 𝑟max
it using amep.functions.Fit:
depending on the pair of particles. In the latter case, the user can pro
17 # calculate domain length vide the sizes of the particles (diameter) through the additional keyword
18 L = np.zeros(len(sf.frames)) sizes in amep.cluster.identify. In Fig. 7a, we show the same snapshot
19 for i,frame in enumerate(sf.frames):
20 length = amep.utils.domain_length( as in Fig. 3c, but with the particles of the eight largest clusters colored
21 frame[0], sf.q, qmax = 0.3 according to their cluster ids.
22 ) Based on the identfied clusters, one can calculate various properties
23 L[i] = length
24
of the different clusters using the cluster module. One of them is the
25 # fit growth exponent cluster size, dfined as the number of particles within a cluster, the dis
26 def f(x, L0 = 1, alpha = 1): tribution of which often provides an insight into coexisting phases in a
27 return L0∗x∗∗alpha
28 fit = amep.functions.Fit(f)
system [45,179,213--218]. We can calculate the cluster sizes and masses
29 mask = sf.times > 10 by using the amep.cluster.sizes and amep.cluster.masses functions:
30 fit.fit(sf.times[mask], L[mask])
31 18 sizes = amep.cluster.sizes(
32 # plot data and fit 19 clusters
33 fig, axs = amep.plot.new() 20 )
34 axs.plot(sf.times, L, label = "data") 21 masses = amep.cluster.masses(
35 axs.plot( 22 clusters, frame.data("mass")
36 sf.times[mask], 23 )
37 fit.generate(sf.times[mask]),
Based ) , we can now calculate the cluster size distribution 𝑝(𝑠) =
on sizes
38 marker = "", ls = "−−",
39 label = "fit" (∑
𝑁𝑠 ∕ 𝑠 𝑁𝑠 , where 𝑁𝑠 is the number of clusters with size 𝑠. Since we
40 )
41 axs.legend() are interested in the coarsening behavior of the large clusters but their
42 fig.savefig("domain−length.pdf") number is relatively small, it has been proven to be benficial to analyze
the weighted cluster size distribution
The result is illustrated in Fig. 6b and we obtain a growth exponent of
𝑠𝑁
𝛼 = 0.324 ± 0.001 in accordance with the literature [76,93,150]. 𝑝w (𝑠) = ∑ 𝑠 , (10)
𝑠 𝑠𝑁𝑠
4.6. Cluster analysis where each cluster is weighted with its size 𝑠 [219,220]. Here, we use
the amep.statistics.distribution function with logarithmic bins:
Finally, we analyze the clustering of ABPs when undergoing MIPS
by using AMEP’s cluster module. For particle-based simulation data, 24 # weighted cluster size distribution
25 hist, bins = amep.statistics.distribution(
we dfine a cluster as a collection of particles in which each particle 26 sizes, logbins = True,
has an interparticle distance smaller than 𝑟max to some other particle, 27 nbins = 50, density = False
where the cut-off distance 𝑟max can be chosen by the user. Particle 𝑖 and 28 )
29 hist = hist∗bins/np.sum(hist∗bins)
𝑗 with position coordinates 𝑟⃗𝑖 and 𝑟⃗𝑗 , respectively, belong to the same 30
cluster if |⃗𝑟𝑖 − 𝑟⃗𝑗 | ≤ 𝑟max . To find the distance between different particle 31 # plot result
pairs and identify the neighboring particle pairs that satisfy this distance 32 fig, axs = amep.plot.new()
33 axs.bar(
criterion, we use the KDTree algorithm (scipy.spatial.KDTree) from the 34 bins, hist, width = 0.2∗bins
SciPy library [172,212]. In the following, we will first show how to 35 )
identify clusters using AMEP and afterwards analyze the coarsening of 36 axs.loglog()
37 fig.savefig("size−dist.pdf")
the clusters as well as their radius of gyration and fractal dimension.
Let us consider the last frame of a simulation showing MIPS (Fig. 3c).
The result is shown in Fig. 7b and exhibits two distinct peaks at small
The clusters can be identfied using the amep.cluster.identify function:
and large cluster sizes suggesting that the system is phase separated
1 import amep into two distinct phases. Large clusters characterize the dense liquid
2 import numpy as np like phase whereas the dilute gas-like phase comprises smaller clusters
3 # load simulation data
4 traj = amep.load.traj(
[45,219,220].
5 "/path/to/data", The cluster sizes can also be used to study the average growth rate
6 mode = "lammps" of the clusters, which is a commonly used measure of the coarsening
7 )
8 # get the last frame
kinetics of phases in soft matter and biophysics [66,79,93,150]. Here,
9 frame = traj[−1] we use amep.evaluate.ClusterGrowth to calculate the weighted mean
10 cluster size ⟨𝑠⟩w and the mean cluster size ⟨𝑠⟩ dfined as
11 # cluster detection
∑ 2
12 clusters, idx = amep.cluster.identify( ∑ 𝑠 𝑁𝑠
13 frame.coords(), ⟨𝑠⟩w = 𝑠𝑝w (𝑠) = ∑𝑠 (11)
14 frame.box, 𝑠 𝑠 𝑠𝑁𝑠
15 pbc = True, ∑
∑ 𝑠𝑁𝑠
16 rmax = 1.122
⟨𝑠⟩ = 𝑠𝑝(𝑠) = ∑𝑠 (12)
𝑠 𝑁𝑠
17 )
𝑠
It takes the coordinates of all particles (frame.coords()) and the bound over time (Fig. 7c). Similar to the domain length 𝐿(𝑡) obtained from
aries of the simulation box (frame.box) as an input and returns a list the structure factor above, we will deduce a growth exponent from the
(clusters) of all clusters, sorted in descending order of their size, with growing mean cluster sizes. Note that for 𝐿(𝑡), we only considered 𝑞𝜎 <
each list element containing the indices of the particles belonging to the 𝑞max 𝜎 = 0.3, i.e., length scales larger than 𝑙min = 2𝜋∕𝑞max ≈ 21𝜎 , which
respective cluster. It also returns the array idx which stores the clus resulted in a growth exponent of 𝛼 ≈ 1∕3 (where 𝐿(𝑡) ∝ 𝑡𝛼 ). Since the
ter indices assigned to each particle. The optional argument pbc is used cluster size measures the number of particles within a cluster, which is
11
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
12
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
88 # center of mass
89 com = amep.cluster.center_of_mass(
90 frame.coords()[ids],
91 frame.box,
92 frame.data("mass")[ids],
93 pbc = True
94 )
95 # geometric center
96 gmc = amep.cluster.geometric_center(
97 frame.coords()[ids],
98 frame.box,
99 pbc = True
100 )
101 # radius of gyration
102 rg = amep.cluster.radius_of_gyration(
103 frame.coords()[ids],
104 frame.box,
105 frame.data("mass")[ids],
106 pbc = True Fig. 8. Plotting snapshots with amep.plot.field and density distribu
107 ) tions using amep.evaluate.LDdist: a–c Snapshots of numerical solutions
108 # linear extension of the active model B+ as given in Eq. (15) plotted with amep.plot.field at
109 le = amep.cluster.linear_extension(
110 frame.coords()[ids],
three different times given in the key. d–f Corresponding density distributions
111 frame.box, calculated with amep.evaluate.LDdist.
112 frame.data("mass")[ids],
113 pbc = True
114 )
and as exemplfied in the exemplary dataset which can be downloaded
from https://github.com/amepproject/amep/tree/main/examples.
To handle periodic boundary conditions, AMEP uses the method pro
posed in Ref. [232]. The radius of gyration and the linear extension of 5.2. Motility-induced phase separation
the largest cluster are visualized in Fig. 7a. Additionally, we plotted 𝑅g
and 𝑙e as function of the cluster size 𝑠 in Fig. 7d to obtain the fractal di Similar to the particle-based simulations of ABPs, the AMB+ also
mension using amep.functions.Fit to fit the function 𝑅g (𝑠) ∝ 𝑠1∕𝑑f . We undergoes MIPS in a certain parameter regime [86]. Whether the sys
obtain 𝑑f = 1.99 ± 0.03, i.e, essentially the same as the spatial dimension tem is phase separated can again be determined by evaluating the local
of the system, which is expected here since the clusters are compact. density distribution. In case of continuum data, one can simply calcu
late the distribution of the density at each grid point, as done by the
amep.evaluate.LDdist class:
5. Analyzing continuum simulation data with AMEP
1 import amep
Let us now discuss some examples on how to analyze continuum sim 2 # load the data
3 traj = amep.load.traj(
ulation data with AMEP. To this end, we will use numerical solutions of 4 "/path/to/data",
the active model B+, which is a corresponding continuum model for 5 mode = "field"
active Brownian particles. We will first introduce the model and after 6 )
7 # local density distribution of each frame
wards demonstrate and discuss certain observables and minimal code 8 lddist = amep.evaluate.LDdist(
examples using AMEP. 9 traj,
10 nav = traj.nframes,
11 xmin = −1.5,
5.1. Active model B+
12 xmax = 1.5,
13 ftype = "phi"
The active model B+ (AMB+) describes a system of active Brownian 14 )
15 # save results in HDF5 file
particles featuring a generic self-propulsion mechanism that can lead to
16 lddist.save("lddist.h5")
interesting collective phenomena. It models the time evolution of the 17
scalar field 𝜙 = (2𝜌 − 𝜌H − 𝜌L )∕(𝜌H − 𝜌L ), where 𝜌H and 𝜌L denote the 18 # plot for the last frame
particle number density at the low-density and the high-density critical 19 fig, axs = amep.plot.new()
20 axs.plot(lddist.ld, lddist.frames[−1,0])
point, respectively [62,148]. The active model B+ is given by [86] 21 axs.set_xlabel(r"$\phi_{\rm loc}$")
[ ( ) ] axs.set_ylabel(r"$p(\phi_{\rm loc})$")
𝜕𝜙 𝛿 ( ) √ 22
= − ∇ ⋅ −𝑀∇ ⃗ ,
+ 𝜆|∇𝜙|2 + 𝜁𝑀 ∇2 𝜙 ∇𝜙 + 2𝑘B 𝑇 𝑀 Λ 23 fig.savefig("lddist.pdf")
𝜕𝑡 𝛿𝜙
(15) The results are demonstrated in Fig. 8 at different times together with
[ ] the corresponding snapshots. While the distribution is unimodal at the
𝑎 2 𝑏 4 𝐾
[𝜙] = d3 𝑟 𝜙 + 𝜙 + |∇𝜙|2 . (16) beginning of the simulations (which start with a uniform distribution), it
∫ 2 4 2 becomes bimodal at long times showing that the system phase separates
Here, the free-energy functional is approximated up to the order 𝜙4 into a dense and a dilute phase by forming dense clusters that coexist
and up to square-gradient terms, and Λ(⃗ ⃗ 𝑟, 𝑡) denotes Gaussian white with a surrounding gas-like phase.
noise with zero mean and unit variance. The mobility is denoted by
𝑀 , the temperature is given by 𝑘B 𝑇 with Boltzmann constant 𝑘B , and 5.3. Coarsening processes
𝑎, 𝑏, 𝐾, 𝜁, 𝜆 are free parameters of the model. Here, we use 𝑎 = −0.25, 𝑏 =
0.25, 𝐾 = 1.0, 𝜁 = 1.0, 𝜆 = −0.5, 𝑘B 𝑇 = 0.2, and 𝑀 = 1.0 corresponding Let us now analyze the coarsening behavior of the clusters based
to a parameter regime showing phase separation [86]. We start from a on the isotropic structure factor. For a continuum field, the (two
uniform initial condition with 𝜙0 = −0.4 disturbed with weak fluctua dimensional) structure factor can directly be calculated from the nu
tions. Here, we used an in-house finite volume solver written in C++ to merical Fourier transform of the scalar field 𝜙 as [148,209,233]
numerically integrate Eq. (15) using a grid of 256×256 grid points with a ⟨ ⟩ ⟨ ⟩
𝑆(𝑞,
⃗ 𝑡) = 𝜙(𝑞,
⃗ 𝑡)𝜙(−𝑞,
⃗ 𝑡) = |𝜙(𝑞,
⃗ 𝑡)|2 (17)
grid spacing of Δ𝑥 = Δ𝑦 = 1.0 and time step Δ𝑡 = 0.001. All simulations
run for 108 time steps. To load the resulting data with AMEP, the data using the amep.continuum.sf2d function. Here, 𝜙(𝑞, ⃗ 𝑡) is the spatial
has to be stored in a certain data format as discussed in Subsection 5.5 Fourier transform of 𝜙(⃗𝑟, 𝑡). To obtain the isotropic structure factor, the
13
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
AMEP’s evaluate module allows to calculate the isotropic structure factor expected to be an intermediate scaling regime that leads to a 𝑡1∕3 scaling
directly from the traj object and also performs a time average: at longer times [88,93,148].
14
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
where s, gmc, com, rg, le, gt, it denote the size, geometric center, Fig. 10. Cluster analysis for continuum simulation data with the
center of mass, radius of gyration, linear extension, gyration tensor, and amep.continuum and the amep.evaluate modules. a Same snapshot as
in Fig. 8c showing the eight largest clusters identfied with the amep.contin
inertia tensor of each cluster, respectively. Here, the size of cluster 𝑖
uum.identify_clusters function and colored with respect to their cluster
within a field 𝜙 is dfined as the integral over its area 𝐴𝑖 , i.e., 𝑠𝑖 =
index. The centers of mass of the clusters calculated with amep.contin
∫𝐴 d2 𝑟 𝜙(⃗𝑟). All other cluster properties are calculated with the same uum.cluster_properties are marked with white crosses. The white solid
𝑖
methods as used for the particle-based simulation data by treating each and dashed circles have radii equal to the radius of gyration and half the linear
grid point (𝑖, 𝑗) as a particle at position 𝑟⃗𝑖𝑗 with ``mass'' 𝜙(⃗𝑟𝑖𝑗 ). The radius extension of the largest cluster (yellow) as obtained from Eqs. (13) and (14), re
of gyration and the linear extension of the largest cluster are visualized spectively, using amep.continuum.cluster_properties. b Weighted clus
in Fig. 10a. ter size distribution as dfined in Eq. (10) corresponding to the snapshot in panel
Similarly to the cluster analysis for particle-based data, we can now a as obtained from amep.evaluate.ClusterSizeDist √ averaged over five
calculate the weighted cluster-size distribution, the growth exponents, independent ensembles. c Cluster length 𝑙 = ⟨𝑠⟩ obtained from the weighted
and the fractal dimension of the clusters exploiting AMEP’s evaluate mean cluster size ⟨𝑠⟩w [Eq. (11)] and mean cluster sizes ⟨𝑠⟩ [Eq. (12)] and ⟨𝑠⟩>20
averaged over all clusters and over all clusters larger than an area of 20Δ𝑥2 , re
module. Let us first calculate the weighted cluster-size distribution as
spectively, calculated using amep.evaluate.ClusterGrowth as function of
dfined in Eq. (10):
time. The data has been averaged over five independent ensembles. The dashed,
26 # weighted cluster size distribution dotted, and dash-dotted lines are fits to 𝑙(𝑡) = 𝑙(0)𝑡𝛽 done with amep.func
27 cd = amep.evaluate.ClusterSizeDist( tions.Fit. d Radius of gyration 𝑅g as function of the cluster size 𝑠 for five
28 traj, independent simulations as exemplarily shown in panel a. A fit to 𝑅g (𝑠) ∝ 𝑠1∕𝑑f
29 nav = traj.nframes, results in a fractal dimension of 𝑑f = 1.99 ± 0.01.
30 ftype = "phi",
31 method = "threshold",
32 threshold = 0.1, 55 threshold = 0.1,
33 use_density = False, 56 use_density = False,
34 nbins = 50, 57 min_size = 20
35 logbins = True, 58 )
36 xmin = 1e0, 59 # weighted mean cluster size
37 xmax = 1e4 60 weighted_mean = amep.evaluate.ClusterGrowth(
38 ) 61 traj,
62 ftype = "phi",
Here, the keyword use_density allows to specify whether the inte 63 method = "threshold",
grated density 𝑠𝑖 (use_density = True) as dfined above or area 𝐴𝑖 64 mode = "weighted mean",
65 threshold = 0.1,
(use_density = False) should be used as size of cluster 𝑖. Furthermore, 66 use_density = False
we have used the threshold method and logarithmic bins and the result 67 )
is shown in Fig. 10b. Next, we analyze the cluster growth by calculating √
the average cluster size over time using the weighted mean and mean Again, we dfine the cluster length as 𝑙 = ⟨𝑠⟩ and use amep.functions
as dfined in Eqs. (11) and (12), respectively: .Fit to obtain the growth exponent from 𝑙(𝑡) ∝ 𝑡𝛽 as already demon
strated in Subsection 4.6. Consistent with the growth exponent 𝛼 ≈ 0.27
39 # mean cluster sizes
40 mean = amep.evaluate.ClusterGrowth( obtained from the domain length 𝐿(𝑡) (see Subsection 5.3), we obtain
41 traj, 𝛽 ≈ 0.26 (Fig. 10c). Additionally, we plotted the radius of gyration 𝑅g as
42 ftype = "phi", function of the cluster size 𝑠 in Fig. 10d to obtain the fractal dimension
43 method = "threshold",
44 mode = "mean",
using amep.functions.Fit to fit the function 𝑅g (𝑠) ∝ 𝑠1∕𝑑f . We obtain
45 threshold = 0.1, 𝑑f = 1.99 ± 0.01, i.e, the same as the spatial dimension of the system,
46 use_density = False which is expected here since the clusters are compact.
47 )
48 # mean cluster size over all clusters
49 # with size larger than 20 5.5. Continuum data format
50 mean_20 = amep.evaluate.ClusterGrowth(
51 traj, Continuum simulation data as analyzed within this work has to be
52 ftype = "phi",
53 method = "threshold", stored in a specific format such that it can be loaded with AMEP. In the
54 mode = "mean", following, we briefly introduce the basic format requirements. In AMEP,
15
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
Fig. 11. Further observables calculated with AMEP: a Snapshot of MIPS plotted with amep.plot.particles. b–d Corresponding coarse-grained local density
𝜑loc , hexagonal order parameter 𝜓6 [Eq. (6)], and orientation angle 𝜃 , respectively, calculated with amep.continuum.gkde. e Two-dimensional pair correlation
function of the snapshot shown in panel a calculated with amep.evaluate.PCF2d. f Two-dimensional structure factor of the snapshot shown in panel a calculated
with amep.evaluate.SF2d. g Snapshot of MIPS in the active model B+ plotted with amep.plot.field. h Two-dimensional structure factor of the field shown
in panel g calculated with amep.evaluate.SF2d. i,j Distribution of the velocity 𝑣𝑥 in 𝑥 direction and the magnitude |𝑣| ⃗ from a particle-based simulation in
two spatial dimensions calculated with amep.evaluate.VelDist. The black dashed lines are fits obtained with amep.functions.NormalizedGaussian and
amep.functions.MaxwellBoltzmann, respectively. k Velocity autocorrelation function calculated with amep.evaluate.VACF. l Snapshot of a simulation with
particles of different sizes plotted with amep.plot.particles.
field data is internally stored using the h5amep file format, similar to the the coordinates of all grid points. If the data is based on an evenly
particle-based simulation data. Converting field data to an AMEP dataset spaced rectangular grid and the grid points are given in rising order,
is done by use of a reader class (amep.reader.ContinuumReader). This data the SHAPE category tells AMEP in what kind of multidimensional array
reader expects the following format: The standard file structure for field the data should be cast for representation. The files named field_<in
data is inspired by the LAMMPS dump file format, i.e., all relevant data dex>.txt contain all data that varies in time. The index should rise in
is stored in one base directory which contains (i) a file named grid.txt time and could be chosen as the number of timesteps for example. The
and (ii) multiple files named field_<index>.txt. The former is of data files should be of the following form:
the form
TIMESTEP:
BOX: <Simulation timestep>
<X_min> <X_max> TIME:
<Y_min> <Y_max> <Physical time>
<Z_min> <Z_max> DATA: <name 0> <name 1> <name 2> <name 3>
SHAPE: <field 0 0> <field 1 0> <field 2 0> <field 3 0>
<nx> <ny> <nz> <field 0 1> <field 1 1> <field 2 1> <field 3 1>
COORDINATES: X Y Z <field 0 2> <field 1 2> <field 2 2> <field 3 2>
<X_0> <Y_0> <Z_0> ...
<X_1> <Y_0> <Z_0>
... Here, the names describe the scalar field written to the column beneath,
<X_N> <Y_0> <Z_0> e.g., density. The columns are then filled by the values of the respective
<X_0> <Y_1> <Z_0> field at each grid point in the same order as in grid.txt. The columns
<X_1> <Y_1> <Z_0> can be separated by spaces, tabs, commas, semicolons, colons, or a ver
... tical bar. The TIMESTEP category contains the number of timesteps
corresponding to the contained data and the TIME category the corre
and contains all information about the simulation box and the under sponding (physical) time. If you have data of this type in the directory
lying discrete grid. The values in the BOX category dfine the borders /path/to/data, it can be loaded with AMEP via
of the simulation box, which is assumed to be rectangular, the SHAPE 1 field_trajectory = amep.load.traj(
category contains the shape of the grid, and COORDINATES contains 2 "/path/to/data",
16
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
17
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
[15] S. Rafi, S. Yasmin, R. Uddin, A molecular dynamic simulation approach: devel [43] J. Barré, R. Chétrite, M. Muratori, F. Peruani, Motility-induced phase separation
opment of Dengue virus vaccine by a˙inity improvement techniques, J. Biomol. of active particles in the presence of velocity alignment, J. Stat. Phys. 158 (2015)
Struct. Dyn. 40 (2022) 61, https://doi.org/10.1080/07391102.2020.1811771. 589, https://doi.org/10.1007/s10955-014-1008-9.
[16] A. Smith, X. Dong, V. Raghavan, An overview of molecular dynamics simulation for [44] G. Gonnella, D. Marenduzzo, A. Suma, A. Tiribocchi, Motility-induced phase sep
food products and processes, Processes 10 (2022) 119, https://doi.org/10.3390/ aration and coarsening in active matter, C. R. Phys. 16 (2015) 316, https://
pr10010119. doi.org/10.1016/j.crhy.2015.05.001.
[17] G. De Magistris, D. Marenduzzo, An introduction to the physics of active matter, [45] I. Buttinoni, J. Bialké, F. Kümmel, H. Löwen, C. Bechinger, T. Speck, Dynamical
Physica A 418 (2015) 65, https://doi.org/10.1016/j.physa.2014.06.061. clustering and phase separation in suspensions of self-propelled colloidal parti
[18] C. Bechinger, R. Di Leonardo, H. Löwen, C. Reichhardt, G. Volpe, G. Volpe, Ac cles, Phys. Rev. Lett. 110 (2013) 238301, https://doi.org/10.1103/PhysRevLett.
tive particles in complex and crowded environments, Rev. Mod. Phys. 88 (2016) 110.238301.
045006, https://doi.org/10.1103/RevModPhys.88.045006. [46] J. Blaschke, M. Maurer, K. Menon, A. Zöttl, H. Stark, Phase separation and co
[19] J. Elgeti, R.G. Winkler, G. Gompper, Physics of microswimmers—single particle mo existence of hydrodynamically interacting microswimmers, Soft Matter 12 (2016)
tion and collective behavior: a review, Rep. Prog. Phys. 78 (2015) 056601, https:// 9821, https://doi.org/10.1039/C6SM02042A.
doi.org/10.1088/0034-4885/78/5/056601. [47] P. Digregorio, D. Levis, A. Suma, L.F. Cugliandolo, G. Gonnella, I. Pagonabarraga,
[20] G. Liu, A. Patch, F. Bahar, D. Yllanes, R.D. Welch, M.C. Marchetti, S. Thutupalli, Full phase diagram of active Brownian disks: from melting to motility-induced
J.W. Shaevitz, Self-driven phase transitions drive myxococcus xanthus fruiting phase separation, Phys. Rev. Lett. 121 (2018) 098003, https://doi.org/10.1103/
body formation, Phys. Rev. Lett. 122 (2019) 248102, https://doi.org/10.1103/ PhysRevLett.121.098003.
PhysRevLett.122.248102. [48] F. Bergmann, L. Rapp, W. Zimmermann, Active phase separation: a universal ap
[21] C. Wolgemuth, E. Hoiczyk, D. Kaiser, G. Oster, How myxobacteria glide, Curr. Biol.
proach, Phys. Rev. E 98 (2018) 020603, https://doi.org/10.1103/PhysRevE.98.
12 (2002) 369, https://doi.org/10.1016/S0960-9822(02)00716-9.
020603.
[22] S. Rafaï, L. Jibuti, P. Peyla, Effective viscosity of microswimmer suspensions, Phys.
[49] P. Dolai, A. Simha, S. Mishra, Phase separation in binary mixtures of active and pas
Rev. Lett. 104 (2010) 098102, https://doi.org/10.1103/PhysRevLett.104.098102.
sive particles, Soft Matter 14 (2018) 6137, https://doi.org/10.1039/C8SM00222C.
[23] J.R. Howse, R.A.L. Jones, A.J. Ryan, T. Gough, R. Vafabakhsh, R. Golestanian, Self
[50] J. Zhang, R. Alert, J. Yan, N.S. Wingreen, S. Granick, Active phase separation by
motile colloidal particles: from directed propulsion to random walk, Phys. Rev. Lett.
turning towards regions of higher density, Nat. Phys. 17 (2021) 961, https://doi.
99 (2007) 048102, https://doi.org/10.1103/PhysRevLett.99.048102.
org/10.1038/s41567-021-01238-8.
[24] B. Liebchen, H. Löwen, Synthetic Chemotaxis and collective behavior in active
[51] J. Su, H. Jiang, Z. Hou, Inertia-induced nucleation-like motility-induced phase
matter, Acc. Chem. Res. 51 (2018) 2982, https://doi.org/10.1021/acs.accounts.
separation, New J. Phys. 23 (2021) 013005, https://doi.org/10.1088/1367-2630/
8b00215.
[25] L. Qiao, M.-J. Huang, R. Kapral, Active motion of synthetic nanomotors in fil abd80a.
ament networks, Phys. Rev. Res. 2 (2020) 033245, https://doi.org/10.1103/ [52] F.D.C. Farrell, M.C. Marchetti, D. Marenduzzo, J. Tailleur, Pattern formation in self
PhysRevResearch.2.033245. propelled particles with density-dependent motility, Phys. Rev. Lett. 108 (2012)
[26] C. Kurzthaler, Y. Zhao, N. Zhou, J. Schwarz-Linek, C. Devailly, J. Arlt, J.-D. Huang, 248101, https://doi.org/10.1103/PhysRevLett.108.248101.
W.C. Poon, T. Franosch, J. Tailleur, et al., Characterization and control of the [53] B. Liebchen, D. Marenduzzo, I. Pagonabarraga, M.E. Cates, Clustering and pattern
run-and-tumble dynamics of escherichia coli, Phys. Rev. Lett. 132 (2024) 038302, formation in chemorepulsive active colloids, Phys. Rev. Lett. 115 (2015) 258301,
https://doi.org/10.1103/PhysRevLett.132.038302. https://doi.org/10.1103/PhysRevLett.115.258301.
[27] G. Ramos, M.L. Cordero, R. Soto, Bacteria driving droplets, Soft Matter 16 (2020) [54] B. Liebchen, D. Levis, Collective behavior of chiral active matter: pattern formation
1359, https://doi.org/10.1039/C9SM01839E. and enhanced flocking, Phys. Rev. Lett. 119 (2017) 058002, https://doi.org/10.
[28] C. Kurzthaler, C. Devailly, J. Arlt, T. Franosch, W.C. Poon, V.A. Martinez, A.T. 1103/PhysRevLett.119.058002.
Brown, Probing the spatiotemporal dynamics of catalytic janus particles with [55] D. Saintillan, M.J. Shelley, Instabilities and pattern formation in active particle
single-particle tracking and differential dynamic microscopy, Phys. Rev. Lett. 121 suspensions: kinetic theory and continuum simulations, Phys. Rev. Lett. 100 (2008)
(2018) 078001, https://doi.org/10.1103/PhysRevLett.121.078001. 178103, https://doi.org/10.1103/PhysRevLett.100.178103.
[29] J. Grauer, H. Löwen, B. Liebchen, Strategic spatiotemporal vaccine distribution [56] A.P. Solon, J.-B. Caussin, D. Bartolo, H. Chaté, J. Tailleur, Pattern formation in
increases the survival rate in an infectious disease like Covid-19, Sci. Rep. 10 (2020) flocking models: a hydrodynamic description, Phys. Rev. E 92 (2015) 062111,
21594, https://doi.org/10.1038/s41598-020-78447-3. https://doi.org/10.1103/PhysRevE.92.062111.
[30] A. Attanasi, A. Cavagna, L. Del Castello, I. Giardina, T.S. Grigera, A. Jelić, S. Melillo, [57] M.F. Hagan, A. Baskaran, Emergent self-organization in active materials, Curr.
L. Parisi, O. Pohl, E. Shen, et al., Information transfer and behavioural inertia in Opin. Cell Biol. 38 (2016) 74, https://doi.org/10.1016/j.ceb.2016.02.020.
Starling flocks, Nat. Phys. 10 (2014) 691, https://doi.org/10.1038/nphys3035. [58] J. Palacci, B. Abécassis, C. Cottin-Bizonne, C. Ybert, L. Bocquet, Colloidal motility
[31] D. Klotsa, As above, so below, and also in between: mesoscale active matter in and pattern formation under rectfied diffusiophoresis, Phys. Rev. Lett. 104 (2010)
fluids, Soft Matter 15 (2019) 8946, https://doi.org/10.1039/C9SM01019J. 138302, https://doi.org/10.1103/PhysRevLett.104.138302.
[32] J. Buhl, D.J.T. Sumpter, I.D. Couzin, J.J. Hale, E. Despland, E.R. Miller, S.J. Simp [59] J. Toner, Y. Tu, Flocks, herds, and schools: a quantitative theory of flocking, Phys.
son, From disorder to order in marching locusts, Science 312 (2006) 1402, https:// Rev. E 58 (1998) 4828, https://doi.org/10.1103/PhysRevE.58.4828.
doi.org/10.1126/science.1125142. [60] D. Levis, I. Pagonabarraga, B. Liebchen, Activity induced synchronization: mutual
[33] C.K. Hemelrijk, H. Hildenbrandt, Schools of fish and flocks of birds: their shape flocking and chiral self-sorting, Phys. Rev. Res. 1 (2019) 023026, https://doi.org/
and internal structure by self-organization, Interface Focus 2 (2012) 726, https:// 10.1103/PhysRevResearch.1.023026.
doi.org/10.1098/rsfs.2012.0025. [61] R. Chatterjee, N. Rana, R.A. Simha, P. Perlekar, S. Ramaswamy, Inertia drives a
[34] M. Ballerini, N. Cabibbo, R. Candelier, A. Cavagna, E. Cisbani, I. Giardina, V. flocking phase transition in viscous active fluids, Phys. Rev. X 11 (2021) 031063,
Lecomte, A. Orlandi, G. Parisi, A. Procaccini, et al., Interaction ruling animal collec https://doi.org/10.1103/PhysRevX.11.031063.
tive behavior depends on topological rather than metric distance: evidence from a
[62] M.R. Shaebani, A. Wysocki, R.G. Winkler, G. Gompper, H. Rieger, Computational
field study, Proc. Natl. Acad. Sci. 105 (2008) 1232, https://doi.org/10.1073/pnas.
models for active matter, Nat. Rev. Phys. 2 (2020) 181, https://doi.org/10.1038/
0711437105.
s42254-020-0152-1.
[35] W. Bialek, A. Cavagna, I. Giardina, T. Mora, E. Silvestri, M. Viale, A.M. Walczak,
[63] L. Hecht, J.C. Ureña, B. Liebchen, An introduction to modeling approaches of active
Statistical mechanics for natural flocks of birds, Proc. Natl. Acad. Sci. 109 (2012)
matter, arXiv:2102.13007 [cond-mat.soft], 2021.
4786, https://doi.org/10.1073/pnas.1118633109.
[64] P. Romanczuk, M. Bär, W. Ebeling, B. Lindner, L. Schimansky-Geier, Active Brown
[36] J.L. Silverberg, M. Bierbaum, J.P. Sethna, I. Cohen, Collective motion of humans in
ian particles, Eur. Phys. J. Spec. Top. 202 (2012) 1, https://doi.org/10.1140/epjst/
mosh and circle pits at heavy metal concerts, Phys. Rev. Lett. 110 (2013) 228701,
e2012-01529-y.
https://doi.org/10.1103/PhysRevLett.110.228701.
[37] N. Bain, D. Bartolo, Dynamic response and hydrodynamics of polarized crowds, [65] S. De Karmakar, R. Ganesh, Motility-induced phase separation of self-propelled soft
Science 363 (2019) 46, https://doi.org/10.1126/science.aat9891. inertial disks, Soft Matter 18 (2022) 7301, https://doi.org/10.1039/D2SM00772J.
[38] L. Caprini, A. Ldov, R.K. Gupta, H. Ellenberg, R. Wittmann, H. Löwen, C. Scholz, [66] G.S. Redner, M.F. Hagan, A. Baskaran, Structure and dynamics of a phase
Emergent memory from tapping collisions in active granular matter, Commun. separating active colloidal fluid, Phys. Rev. Lett. 110 (2013) 055701, https://
Phys. 7 (2024) 52, https://doi.org/10.1038/s42005-024-01540-w. doi.org/10.1103/PhysRevLett.110.055701.
[39] P. Baconnier, D. Shohat, C.H. López, C. Coulais, V. Démery, G. Düring, O. Dau [67] J. Su, M. Feng, Y. Du, H. Jiang, Z. Hou, Motility-induced phase separation is reen
chot, Selective and collective actuation in active solids, Nat. Phys. 18 (2022) 1234, trant, Commun. Phys. 6 (2023) 58, https://doi.org/10.1038/s42005-023-01172-6.
https://doi.org/10.1038/s41567-022-01704-x. [68] G.S. Redner, C.G. Wagner, A. Baskaran, M.F. Hagan, Classical nucleation theory
[40] C. Scholz, S. D’Silva, T. Pöschel, Ratcheting and tumbling motion of Vibrots, New description of active colloid assembly, Phys. Rev. Lett. 117 (2016) 148002, https://
J. Phys. 18 (2016) 123001, https://doi.org/10.1088/1367-2630/18/12/123001. doi.org/10.1103/PhysRevLett.117.148002.
[41] J. Deseigne, O. Dauchot, H. Chaté, Collective motion of vibrated polar disks, Phys. [69] S.C. Takatori, J.F. Brady, Towards a thermodynamics of active matter, Phys. Rev.
Rev. Lett. 105 (2010) 098001, https://doi.org/10.1103/PhysRevLett.105.098001. E 91 (2015) 032117, https://doi.org/10.1103/PhysRevE.91.032117.
[42] M.E. Cates, J. Tailleur, Motility-induced phase separation, Annu. Rev. Con [70] T. Speck, J. Bialké, A.M. Menzel, H. Löwen, Effective Cahn-Hilliard equation for the
dens. Matter Phys. 6 (2015) 219, https://doi.org/10.1146/annurev-conmatphys- phase separation of active Brownian particles, Phys. Rev. Lett. 112 (2014) 218304,
031214-014710. https://doi.org/10.1103/PhysRevLett.112.218304.
18
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
[71] J. Tailleur, M.E. Cates, Statistical mechanics of interacting run-and-tumble bac [98] D.S. Dean, Langevin equation for the density of a system of interacting Langevin
teria, Phys. Rev. Lett. 100 (2008) 218103, https://doi.org/10.1103/PhysRevLett. processes, J. Phys. A, Math. Gen. 29 (1996) L613, https://doi.org/10.1088/0305-
100.218103. 4470/29/24/001.
[72] M. Rojas-Vega, P. de Castro, R. Soto, Mixtures of self-propelled particles interacting [99] H. Risken, The Fokker-Planck Equation, Springer Series in Synergetics, Springer,
with asymmetric obstacles, Eur. Phys. J. E 46 (2023) 95, https://doi.org/10.1140/ Berlin, Heidelberg, 1984.
epje/s10189-023-00354-y. [100] Y. Fily, M.C. Marchetti, Athermal phase separation of self-propelled particles
[73] Z. Ma, R. Ni, Dynamical clustering interrupts motility-induced phase separation in with no alignment, Phys. Rev. Lett. 108 (2012) 235702, https://doi.org/10.1103/
chiral active Brownian particles, J. Chem. Phys. 156 (2022), https://doi.org/10. PhysRevLett.108.235702.
1063/5.0077389. [101] J. Grauer, H. Löwen, A. Be’er, B. Liebchen, Swarm hunting and cluster ejections
[74] P. Nie, J. Chattoraj, A. Piscitelli, P. Doyle, R. Ni, M.P. Ciamarra, Stability phase in chemically communicating active mixtures, Sci. Rep. 10 (2020) 5594, https://
diagram of active Brownian particles, Phys. Rev. Res. 2 (2020) 023010, https:// doi.org/10.1038/s41598-020-62324-0.
doi.org/10.1103/PhysRevResearch.2.023010. [102] X. Jiang, H. Jiang, Z. Hou, Nonlinear chemical reaction induced abnormal pattern
[75] J. Yang, R. Ni, M.P. Ciamarra, Interplay between jamming and motility-induced formation of chemotactic particles, Soft Matter 19 (2023) 3946, https://doi.org/
phase separation in persistent self-propelling particles, Phys. Rev. E 106 (2022) 10.1039/D2SM01433E.
L012601, https://doi.org/10.1103/PhysRevE.106.L012601. [103] B. Liebchen, D. Marenduzzo, M.E. Cates, Phoretic interactions generically induce
[76] S. Mandal, B. Liebchen, H. Löwen, Motility-induced temperature difference in co dynamic clusters and wave patterns in active colloids, Phys. Rev. Lett. 118 (2017)
existing phases, Phys. Rev. Lett. 123 (2019) 228001, https://doi.org/10.1103/ 268001, https://doi.org/10.1103/PhysRevLett.118.268001.
PhysRevLett.123.228001. [104] A.V. Zampetaki, B. Liebchen, A.V. Ivlev, H. Löwen, Collective self-optimization of
[77] L. Hecht, S. Mandal, H. Löwen, B. Liebchen, Active refrigerators powered by in communicating active particles, Proc. Natl. Acad. Sci. 118 (2021) 1, https://doi.
ertia, Phys. Rev. Lett. 129 (2022) 178001, https://doi.org/10.1103/PhysRevLett. org/10.1073/pnas.2111142118.
129.178001. [105] F. Fadda, D.A. Matoz-Fernandez, R. van Roij, S. Jabbari-Farouji, The interplay be
[78] P. Digregorio, D. Levis, L.F. Cugliandolo, G. Gonnella, I. Pagonabarraga, Unfied tween chemo-phoretic interactions and crowding in active colloids, Soft Matter 19
analysis of topological defects in 2D systems of active and passive disks, Soft Matter (2023) 2297, https://doi.org/10.1039/D2SM00957A.
18 (2022) 566, https://doi.org/10.1039/D1SM01411K. [106] A. Fischer, A. Chatterjee, T. Speck, Aggregation and sedimentation of active Brow
[79] C.B. Caporusso, L.F. Cugliandolo, P. Digregorio, G. Gonnella, D. Levis, A. Suma, nian particles at constant a˙inity, J. Chem. Phys. 150 (2019), https://doi.org/10.
Dynamics of motility-induced clusters: coarsening beyond Ostwald ripening, Phys. 1063/1.5081115.
Rev. Lett. 131 (2023) 068201, https://doi.org/10.1103/PhysRevLett.131.068201. [107] S. Saha, R. Golestanian, S. Ramaswamy, Clusters, asters, and collective oscillations
[80] S. Saw, L. Costigliola, J.C. Dyre, Cofigurational temperature in active matter. I. in chemotactic colloids, Phys. Rev. E 89 (2014) 062316, https://doi.org/10.1103/
Lines of invariant physics in the phase diagram of the Ornstein-Uhlenbeck model, PhysRevE.89.062316.
Phys. Rev. E 107 (2023) 024609, https://doi.org/10.1103/PhysRevE.107.024609. [108] O. Pohl, H. Stark, Dynamic clustering and chemotactic collapse of self-phoretic
[81] A.K. Omar, K. Klymko, T. GrandPre, P.L. Geissler, J.F. Brady, Tuning nonequi active particles, Phys. Rev. Lett. 112 (2014) 238303, https://doi.org/10.1103/
librium phase transitions with inertia, J. Chem. Phys. 158 (2023) 42, https:// PhysRevLett.112.238303.
[109] B. Liebchen, A.K. Mukhopadhyay, Interactions in active colloids, J. Phys. Condens.
doi.org/10.1063/5.0138256.
Matter 34 (2022) 083002, https://doi.org/10.1088/1361-648X/ac3a86.
[82] A.R. Sprenger, L. Caprini, H. Löwen, R. Wittmann, Dynamics of active particles with
[110] A. Zöttl, H. Stark, Modeling active colloids: from active Brownian particles to hy
translational and rotational inertia, J. Phys. Condens. Matter 35 (2023) 305101,
drodynamic and chemical fields, Annu. Rev. Condens. Matter Phys. 14 (2023) 109,
https://doi.org/10.1088/1361-648X/accd36.
https://doi.org/10.1146/annurev-conmatphys-040821-115500.
[83] E. Schiltz-Rouse, H. Row, S.A. Mallory, Kinetic temperature and pressure of an
[111] B. Liebchen, H. Löwen, Modeling Chemotaxis of Microswimmers: From Individual
active Tonks gas, Phys. Rev. E 108 (2023) 064601, https://doi.org/10.1103/
to Collective Behavior, World Scientific, Singapore, 2019, p. 493.
PhysRevE.108.064601.
[112] E.F. Keller, L.A. Segel, Model for Chemotaxis, J. Theor. Biol. 30 (1971) 225, https://
[84] M. Sandoval, Free and enclosed inertial active gas, Soft Matter 19 (2023) 6287,
doi.org/10.1016/0022-5193(71)90050-6.
https://doi.org/10.1039/D2SM01610A.
[113] A.R. Sprenger, C. Bair, H. Löwen, Active Brownian motion with memory delay
[85] P.-C. Chen, K. Kroy, F. Cichos, X. Wang, V. Holubec, Active particles with delayed
induced by a viscoelastic medium, Phys. Rev. E 105 (2022) 044610, https://doi.
attractions form quaking crystallites, Europhys. Lett. 142 (2023) 67003, https://
org/10.1103/PhysRevE.105.044610.
doi.org/10.1209/0295-5075/acd9ea.
[114] G.H.P. Nguyen, R. Wittmann, H. Löwen, Active Ornstein–Uhlenbeck model for
[86] E. Tjhung, C. Nardini, M.E. Cates, Cluster phases and bubbly phase separation in ac
self-propelled particles with inertia, J. Phys. Condens. Matter 34 (2022) 035101,
tive fluids: reversal of the Ostwald process, Phys. Rev. X 8 (2018) 031080, https://
https://doi.org/10.1088/1361-648X/ac2c3f.
doi.org/10.1103/PhysRevX.8.031080.
[115] E.A. Lisin, O.S. Vaulina, I.I. Lisina, O.F. Petrov, Motion of a self-propelled particle
[87] A. Tiribocchi, R. Wittkowski, D. Marenduzzo, M.E. Cates, Active model H: scalar
with rotational inertia, Phys. Chem. Chem. Phys. 24 (2022) 14150, https://doi.
active matter in a momentum-conserving fluid, Phys. Rev. Lett. 115 (2015) 188302,
org/10.1039/D2CP01313D.
https://doi.org/10.1103/PhysRevLett.115.188302. [116] L. Caprini, U.M.B. Marconi, Inertial self-propelled particles, J. Chem. Phys. 154
[88] J. Stenhammar, A. Tiribocchi, R.J. Allen, D. Marenduzzo, M.E. Cates, Continuum (2021) 024902, https://doi.org/10.1063/5.0030940.
theory of phase separation kinetics for active Brownian particles, Phys. Rev. Lett. [117] J. Reichert, T. Voigtmann, Tracer dynamics in crowded active-particle suspensions,
111 (2013) 145702, https://doi.org/10.1103/PhysRevLett.111.145702. Soft Matter 17 (2021) 10492, https://doi.org/10.1039/D1SM01092A.
[89] S. Mishra, A. Baskaran, M.C. Marchetti, Fluctuations and pattern formation in [118] M. Sandoval, Pressure and diffusion of active matter with inertia, Phys. Rev. E 101
self-propelled particles, Phys. Rev. E 81 (2010) 061916, https://doi.org/10.1103/ (2020) 012606, https://doi.org/10.1103/PhysRevE.101.012606.
PhysRevE.81.061916. [119] D. Breoni, M. Schmiedeberg, H. Löwen, Active Brownian and inertial particles in
[90] H. Zhao, A. Košmrlj, S.S. Datta, Chemotactic motility-induced phase separation, disordered environments: short-time expansion of the mean-square displacement,
Phys. Rev. Lett. 131 (2023) 118301, https://doi.org/10.1103/PhysRevLett.131. Phys. Rev. E 102 (2020) 062604, https://doi.org/10.1103/PhysRevE.102.062604.
118301. [120] E. Lemaitre, I.M. Sokolov, R. Metzler, A.V. Chechkin, Non-Gaussian displacement
[91] J. Berx, A. Bose, R. Golestanian, B. Mahault, Reentrant condensation transition in distributions in models of heterogeneous active particle dynamics, New J. Phys. 25
a model of driven scalar active matter with diffusivity edge, Europhys. Lett. 142 (2023) 013010, https://doi.org/10.1088/1367-2630/acb005.
(2023) 67004, https://doi.org/10.1209/0295-5075/acdcb7. [121] T. Debnath, S. Nayak, P. Bag, D. Debnath, P.K. Ghosh, Structure and diffusion of
[92] E. Sesé-Sansa, G.-J. Liao, D. Levis, I. Pagonabarraga, S.H.L. Klapp, Impact of dipole-- active-passive binary mixtures in a singl-file, J. Chem. Sci. 135 (2023) 38, https://
dipole interactions on motility-induced phase separation, Soft Matter 18 (2022) doi.org/10.1007/s12039-023-02158-1.
5388, https://doi.org/10.1039/D2SM00385F. [122] P. Nie, J. Chattoraj, A. Piscitelli, P. Doyle, R. Ni, M.P. Ciamarra, Frictional ac
[93] J. Stenhammar, D. Marenduzzo, R.J. Allen, M.E. Cates, Phase behaviour of active tive Brownian particles, Phys. Rev. E 102 (2020) 032612, https://doi.org/10.1103/
Brownian particles: the role of dimensionality, Soft Matter 10 (2014) 1489, https:// PhysRevE.102.032612.
doi.org/10.1039/C3SM52813H. [123] H. Wang, F.H. Stillinger, S. Torquato, Sensitivity of pair statistics on pair poten
[94] A.M. Menzel, A. Saha, C. Hoell, H. Löwen, Dynamical density functional theory for tials in many-body systems, J. Chem. Phys. 153 (2020) 124106, https://doi.org/
microswimmers, J. Chem. Phys. 144 (2016) 024115, https://doi.org/10.1063/1. 10.1063/5.0021475.
4939630. [124] E. Gavagnin, J.P. Owen, C.A. Yates, Pair correlation functions for identifying spatial
[95] C. Hoell, H. Löwen, A.M. Menzel, Particle-scale statistical theory for hydrodynam correlation in discrete domains, Phys. Rev. E 97 (2018) 062104, https://doi.org/
ically induced polar ordering in microswimmer suspensions, J. Chem. Phys. 149 10.1103/PhysRevE.97.062104.
(2018) 144902, https://doi.org/10.1063/1.5048304. [125] G. Szamel, E. Flenner, L. Berthier, Glassy dynamics of athermal self-propelled par
[96] C. Hoell, H. Löwen, A.M. Menzel, Dynamical density functional theory for circle ticles: computer simulations and a nonequilibrium microscopic theory, Phys. Rev.
swimmers, New J. Phys. 19 (2017) 125004, https://doi.org/10.1088/1367-2630/ E 91 (2015) 062304, https://doi.org/10.1103/PhysRevE.91.062304.
aa942e. [126] S. Bröker, M. te Vrugt, J. Jeggle, J. Stenhammar, R. Wittkowski, Pair-distribution
[97] R. Soto, M. Pinto, R. Brito, Kinetic theory of motility induced phase separation for function of active Brownian spheres in three spatial dimensions: simulation results
active Brownian particles, Phys. Rev. Lett. 132 (2024) 208301, https://doi.org/10. and analytical representation, Soft Matter 20 (2024) 224, https://doi.org/10.1039/
1103/PhysRevLett.132.208301. D3SM00987D.
19
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
[127] D. Frydel, Entropy production of active particles formulated for underdamped dy [155] D. Rogel Rodriguez, F. Alarcon, R. Martinez, J. Ramírez, C. Valeriani, Phase be
namics, Phys. Rev. E 107 (2023) 014604, https://doi.org/10.1103/PhysRevE.107. haviour and dynamical features of a two-dimensional binary mixture of active/
014604. passive spherical particles, Soft Matter 16 (2020) 1162, https://doi.org/10.1039/
[128] J. O’Byrne, Y. Kafri, J. Tailleur, F. van Wijland, Time irreversibility in active mat C9SM01803D.
ter, from micro to macro, Nat. Rev. Phys. 4 (2022) 167, https://doi.org/10.1038/ [156] V. Ramasubramani, B.D. Dice, E.S. Harper, M.P. Spellings, J.A. Anderson, S.C.
s42254-021-00406-2. Glotzer, freud: a software suite for high throughput analysis of particle simula
[129] S. Ro, B. Guo, A. Shih, T.V. Phan, R.H. Austin, D. Levine, P.M. Chaikin, S. Mar tion data, Comput. Phys. Commun. 254 (2020) 107275, https://doi.org/10.1016/
tiniani, Model-free measurement of local entropy production and extractable work j.cpc.2020.107275.
in active matter, Phys. Rev. Lett. 129 (2022) 220601, https://doi.org/10.1103/ [157] R. Gowers, M. Linke, J. Barnoud, T. Reddy, M. Melo, S. Seyler, J. Domański, D.
PhysRevLett.129.220601. Dotson, S. Buchoux, I. Kenney, et al., MDAnalysis: a python package for the rapid
[130] T. GrandPre, K. Klymko, K.K. Mandadapu, D.T. Limmer, Entropy production fluctu analysis of molecular dynamics simulations, in: Proc. 15th Python Sci. Conf., 2016,
ations encode collective behavior in active matter, Phys. Rev. E 103 (2021) 012613, p. 98.
https://doi.org/10.1103/PhysRevE.103.012613. [158] N. Michaud-Agrawal, E.J. Denning, T.B. Woolf, O. Beckstein, MDAnalysis: a toolkit
[131] É. Fodor, M.E. Cates, Active engines: thermodynamics moves forward, Europhys. for the analysis of molecular dynamics simulations, J. Comput. Chem. 32 (2011)
Lett. 134 (2021) 10003, https://doi.org/10.1209/0295-5075/134/10003. 2319, https://doi.org/10.1002/jcc.21787.
[132] D. Mandal, K. Klymko, M.R. DeWeese, Entropy production and fluctuation theo [159] W. Humphrey, A. Dalke, K. Schulten, VMD: visual molecular dynamics, J. Mol.
rems for active matter, Phys. Rev. Lett. 119 (2017) 258001, https://doi.org/10. Graph. 14 (1996) 33, https://doi.org/10.1016/0263-7855(96)00018-5.
1103/PhysRevLett.119.258001. [160] R.T. McGibbon, K.A. Beauchamp, M.P. Harrigan, C. Klein, J.M. Swails, C.X. Hernán
[133] S. De Karmakar, R. Ganesh, Phase transition and emergence of active temperature dez, C.R. Schwantes, L.-P. Wang, T.J. Lane, V.S. Pande, MDTraj: a modern open
in an active Brownian system in underdamped background, Phys. Rev. E 101 (2020) library for the analysis of molecular dynamics trajectories, Biophys. J. 109 (2015)
032121, https://doi.org/10.1103/PhysRevE.101.032121. 1528, https://doi.org/10.1016/j.bpj.2015.08.015.
[134] U.M.B. Marconi, A. Puglisi, C. Maggi, Heat, temperature and Clausius inequality in [161] A. Stukowski, Visualization and analysis of atomistic simulation data with OVITO--
a model for active Brownian particles, Sci. Rep. 7 (2017) 46496, https://doi.org/ the open visualization tool, Model. Simul. Mater. Sci. Eng. 18 (2010) 015012,
10.1038/srep46496. https://doi.org/10.1088/0965-0393/18/1/015012.
[135] L.F. Cugliandolo, G. Gonnella, I. Petrelli, Effective temperature in active Brow [162] M. Sega, G. Hantal, B. Fábián, P. Jedlovszky, Pytim: a python package for the inter
nian particles, Fluct. Noise Lett. 18 (2019) 1940008, https://doi.org/10.1142/ facial analysis of molecular simulations, J. Comput. Chem. 39 (2018) 2118, https://
S021947751940008X. doi.org/10.1002/jcc.25384.
[136] Z. Zhang, R. Garcia-Millan, Entropy production of nonreciprocal interactions, [163] T. Romo, A. Grosfield, LOOS: an extensible platform for the structural analysis
Phys. Rev. Res. 5 (2023) L022033, https://doi.org/10.1103/PhysRevResearch.5. of simulations, in: 2009 Annu. Int. Conf. IEEE Eng. Med. Biol. Soc., IEEE, 2009,
L022033. p. 2332.
[137] L. Dabelow, S. Bo, R. Eichhorn, How irreversible are steady-state trajectories of a [164] T.D. Romo, N. Leioatts, A. Grosfield, Lightweight object oriented structure analy
trapped active particle?, J. Stat. Mech. Theory Exp. 2021 (2021) 033216, https:// sis: tools for building tools to analyze molecular dynamics simulations, J. Comput.
doi.org/10.1088/1742-5468/abe6fd. Chem. 35 (2014) 2305, https://doi.org/10.1002/jcc.23753.
[165] K. Hinsen, The molecular modeling toolkit: a new approach to molecular sim
[138] L.F. Cugliandolo, The effective temperature, J. Phys. A, Math. Theor. 44 (2011)
ulations, J. Comput. Chem. 21 (2000) 79, https://doi.org/10.1002/(SICI)1096-
483001, https://doi.org/10.1088/1751-8113/44/48/483001.
987X(20000130)21:2<79::AID-JCC1>3.0.CO;2-B.
[139] G. Szamel, Stochastic thermodynamics for self-propelled particles, Phys. Rev. E 100
[166] The HDF Group, Hierarchical data format, version 5, https://github.com/
(2019) 050603(R), https://doi.org/10.1103/PhysRevE.100.050603.
HDFGroup/hdf5.
[140] T. Herpich, K. Shayanfard, M. Esposito, Effective thermodynamics of two interact
[167] A. Collette, Python and HDF5, O’Reilly Media, Sebastopol, 2013.
ing underdamped Brownian particles, Phys. Rev. E 101 (2020) 022116, https://
[168] P. de Buyl, P.H. Colberg, F. Höfling, H5MD: a structured, efficient, and portable
doi.org/10.1103/PhysRevE.101.022116.
file format for molecular data, Comput. Phys. Commun. 185 (2014) 1546, https://
[141] P. Gaspard, R. Kapral, Active matter, microreversibility, and thermodynamics, Re
doi.org/10.1016/j.cpc.2014.01.018.
search 2020 (2020) 1, https://doi.org/10.34133/2020/9739231.
[169] W.M. Elhaddad, B.N. Alemdar, Efficient management of big datasets using HDF and
[142] V. Venkatasubramanian, A. Sivaram, L. Das, A unfied theory of emergent equilib
SQLite: a comparative study based on building simulation data, in: Comput. Civ.
rium phenomena in active and passive matter, Comput. Chem. Eng. 164 (2022)
Eng. 2015, American Society of Civil Engineers, Reston, VA, 2015, p. 249.
107887, https://doi.org/10.1016/j.compchemeng.2022.107887.
[170] C.R. Harris, K.J. Millman, S.J. van der Walt, R. Gommers, P. Virtanen, D. Cour
[143] S.S. Khali, F. Peruani, D. Chaudhuri, When an active bath behaves as an equilib
napeau, E. Wieser, J. Taylor, S. Berg, N.J. Smith, et al., Array programming with
rium one, Phys. Rev. E 109 (2024) 024120, https://doi.org/10.1103/PhysRevE.
NumPy, Nature 585 (2020) 357, https://doi.org/10.1038/s41586-020-2649-2.
109.024120.
[171] S. van der Walt, S.C. Colbert, G. Varoquaux, The NumPy array: a structure for
[144] F. Dittrich, T. Speck, P. Virnau, Critical behavior in active lattice models of motility efficient numerical computation, Comput. Sci. Eng. 13 (2011) 22, https://doi.org/
induced phase separation, Eur. Phys. J. E 44 (2021) 53, https://doi.org/10.1140/ 10.1109/MCSE.2011.37.
epje/s10189-021-00058-1. [172] P. Virtanen, R. Gommers, T.E. Oliphant, M. Haberland, T. Reddy, D. Cournapeau,
[145] J.T. Siebert, F. Dittrich, F. Schmid, K. Binder, T. Speck, P. Virnau, Critical behavior E. Burovski, P. Peterson, W. Weckesser, J. Bright, et al., SciPy 1.0: fundamental
of active Brownian particles, Phys. Rev. E 98 (2018) 030601(R), https://doi.org/ algorithms for scientific computing in Python, Nat. Methods 17 (2020) 261, https://
10.1103/PhysRevE.98.030601. doi.org/10.1038/s41592-019-0686-2.
[146] N. Gnan, C. Maggi, Critical behavior of quorum-sensing active particles, Soft Matter [173] J.D. Hunter, Matplotlib: a 2D graphics environment, Comput. Sci. Eng. 9 (2007)
18 (2022) 7654, https://doi.org/10.1039/D2SM00654E. 90, https://doi.org/10.1109/MCSE.2007.55.
[147] A. Sinha, D. Chaudhuri, How reciprocity impacts ordering and phase separa [174] S. van der Walt, J.L. Schönberger, J. Nunez-Iglesias, F. Boulogne, J.D. Warner, N.
tion in active nematics?, Soft Matter 20 (2024) 788, https://doi.org/10.1039/ Yager, E. Gouillart, T. Yu, scikit-image: image processing in Python, PeerJ 2 (2014)
D3SM00795B. e453, https://doi.org/10.7717/peerj.453.
[148] R. Wittkowski, A. Tiribocchi, J. Stenhammar, R.J. Allen, D. Marenduzzo, M.E. [175] H. Löwen, Inertial effects of self-propelled particles: from active Brownian to active
Cates, Scalar 𝜙4 field theory for active-particle phase separation, Nat. Commun. Langevin motion, J. Chem. Phys. 152 (2020) 040901, https://doi.org/10.1063/1.
5 (2014) 4351, https://doi.org/10.1038/ncomms5351. 5134455.
[149] X.-q. Shi, G. Fausti, H. Chaté, C. Nardini, A. Solon, Self-organized critical coex [176] A.K. Omar, K. Klymko, T. GrandPre, P.L. Geissler, Phase diagram of active Brownian
istence phase in repulsive active particles, Phys. Rev. Lett. 125 (2020) 168001, spheres: crystallization and the metastability of motility-induced phase separation,
https://doi.org/10.1103/PhysRevLett.125.168001. Phys. Rev. Lett. 126 (2021) 188002, https://doi.org/10.1103/PhysRevLett.126.
[150] C.B. Caporusso, P. Digregorio, D. Levis, L.F. Cugliandolo, G. Gonnella, Motility 188002.
induced microphase and macrophase separation in a two-dimensional active Brow [177] A.P. Thompson, H.M. Aktulga, R. Berger, D.S. Bolintineanu, W.M. Brown, P.S.
nian particle system, Phys. Rev. Lett. 125 (2020) 178004, https://doi.org/10.1103/ Crozier, P.J. in ’t Veld, A. Kohlmeyer, S.G. Moore, T.D. Nguyen, et al., LAMMPS
PhysRevLett.125.178004. - a flexible simulation tool for particle-based materials modeling at the atomic,
[151] M.N. van der Linden, L.C. Alexander, D.G. Aarts, O. Dauchot, Interrupted motility meso, and continuum scales, Comput. Phys. Commun. 271 (2022) 108171, https://
induced phase separation in aligning active colloids, Phys. Rev. Lett. 123 (2019) doi.org/10.1016/j.cpc.2021.108171.
098001, https://doi.org/10.1103/PhysRevLett.123.098001. [178] B. ten Hagen, S. van Teeffelen, H. Löwen, Brownian motion of a self-propelled par
[152] M. Paoluzzi, D. Levis, I. Pagonabarraga, From motility-induced phase-separation to ticle, J. Phys. Condens. Matter 23 (2011) 194119, https://doi.org/10.1088/0953-
glassiness in dense active matter, Commun. Phys. 5 (2022) 111, https://doi.org/ 8984/23/19/194119.
10.1038/s42005-022-00886-3. [179] G.-J. Liao, S.H.L. Klapp, Clustering and phase separation of circle swimmers dis
[153] L. Caprini, U.M.B. Marconi, C. Maggi, M. Paoluzzi, A. Puglisi, Hidden velocity persed in a monolayer, Soft Matter 14 (2018) 7873, https://doi.org/10.1039/
ordering in dense suspensions of self-propelled disks, Phys. Rev. Res. 2 (2020) C8SM01366G.
023321, https://doi.org/10.1103/PhysRevResearch.2.023321. [180] H. Löwen, Chirality in microswimmer motion: from circle swimmers to active tur
[154] J.U. Klamser, S.C. Kapfer, W. Krauth, A kinetic-Monte Carlo perspective on active bulence, Eur. Phys. J. Spec. Top. 225 (2016) 2319, https://doi.org/10.1140/epjst/
matter, J. Chem. Phys. 150 (2019) 144113, https://doi.org/10.1063/1.5085828. e2016-60054-6.
20
L. Hecht, K.-R. Dormann, K.L. Spanheimer et al. Computer Physics Communications 309 (2025) 109483
[181] S. van Teeffelen, H. Löwen, Dynamics of a Brownian circle swimmer, Phys. Rev. E [210] V.M. Kendon, M.E. Cates, I. Pagonabarraga, J.-C. Desplat, P. Bladon, Inertial effects
78 (2008) 020101, https://doi.org/10.1103/PhysRevE.78.020101. in three-dimensional spinodal decomposition of a symmetric binary fluid mixture: a
[182] G. Volpe, S. Gigan, G. Volpe, Simulation of the active Brownian motion of a mi lattice Boltzmann study, J. Fluid Mech. 440 (2001) 147, https://doi.org/10.1017/
croswimmer, Am. J. Phys. 82 (2014) 659, https://doi.org/10.1119/1.4870398. S0022112001004682.
[183] J. Bickmann, S. Bröker, J. Jeggle, R. Wittkowski, Analytical approach to chiral ac [211] Y. Zhang, A. Xu, G. Zhang, Y. Gan, Z. Chen, S. Succi, Entropy production in thermal
tive systems: suppressed phase separation of interacting Brownian circle swimmers, phase separation: a kinetic-theory approach, Soft Matter 15 (2019) 2245, https://
J. Chem. Phys. 156 (2022), https://doi.org/10.1063/5.0085122. doi.org/10.1039/C8SM02637H.
[184] M.E. Cates, J. Tailleur, When are active Brownian particles and run-and-tumble par [212] S. Maneewongvatana, D.M. Mount, Analysis of approximate nearest neighbor
ticles equivalent? Consequences for motility-induced phase separation, Europhys. searching with clustered point sets, arXiv:cs/9901013v1 [cs.CG], 1999.
Lett. 101 (2013) 20010, https://doi.org/10.1209/0295-5075/101/20010. [213] D. Levis, L. Berthier, Clustering and heterogeneous dynamics in a kinetic Monte
[185] A.P. Solon, M.E. Cates, J. Tailleur, Active Brownian particles and run-and-tumble Carlo model of self-propelled hard disks, Phys. Rev. E 89 (2014) 062301, https://
particles: a comparative study, Eur. Phys. J. Spec. Top. 224 (2015) 1231, https:// doi.org/10.1103/PhysRevE.89.062301.
doi.org/10.1140/epjst/e2015-02457-0. [214] L.F. Cugliandolo, P. Digregorio, G. Gonnella, A. Suma, Phase coexistence in two
[186] M. Khatami, K. Wolff, O. Pohl, M.R. Ejtehadi, H. Stark, Active Brownian particles dimensional passive and active dumbbell systems, Phys. Rev. Lett. 119 (2017)
and run-and-tumble particles separate inside a maze, Sci. Rep. 6 (2016) 37670, 268002, https://doi.org/10.1103/PhysRevLett.119.268002.
https://doi.org/10.1038/srep37670. [215] F. Peruani, J. Starruß, V. Jakovljevic, L. Søgaard-Andersen, A. Deutsch, M. Bär,
[187] T. Vicsek, A. Czirók, E. Ben-Jacob, I. Cohen, O. Shochet, Novel type of phase tran Collective motion and nonequilibrium cluster formation in colonies of gliding bac
sition in a system of self-driven particles, Phys. Rev. Lett. 75 (1995) 1226, https:// teria, Phys. Rev. Lett. 108 (2012) 098102, https://doi.org/10.1103/PhysRevLett.
doi.org/10.1103/PhysRevLett.75.1226. 108.098102.
[188] F. Ginelli, The physics of the Vicsek model, Eur. Phys. J. Spec. Top. 225 (2016) [216] F. Peruani, M. Bär, A kinetic model and scaling properties of non-equilibrium
2099, https://doi.org/10.1140/epjst/e2016-60066-8. clustering of self-propelled particles, New J. Phys. 15 (2013) 065009, https://
[189] É. Fodor, C. Nardini, M.E. Cates, J. Tailleur, P. Visco, F. van Wijland, How far doi.org/10.1088/1367-2630/15/6/065009.
from equilibrium is active matter?, Phys. Rev. Lett. 117 (2016) 038103, https:// [217] R.C. Maloney, G.-J. Liao, S.H.L. Klapp, C.K. Hall, Clustering and phase separation
doi.org/10.1103/PhysRevLett.117.038103. in mixtures of dipolar and active particles, Soft Matter 16 (2020) 3779, https://
[190] L.L. Bonilla, Active Ornstein-Uhlenbeck particles, Phys. Rev. E 100 (2019) 022601, doi.org/10.1039/C9SM02311A.
https://doi.org/10.1103/PhysRevE.100.022601. [218] I. Palaia, A. Šarić, Controlling cluster size in 2D phase-separating binary mixtures
[191] D. Martin, J. O’Byrne, M.E. Cates, É. Fodor, C. Nardini, J. Tailleur, F. van Wi with specific interactions, J. Chem. Phys. 156 (2022) 194902, https://doi.org/10.
jland, Statistical mechanics of active Ornstein-Uhlenbeck particles, Phys. Rev. E 1063/5.0087769.
103 (2021) 032607, https://doi.org/10.1103/PhysRevE.103.032607. [219] F. Peruani, L. Schimansky-Geier, M. Bär, Cluster dynamics and cluster size distri
[192] L. Caprini, A.R. Sprenger, H. Löwen, R. Wittmann, The parental active model: a uni butions in systems of self-propelled particles, Eur. Phys. J. Spec. Top. 191 (2010)
fying stochastic description of self-propulsion, J. Chem. Phys. 156 (2022) 071102, 173, https://doi.org/10.1140/epjst/e2010-01349-1.
https://doi.org/10.1063/5.0084213. [220] F. Peruani, A. Deutsch, M. Bär, Nonequilibrium clustering of self-propelled rods,
[193] J.D. Weeks, D. Chandler, H.C. Andersen, Role of repulsive forces in determining the Phys. Rev. E 74 (2006) 030904, https://doi.org/10.1103/PhysRevE.74.030904.
equilibrium structure of simple liquids, J. Chem. Phys. 54 (1971) 5237, https:// [221] T.A. Witten, L.M. Sander, Diffusion-limited aggregation, a kinetic critical phe
doi.org/10.1063/1.1674820. nomenon, Phys. Rev. Lett. 47 (1981) 1400, https://doi.org/10.1103/PhysRevLett.
[194] C. Scholz, S. Jahanshahi, A. Ldov, H. Löwen, Inertial delay of self-propelled parti 47.1400.
cles, Nat. Commun. 9 (2018) 5156, https://doi.org/10.1038/s41467-018-07596-x. [222] N. Kyriakopoulos, H. Chaté, F. Ginelli, Clustering and anisotropic correlated perco
[195] J. Su, Z. Cao, J. Wang, H. Jiang, Z. Hou, Dynamical and thermodynamical origins lation in polar flocks, Phys. Rev. E 100 (2019) 022606, https://doi.org/10.1103/
of motility-induced phase separation, Cell Rep. Phys. Sci. (2024) 101817, https:// PhysRevE.100.022606.
doi.org/10.1016/j.xcrp.2024.101817. [223] M. Sanoria, R. Chelakkot, A. Nandi, Percolation transition in phase-separating ac
[196] L. Caprini, R.K. Gupta, H. Löwen, Role of rotational inertia for collective phe tive fluid, Phys. Rev. E 106 (2022) 034605, https://doi.org/10.1103/PhysRevE.
nomena in active matter, Phys. Chem. Chem. Phys. 24 (2022) 24910, https:// 106.034605.
doi.org/10.1039/D2CP02940E. [224] S. Fehlinger, B. Liebchen, Collective behavior of active molecules: dynamic clusters,
[197] C. Dai, I.R. Bruss, S.C. Glotzer, Phase separation and state oscillation of active iner holes, and active fractalytes, Phys. Rev. Res. 5 (2023) L032038, https://doi.org/
tial particles, Soft Matter 16 (2020) 2847, https://doi.org/10.1039/C9SM01683J. 10.1103/PhysRevResearch.5.L032038.
[198] J.U. Klamser, S.C. Kapfer, W. Krauth, Thermodynamic phases in two-dimensional [225] A. Ghosh, Z. Budrikis, V. Chikkadi, A.L. Sellerio, S. Zapperi, P. Schall, Direct obser
active matter, Nat. Commun. 9 (2018) 5045, https://doi.org/10.1038/s41467-018- vation of percolation in the yielding transition of colloidal glasses, Phys. Rev. Lett.
07491-5. 118 (2017) 148001, https://doi.org/10.1103/PhysRevLett.118.148001.
[199] C.W. Stewart, R. van der Ree, A Voronoi diagram based population model for so [226] D. Johansen, J. Trewhella, D.P. Goldenberg, Fractal dimension of an intrinsically
cial species of wildlife, Ecol. Model. 221 (2010) 1554, https://doi.org/10.1016/j. disordered protein: small-angle X-ray scattering and computational study of the
ecolmodel.2010.03.019. bacteriophage 𝜆 N protein, Protein Sci. 20 (2011) 1955, https://doi.org/10.1002/
[200] C. Arcelli, G. Sanniti di Baja, Computing Voronoi diagrams in digital pictures, Pat pro.739.
tern Recognit. Lett. 4 (1986) 383, https://doi.org/10.1016/0167-8655(86)90060- [227] A.M. Brasil, T.L. Farias, M.G. Carvalho, Evaluation of the fractal properties of clus
7. ter? Cluster aggregates, Aerosol Sci. Technol. 33 (2000) 440, https://doi.org/10.
[201] L. Chen, G. Mukerjee, R. Dorfman, S.M. Moghadas, Disease risk assessment using 1080/02786820050204682.
a Voronoi-based network analysis of genes and variants scores, Front. Genet. 8 [228] J.M. Tenti, S.N. Hernández Guiance, I.M. Irurzun, Fractal dimension of diffusion
(2017), https://doi.org/10.3389/fgene.2017.00029. limited aggregation clusters grown on spherical surfaces, Phys. Rev. E 103 (2021)
[202] I. Vavilova, A. Elyiv, D. Dobrycheva, O. Melnyk, The Voronoi Tessellation Method 012138, https://doi.org/10.1103/PhysRevE.103.012138.
in Astronomy, Springer Nature Switzerland, Cham, 2021, p. 57. [229] M. Tokuyama, K. Kawasaki, Fractal dimensions for diffusion-limited aggregation,
[203] H. Hu, X. Liu, P. Hu, Voronoi diagram generation on the ellipsoidal Earth, Comput. Phys. Lett. A 100 (1984) 337, https://doi.org/10.1016/0375-9601(84)91083-1.
Geosci. 73 (2014) 81, https://doi.org/10.1016/j.cageo.2014.08.011. [230] H.G.E. Hentschel, Fractal dimension of generalized diffusion-limited aggregates,
[204] F. Aurenhammer, Voronoi diagrams—a survey of a fundamental geometric data Phys. Rev. Lett. 52 (1984) 212, https://doi.org/10.1103/PhysRevLett.52.212.
structure, ACM Comput. Surv. 23 (1991) 345, https://doi.org/10.1145/116873. [231] M. Paoluzzi, M. Leoni, M.C. Marchetti, Fractal aggregation of active particles, Phys.
116880. Rev. E 98 (2018) 052603, https://doi.org/10.1103/PhysRevE.98.052603.
[232] L. Bai, D. Breen, Calculating center of mass in an unbounded 2D environment, J.
[205] J. Burns, Centroidal Voronoi tesselations, http://www.whitman.edu/Documents/
Graph. Tools 13 (2008) 53, https://doi.org/10.1080/2151237X.2008.10129266.
Academics/Mathematics/burns.pdf. (Accessed 21 February 2024).
[233] A. Bray, Theory of phase-ordering kinetics, Adv. Phys. 43 (1994) 357, https://
[206] D.R. Nelson, M. Rubinstein, F. Spaepen, Order in two-dimensional binary
doi.org/10.1080/00018739400101505.
random arrays, Philos. Mag. A 46 (1982) 105, https://doi.org/10.1080/
[234] K. Wu, E. Otoo, A. Shoshani, Optimizing connected component labeling algorithms,
01418618208236211.
in: J.M. Fitzpatrick, J.M. Reinhardt (Eds.), Proc. SPIE 5747, Med. Imaging 2005
[207] L.F. Cugliandolo, G. Gonnella, Phases of active matter in two dimensions, arXiv:
Image Process., 2005, p. 1965.
1810.11833 [cond-mat.stat-mech], 2018.
[235] C. Fiorio, J. Gustedt, Two linear time unio-find strategies for image process
[208] E.P. Bernard, W. Krauth, Two-step melting in two dimensions: first-order liquid
ing, Theor. Comput. Sci. 154 (1996) 165, https://doi.org/10.1016/0304-3975(94)
hexatic transition, Phys. Rev. Lett. 107 (2011) 155704, https://doi.org/10.1103/
00262-2.
PhysRevLett.107.155704.
[236] R. Romero-Zaliz, J. Reinoso-Gordo, An Updated Review on Watershed Algorithms,
[209] J.-P. Hansen, I.R. McDonald, Theory of Simple Liquids, 3rd edition, Elsevier,
vol. 358, Springer Verlag, 2018, p. 235.
Burlington, 2006.
21