neural_paw_dft — Neural Electronic Initialization for PAW-DFT

Trained weights for the paper Complete Neural Electronic Initialization Accelerates Materials DFT (arXiv:2609.21759).

neural_paw_dft predicts a complete starting point for a VASP calculation from the structure alone: the total electron density and the spin-difference density on the FFT grid (ELECTRAFI, EScAIP backbone) and the PAW augmentation occupancies (AugNet, MACE backbone). Together they fill every block of a CHGCAR, so VASP starts from a near-converged density instead of a superposition of atomic charges.

Code: https://github.com/aerte/neural_paw_dft
ELECTRAFI architecture: https://github.com/Jotels/ELECTRAFI

Overview: ELECTRAFI and AugNet predict the total (ρ⁺) and spin (ρ⁻) densities and PAW one-center density matrices, combined into a CHGCAR for SCF or non-SCF DFT

Checkpoints

The file stem is the model's name in the neural_paw_dft registry (neural_paw_dft.models.REGISTRY); select models by that name.

ELECTRAFI — total density

Grid models built on the ELECTRAFI architecture (EScAIP backbone), predicting the total valence electron density on the VASP FFT grid, normalised to the exact electron count.

file description
electrafi_total.safetensors Default total-density model.
electrafi_total_v2.safetensors Same architecture and target, from an independent second training run.

Spin-ELECTRAFI — total and spin-difference density

ELECTRAFI extended with a spin head: predicts the total density and the spin-difference density ρ↑ − ρ↓ on the grid.

file description
electrafi_spin_constrained.safetensors Net moment rescaled to a prescribed value at inference; the pipeline supplies the sum of CHGNet's site moments.
electrafi_spin_unconstrained.safetensors No moment input; the net moment is whatever the network predicts.

AugNet — total augmentation occupancies

MACE-backbone models predicting the PAW augmentation occupancies for the total density, i.e. the per-atom coefficient blocks in the augmentation occupancies section of a CHGCAR. Each file has a *.config.json sidecar with the architecture needed to rebuild it.

file training structures description
augnet_total_full.safetensors full Default AugNet.
augnet_total_50k.safetensors 50k Data-scaling ablation.
augnet_total_10k.safetensors 10k Data-scaling ablation.
augnet_total_1k.safetensors 1k Data-scaling ablation.

Spin-AugNet — spin augmentation occupancies

Same backbone, trained on the magnetisation channel: PAW augmentation occupancies for the spin-difference density. Pairs with the Spin-ELECTRAFI models.

file training structures description
augnet_spin_full.safetensors full Default spin AugNet.

Usage

Install the code from https://github.com/aerte/neural_paw_dft, then:

import torch
from ase.build import bulk
from pymatgen.io.ase import AseAtomsAdaptor
from neural_paw_dft.pipeline.config import ElectrafiConfig
from neural_paw_dft.pipeline.electrafi import load_electrafi, predict_density

structure = AseAtomsAdaptor.get_structure(bulk("Fe", "bcc", a=2.87))
cfg = ElectrafiConfig(checkpoint="electrafi_total", spin=False)
model = load_electrafi(cfg, torch.device("cpu"), n_atoms=len(structure))
rho, _ = predict_density(model, structure, (32, 32, 32), n_elec=8.0)

The spin models return the spin-difference grid as well. electrafi_spin_constrained pins its net moment to m_total and raises without it; the pipeline uses the sum of CHGNet's unsigned site moments (the paper's convention), which you can reproduce directly:

from chgnet.model import CHGNet

m_total = float(CHGNet.load(use_device="cpu").predict_structure(structure)["m"].sum())
cfg = ElectrafiConfig(checkpoint="electrafi_spin_constrained", spin=True)
model = load_electrafi(cfg, torch.device("cpu"), n_atoms=len(structure))
rho, rho_spin = predict_density(model, structure, (32, 32, 32), n_elec=8.0, m_total=m_total)

electrafi_spin_unconstrained needs no m_total (any value passed is ignored). Densities are in e/ų on the grid; n_elec is the valence electron count of the POTCARs (8 for the one Fe_pv atom in this primitive cell).

or run the whole pipeline (CHGNet moments → ELECTRAFI grids → AugNet occupancies → VASP-ready directory with CHGCAR, INCAR, POSCAR, POTCAR, KPOINTS):

ndi config-template > ndi.yaml
ndi build POSCAR --config ndi.yaml --out seed/

Always select a model by registry name, not by file path. The training config (spin arm, spin_renorm) is resolved from the name; a bare path cannot be resolved and raises.

On the weights

These are inference-only safetensors exports. The Lightning training checkpoints (with optimizer state) are not published.

ELECTRAFI weights are bitwise identical to the training checkpoints. safetensors is a lossless container, so predicted densities are bit-for-bit those of the original runs.

AugNet weights were converted out of the cuEquivariance layout and reproduce the original runs to ~1e-7 relative. The published files carry no cuEquivariance dependency, so AugNet inference runs on torch + mace-torch + e3nn alone. The conversion un-fuses cuEquivariance's packed symmetric-contraction tensor into per-contraction e3nn weights (mace.cli.convert_cueq_e3nn), then changes basis from the reduced Clebsch–Gordan basis (which MACE only builds when cuequivariance is importable) to the full _wigner_nj basis. The reduced basis lies exactly inside the span of the full one, so the change of basis is exact (least-squares residual ~1e-16); the remaining ~1e-7 is float32 round-off from running different but mathematically equivalent kernels. Verified on NaCl, Si and FeO for all five AugNet models with cuequivariance uninstallable. If you need bitwise reproduction of the original AugNet runs, ask for the cuEquivariance checkpoints.

The AugNet sidecars record "use_reduced_cg": false. MACE otherwise picks its Clebsch–Gordan basis from whether cuequivariance is importable, which changes the symmetric-contraction weight shapes; neural_paw_dft pins the value so the same weights load the same way everywhere. U_matrix_* buffers are omitted from the files because they are constants recomputed at construction.

License

The weights are released under CC BY-NC 4.0: free for noncommercial use with attribution. If you use them in a publication, please cite the paper above.

Citation

If you use this work, please cite:

Ærtebjerg, Felix, Jonas Elsborg, and Arghya Bhowmik. "Complete Neural Electronic Initialization Accelerates Materials DFT." arXiv preprint arXiv:2609.21759 (2026).

@article{aertebjerg2026complete,
  title   = {Complete Neural Electronic Initialization Accelerates Materials DFT},
  author  = {{\AE}rtebjerg, Felix and Elsborg, Jonas and Bhowmik, Arghya},
  journal = {arXiv preprint arXiv:2609.21759},
  year    = {2026}
}

Copyright (c) 2026 Felix Ærtebjerg

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for faerte/neural_paw_dft