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 CnC_n

  • Cyclical groups with vertical reflection CnvC_{nv}

  • Cyclical groups with horizontal reflection CnhC_{nh}

  • Dihedral groups DnD_n

  • Dihedral groups with horizontal reflection DnhD_{nh}

  • Dihedral groups with diagonal reflections DndD_{nd}

  • Polyhedral groups T,Th,Td,O,Oh,I,IhT, T_h, T_d, O, O_h, I, I_h

  • Rotoreflection groups SnS_n

  • Inversion group: CiC_i

  • Reflection group: CsC_s

Resources

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)

Table of Contents

Indices and tables