OpenFerro Documentation

OpenFerro is a Python package for on-lattice atomistic dynamics simulation. Built on JAX, OpenFerro provides a high-performance framework for simulating lattice Hamiltonian models with GPU acceleration and auto-differentiation capabilities.

Key Features

  • GPU Support: Highly efficient for large-scale simulations with multi-GPU parallelization

  • Auto-differentiable: Native support for enhanced sampling and Hamiltonian optimization

  • Modular Design: Easy implementation of new interaction terms without deep codebase knowledge

  • Flexible Architecture: Supports simultaneous simulation of R^n and SO(3) local order parameters

Examples

Check the examples/ directory for various simulation examples:

  • BaTiO3 cooling simulation

  • bcc Fe heating

  • Simple cubic Ising model

  • PbTiO3/SrTiO3 superlattice

Contributing

OpenFerro is open source under the MIT license. Contributions are welcome!

License

This project is licensed under the MIT License.