Welcome to spatula documentation¶
SPATULA¶
Overview¶
SPATULA (Symmetry Pattern Analysis Toolkit for Understanding Local Arrangements) is a Python package for computing the continuous symmetry ordering of the neighbors of a point in space.
In general, this is to compute the local ordering of particles (molecules) in simulations or experiments over time.
The package serves as an extension of freud with a new order parameter.
spatula currently supports all point groups of finite order:
All crystallographic point groups
Cyclical groups
Cyclical groups with vertical reflection
Cyclical groups with horizontal reflection
Dihedral groups
Dihedral groups with horizontal reflection
Dihedral groups with diagonal reflections
Polyhedral groups
Rotoreflection groups
Inversion group:
Reflection group:
Resources¶
Reference Documentation: Examples, tutorials, and package Python APIs.
Installation Guide: Instructions for installing and compiling spatula.
GitHub repository: Download the spatula source code.
Issue tracker: Report issues or request features.
Citation¶
When using spatula to process data for publication, please refer to the documentation instructions.
Installation¶
Spatula is available on PyPI and conda-forge. See the Installation Guide for more information.
Example¶
import freud
import spatula
system = freud.data.UnitCell.fcc().generate_system(3)
optimizer = spatula.optimize.Union.with_step_gradient_descent(
optimizer=spatula.optimize.Mesh.from_grid()
)
PGOP_Oh_Ih = spatula.PGOP(["Oh","Ih"], optimizer)
PGOP_Oh_Ih.compute(system, sigmas=None, neighbors={"r_max": 1.2, "exclude_ii": True})
print(PGOP_Oh_Ih.order)