minducer / README.md
aibergman's picture
Fix Hugging Face Space metadata
fc8fd43
|
Raw
History Blame Contribute Delete
3.92 kB

A newer version of the Gradio SDK is available: 6.26.0

Upgrade
metadata
title: Induced-Moment Exchange Explorer
emoji: 🧲
colorFrom: indigo
colorTo: green
sdk: gradio
sdk_version: 5.50.0
python_version: '3.10'
app_file: app.py
license: gpl-3.0
fullWidth: true
short_description: Explore UppASD exchange, induced moments, and magnons.

Induced-Moment Exchange Explorer

Induced-Moment Exchange Explorer is a Python library and Gradio application for analysing atomistic exchange models supplied in UppASD-style input files. It keeps the supplied exchange data explicit, evaluates reciprocal-space exchange, models selected sites as instantaneous induced moments, downfolds those sites, and calculates collinear-FM magnon diagnostics.

The project is intended for transparent model analysis. It does not infer an electronic susceptibility from a conventional Jij file or silently repair incomplete exchange input.

UppASD Hamiltonian convention

The native convention is the literal UppASD scalar-Heisenberg jfile convention:

H = - sum_(i != j) Jij e_i · e_j

The sum is over ordered pairs, so a pair-complete file contains both (i,j) and (j,i). Positive Jij is ferromagnetic. The parser stores the numerical jfile values unchanged, J(q) is the Fourier transform of those literal values, and exported dressed jfile values use the same convention without a factor-of-two conversion.

The factor ledger is:

quantity factor origin
J(q) 1 literal jfile Fourier transform
local exchange field 2 derivative of the ordered-pair Hamiltonian
magnon energy 2*g ordered-pair curvature times one gyromagnetic/Landé factor
global pair energy ordered-pair sum native UppASD convention
thermal white-noise factor 2 fluctuation-dissipation normalization; unrelated to pair counting

For a different source convention, convert at the boundary with convert_exchange_to_uppasd: a single-counted pair Hamiltonian -sum_<ij> J' e_i·e_j and a -1/2 ordered double sum both use J_UppASD = J'/2 (or J''/2). An AF-positive ordered convention requires a sign change. A spin-S Hamiltonian written with unit directions first absorbs the spin magnitudes into its pair coefficient and then applies the same single-counted conversion.

Start here

Run the application locally:

python -m pip install -r requirements.txt
python app.py

For library-only work, install the package and run the input inspector:

python -m pip install -e .
induced-exchange-uppasd examples/fept_style/inpsd.dat

The application includes small CPU-friendly examples under examples/. Upload an inpsd.dat with its referenced posfile, momfile, and exchange file; the explicit cell in inpsd.dat is required for reciprocal-space calculations.

Documentation

Validation

Run the test suite from the repository root:

PYTHONPATH=src pytest -q

The bundled tests cover input parsing, reciprocal-space conventions, symmetry expansion, induced-response conditioning, variational downfolding, and FM magnon behaviour.

References

  • O. N. Mryasov et al., “Temperature-dependent magnetic properties of FePt: Effective spin Hamiltonian model,” Europhysics Letters 69, 805 (2005), arXiv:physics/0411020.
  • S. Polesya et al., “Finite-temperature magnetism of Fe$x$Pd${1-x}$ and Co$x$Pt${1-x}$ alloys,” Physical Review B 82, 214409 (2010), arXiv:1008.3784.