CrystAF

Weights for Where Should Physics Enter a Molecular Crystal Generator? (Haocheng Tang, Junmei Wang, Wengong Jin).

CrystAF is an all-atom molecular crystal flow map z_t = z_r + (t - r) U(z_r, r, t), distilled from Clari-M with AnyFlow. One adapter serves 8-50 NFE. CrystAF-UMA is CrystAF post-trained with negative-aware fine-tuning, using the UMA-OMC potential as a black-box reward: energy, force, stress, eligibility and cell volume.

Code, configs and evaluation scripts: https://github.com/HaCTang/CrystAF

Results

200 CSD validation families x 20 samples, 32 NFE (Clari-M: 99 NFE), summary.paper_bootstrap.

Model PB % ↑ Clash % ↓ Vol.Err ↓ PDD ↓ ms / sample
Clari-M 85.30 9.05 1.83 10.19 289
CrystAF-base 89.32 11.33 1.95 10.44 396
CrystAF-UMA 93.01 7.98 1.88 10.25 398
CrystAF-UMA + 10 UMA relaxation steps 93.65 4.41 1.95 10.39 2462
CrystAF-UMA + parity, MMFF, declash 93.43 2.80 1.93 10.78 930

The classical chain also raises R/S stereo agreement from about 48% to 95%. The generator cannot learn stereochemistry because its graph features are identical for both enantiomers.

Files

File Model
crystaf-cont3-step2000.pt CrystAF-base (distilled, before post-training)
crystaf-uma-rl-seed929-epoch6.pt CrystAF-UMA
teacher-rank800-pbnft-epoch1.pt Clari-M distillation teacher (LoRA merged)
crystaf-nft-mfpure-epoch12.pt PoseBusters-ranked reward comparison
clari-m-uma-nft-epoch1.pt, clari-l-uma-nft-epoch1.pt UMA post-training on Clari-M / Clari-L
molcrystalflow-uma-nft-phaseB-epoch12.pt UMA post-training on MolCrystalFlow

Each CrystAF file holds net_state_dict, ema_state_dict and meta; evaluate with the EMA weights. The Clari-M backbone is needed to build the network and is not redistributed here:

from huggingface_hub import hf_hub_download

student = hf_hub_download("Haocheng1/CrystAF", "crystaf-uma-rl-seed929-epoch6.pt")
backbone = hf_hub_download("the-matter-lab/clari", "clari-med.ckpt")

Sample with the interval flow-map sampler (MEANFLOW_SAMPLER_MODE=interval), not Clari's Heun sampler, on the grid t_i = (i/N)^rho with rho = 0.30 / 0.75 / 1 for N = 8 / 16 / 32-50. The evaluation data are derived from the CSD and cannot be redistributed; the GitHub repository documents how to build them.

License

CC-BY-NC-4.0, inherited from the Clari model weights. Please also credit the-matter-lab/clari.

@misc{tang2026physics,
  title  = {Where Should Physics Enter a Molecular Crystal Generator?},
  author = {Tang, Haocheng and Wang, Junmei and Jin, Wengong},
  year   = {2026}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Video Preview
loading

Model tree for Haocheng1/CrystAF

Finetuned
(1)
this model