Crate fastatomstruct

Source
Expand description

§FastAtomStruct

A high-performance Rust library for structural analysis of atomic systems and molecular dynamics simulations.

This library provides efficient implementations of various structural analysis tools commonly used in computational physics and chemistry, including:

  • Atomic Structure Management: Tools for handling atomic coordinates, velocities, forces, and metadata
  • Distance Calculations: Optimized distance computations with periodic boundary conditions and spatial hashing
  • Bond Order Parameters: Steinhardt order parameters and other local structural descriptors
  • Correlation Functions: Four-point correlation functions, intermediate scattering functions, and more
  • neighbour Analysis: Efficient neighbour finding, coordination numbers, and radial distribution functions
  • Dynamic Properties: Mean squared displacement, velocity autocorrelation, and viscosity calculations
  • Three-body Correlations: Angular correlation functions for local structure characterization
  • I/O Operations: Support for various file formats (XYZ, PDB, CIF, CP2K, Quantum ESPRESSO, etc.)

§Features

  • High Performance: Leverages Rust’s zero-cost abstractions and optional parallel processing with Rayon
  • Memory Efficient: Careful memory management for large-scale simulations
  • Python Integration: Optional Python bindings through PyO3 for easy integration with existing workflows
  • Flexible Filtering: Powerful atom filtering system based on elements, tags, and custom criteria
  • Periodic Boundaries: Native support for periodic boundary conditions in all calculations

§Module Organization

  • atoms: Core atomic data structures and manipulation tools
  • distance: Distance calculation algorithms and spatial indexing
  • bond_order: Steinhardt bond order parameters and spherical harmonics
  • fourpointcorrelation: Four-point correlation functions for dynamic heterogeneity
  • intermediatescattering: Coherent and incoherent intermediate scattering functions
  • neighbours: neighbour lists, coordination analysis, and radial distribution functions
  • meansquareddisplacement: Mean squared displacement and non-Gaussian parameters
  • three_body_correlation: Angular three-body correlation functions
  • velocity_autocorrelation: Velocity autocorrelation functions
  • viscosity: Viscosity calculations from stress tensor fluctuations
  • io: File I/O operations for various atomic structure formats
  • util: Utility functions and data structures

Modules§

atoms
Atoms Module
bond_order
Bond Order Parameters and Structural Analysis
distance
Distance Module
fourpointcorrelation
Four-Point Correlation Functions Module
intermediatescattering
Intermediate Scattering Functions Module
io
I/O Module
meansquareddisplacement
Mean Squared Displacement Module
neighbours
Neighbours Module
three_body_correlation
Three-Body Correlation Module
util
Utility Functions Module
velocity_autocorrelation
Velocity Autocorrelation Function Module
viscosity
Viscosity Calculation Module