CRISP is a post-simulation analysis package built on the Atomic Simulation Environment (ASE). It is designed for efficient and insightful analysis of molecular dynamics (MD) and other simulations, enabling in-depth exploration with just a few lines of code, including powerful visualisation options.
- User-friendly: Optimised for ease of use with detailed examples and extensive outputs for nuanced data analysis.
- Highly parallelised: Utilises parallelisation techniques that scale linearly with the number of CPU cores, allowing for fast analysis of large systems and long simulations on high-performance computing clusters.
- Interactive Visualisation: HTML outputs to interact with, which can help to see structural changes.
- Integration: ASE, scikit-learn and other Python packages.
- Perform in-depth clustering analysis in molecular dynamics or Monte Carlo simulations using advanced algorithms like DBSCAN.
- Works with both periodic and non-periodic systems.
- Identify, visualise, and track distinct atom clusters to gain insights into unbiased clustering of selected atoms.
- Compute and plot partial radial distribution functions (PRDF) for selected atoms or atom types.
- Easily analyse radial relationships between atoms with periodic boundary conditions.
- Quantify atomic motion over time using MSD calculations, providing key insights into diffusion and dynamics.
- Customise analysis by selecting specific atom indices to focus on particular subsets of atoms.
- Identify and analyse hydrogen bonds with a single line of code.
- Customise hydrogen bond parameters or atom indices for detailed and specific analysis.
- Track structural parameters to understand the nature and stability of hydrogen bonds in your system.
- Compute average coordination numbers for specific atom types with customizable cutoffs.
- Analyse contact times of selected atom types to study dynamic behaviour efficiently.
- Accurately estimate the error of any computed property using statistical techniques.
- Choose between autocorrelation function or block averaging to calculate the error of the mean, improving result reliability.
- Assess simulation convergence by analysing vector or scalar properties like atomic positions or energy.
- Sample structures using Furthest Point Sampling (FPS) with SOAP descriptors.
- Efficiently subsample large databases or simulations by selecting the most diverse structures while avoiding redundancy.
- Create 3D volumetric density maps to visualise the spatial distribution of atoms throughout a trajectory
- Understanding diffusion pathways, adsorption sites etc.
This package is built around the ASE (Atomic Simulation Environment) and thus requires the installation of ASE, available at: ASE Installation Guide.
The clustering uses DBSCAN (Density-Based Spatial Clustering of Applications with Noise) implemented by scikit-learn, available at: scikit-learn Installation.
For interactive 3D plots of clustering, CRISP utilises the seaborn package. Ensure you have seaborn installed by following the instructions at: Seaborn Installation.
-
Now, for the testing period, just pull the folder to the local drive, and then go inside the "CRISP" folder locally inside the terminal.
-
In the same terminal type
pip install .
, then you can run the package in your local system environment globally.
or
pip install CRISP-ase
- In a virtual environment as a standalone installation, please install the dependencies via the command line, type
pip install ase>=3.23.0 scikit-learn>=1.4.2 seaborn>=0.12.2 joblib>=1.2.0 fpsample>=0.3.3 dscribe>=2.0.0 statsmodels>=0.14.0 pandas>=2.0.3 plotly>=5.9.0 networkx>=3.1
To learn how to use each of the modules, please visit examples.
Inside the example folder, check the Notebook to see them in use and also check the other folders of the example folder to see the outputs.
It has two sub-packages and ten modules.
Please see the package's UML map below.
The package is from the (Nano)Materials modelling group, at Charles University.
Email: [email protected]
If there is something you would like to see added to this package or if you would like to contribute,
please email us at [email protected] or [email protected]


