Quoll.jl
Quoll is a Julia package for loading, converting and post-processing quantum mechanics operators (Hamiltonians, overlaps, ...) that are expressed in an atomic-orbital basis. It provides a single internal canonical representation that acts as a pivot between code-specific formats such as FHI-aims and MACE-H, and it handles the bookkeeping that surrounds such operators — sparsity patterns, basis sets, spherical-harmonics conventions, k-point grids and spin channels.
Quoll ships in two forms:
- a library (
using Quoll) that exposes the type system and conversion pipeline for use from scripts, notebooks, or other packages, and - a CLI app (
quoll <input_file.toml>) that runs a TOML-configured pipeline over directories of operator data, optionally in parallel via MPI.
A typical use case is producing training data for machine-learning electronic structure models — for example, taking real-space Hamiltonians and overlaps from an FHI-aims calculation, projecting out the core basis functions, and writing the result in the DeepH layout expected by DeepH-E3 or MACE-H training pipelines.
Where to start
- New users should read the getting-started guide, which covers installation and walks through a small water example.
- For the TOML interface used by the app, see Input file.
- For the types and functions exposed by the library, see the API pages (Core, Components, Tools, Quoll.Projections, Quoll.Parser) and Operator interface.
- Contributors should look at the developer docs.