Generative models propose crystalline materials by learning composition and geometry, but unconditional sampling gives no direct control over the space group, which constrains whether responses such as piezoelectricity are symmetry-allowed. We present Orbitol, a crystal generator built on the Crystalite diffusion Transformer that replaces atom tokens with Wyckoff-orbit tokens. Given a space group and a collection of occupied Wyckoff positions, Orbitol generates the atom type and free coordinates of each orbit together with a compatible lattice, so every valid structure is invariant under the operations of the requested group. It generates structures two to three orders of magnitude faster than the symmetry-aware baselines at the evaluated settings. On MP-20, 13.8% of Orbitol's attempts yielded stable or metastable, unique and novel structures that retained the requested space group after relaxation, compared with 10.8% for SGFM, the next best model. We also introduce SPARC, a score that combines retention of the raw detected space group with agreement between the retained-group and training distributions. Finally, we used Orbitol to generate candidates in piezoelectric crystal classes. Of the structures selected by internal screening, 89% passed our density functional theory checks, and 79% also matched no Materials Project or Alexandria entry with the same space group. Their median figure of merit was nine times that of the piezoelectric materials computed in the Materials Project, and 24% of the new candidates ranked in that set's top 10%.
Figures & tables
Figure 1: Orbitol fills a skeleton with orbit tokens. (a) Illustration for FeSe ( P4/nmm ). The skeleton fixes the space group and the occupied Wyckoff rows 2a and 2c. Orbitol predicts an atom type for each orbit, the free height z of Se on row 2c, and the lattice parameters a and c . Each token represents two atoms of the cell. The coloured piece is the standard asymmetric unit of P4/nmm , 1/16 of the cell (enlarged on the left), and contains one representative of each orbit: Fe at a fixed point, Se on a vertical edge at height z . The 16 operations of the group generate copies of the asymmetric unit that tile the cell and place the other atoms (pale). (b) Discovery yield on MP-20 (MSUN, the percentage of 2,500 attempts that are stable or metastable, unique and novel) against the Jensen–Shannon divergence between the space groups of the samples after unconstrained relaxation and those of MP-20 train (tolerance 0.1 Å), for the ten symmetry-aware models of Table 1 ; bars are binomial standard errors. The Orbitol point is the mean over three sampling seeds from the checkpoint reported in Table 1 .
Figure 2: From a skeleton to a crystal, with rutile TiO 2 as the example. The skeleton specifies the space group P42/mnm and the occupied rows 2a and 4f . Orbitol generates one token for each: the atom type Ti with no free coordinate on 2a , and the atom type O with one free coordinate uk on 4f . Decoding expands these tokens into two fixed Ti atoms and four O atoms whose positions all depend on the same number x=uk+21 . The lattice token specifies a and c ; the tetragonal family sets b=a and right angles. The right panel shows the cell along c : pale lines and arrows show how the four O atoms move as uk increases, the ringed O at (x,x,0) is the representative, and pale Ti discs are periodic images of the Ti atom at the origin.
Figure 3: GEM for orbit tokens, with rutile as the example (TiO 2 , P42/mnm ; two Ti and four O atoms per cell). GEM turns interatomic distances into attention biases, but Orbitol has one token per orbit, so the atom-pair biases βg(a,b) are combined into one bias per pair of orbit tokens. The atoms of an orbit are related by the group operations and have the same set of distances to every other orbit, so one representative row r(k) per orbit is kept (pale rows are dropped). The atoms of a key orbit share one key and value, so we sum their attention weights: Bg[k,l]=log∑b∈lexpβg(r(k),b) gives the orbit the total weight of its atoms, as shown at the bottom for the Ti representative and the four O atoms. The lattice token has zero atom biases, so its row of Bg is the log atom count of each orbit. The orbit biases are added to the attention logits in every layer.
Discovery (%)
After relaxation
Model
SUN
MSUN
Joint yield
Requested group retained (%)
SPARC
P1 (%)
JSD (bits)
Space group conditioned
CrystaLLM
1.00
10.4
4.6
77.8 d
73.5
4.7
0.047
CrystaLLM- π
1.40
16.1
8.8
74.3 d
69.4
4.6
0.038
PLaID++ a
1.16
13.3
7.0
81.2 d
39.7
1.6
0.257
Space group enforced
Table 1: De novo generation on MP-20. Values are from 2,500 sampled attempts per model; the MP-20 Orbitol row is the mean over three sampling seeds, each metric averaged per seed. Metrics are defined in Section 4.2 . Training P1: 1.7% . Joint yield counts attempts that satisfy MSUN and retain the requested or declared group after relaxation, with symmetry detected at 0.1 Å. Bold marks maxima for SUN, MSUN, joint yield, requested group retained and SPARC, and the minimum JSD. Alex-MP-20 results and all models with marginal diagnostics are in Tables 7 and 8 .
Figure 4: Raw and relaxed symmetry on MP-20 at a positional detection tolerance of 0.1 Å. Hollow markers and pastel bars show raw outputs; filled markers and full-color bars show endpoints after 500 unconstrained FIRE steps. Panels show (a) P1 share on a linear axis, (b) crystal-system shares and (c) space-group JSD in bits on a logarithmic axis. The dashed line in (a) marks the P1 share of MP-20 train; the raw P1 share of PLaID++ (0.04%, one structure) is near zero. The dotted line in (c) marks the mean JSD of an ideal sampler of the training distribution with 2,500 draws: 0.0137 bits, with a 5th–95th percentile range of 0.0114–0.0160. Crystalite is our reproduction; SymmCD and WyFormer are retrained. PLaID++ uses released outputs with self-declared groups.
Figure 5: SPARC on MP-20. (a) SPARC by model (Equation 12 ); the dashed line marks the average score of an ideal sampler at 2,500 attempts (97.9). (b) The two factors of SPARC: the share of attempts whose relaxed space group equals the group detected in the raw output, and the distribution mismatch, one minus the squared Bhattacharyya coefficient between the groups of the retained structures and the training distribution (logarithmic axis, better toward the top). Curves connect points of equal SPARC; each is labeled once with its value. MiAD ( Rraw=12% ) lies outside the axes.
Figure 6: Sampling cost on MP-20 on one RTX 6000 Ada. (a) MSUN from Table 1 against sampling throughput; the dashed line is the frontier of the baselines. (b) Throughput, with Orbitol’s speedup over each baseline. Timings, measured after warm-up, run from the prior draw to decoded structures and count failed attempts. Each model uses its released sampler and the batch size with the highest measured throughput. Sampler settings match the quality evaluation, except for PLaID++, whose timing uses the released 4-bit generation recipe and whose quality results use a released output pool. Orbitol uses the sampler of Table 1 with 25 Heun steps. ∗ Measurement notes in Appendix C.7 .
Figure 7: Piezoelectric candidates under DFT. (a) Figure of merit d31g31 , maximized over orientations. Bars above the baseline show the 55 Orbitol candidates that pass both stability checks; bars below it show the 702 Materials Project materials with a non-zero piezoelectric tensor. Each bar covers a factor of 10 in d31g31 , and its height is the percentage of the set in that range; three MP values below 10−5 are counted in the first bar. The dashed line marks MP’s 90th percentile, 3.09; the arrow joins the two medians. (b) Energy above the hull of the MP and Alexandria phases for the same 55 candidates, in 10 meV/atom bins. The dashed line marks the metastability threshold of 0.1 eV/atom.
Appendix figures & tables14 assets
Supplementary material from the paper’s appendix.
Appendix
Figure 8: How crystal generators use the space group. Agnostic models do not specify it; Conditioned models receive or declare it without jointly constraining positions and lattice; Enforced models build it into the generated structure. Enforced models are divided by how they obtain the Wyckoff assignment (generated, supplied or implicit) and grouped by the coordinates they generate. Numbers in brackets are references. Table 2 lists the task, model family and lattice of each model.
Model
Task
Family
Wyckoff
Coordinates
Lattice
Agnostic
ADiT [ 37 ]
DNG
Flow
n/a
Latent
Free
ALM Gen, unconditional [ 14 ] †
DNG
Diffusion
n/a
Ambient
Free
CDVAE [ 9 ]
DNG
VAE
n/a
Ambient
Free
CrystalDiT [ 35 ]
DNG
Diffusion
n/a
Ambient
Free
Crystalite [ 2 ] †
Both
Diffusion
n/a
Ambient
Free
Appendix
Table 2: Classification of the crystal generators discussed in this paper, grouped as in Figure 8 . A dagger marks evaluated models, including symmetry-only comparisons; Task describes the model’s scope: de novo generation (DNG), crystal structure prediction (CSP) or both. Wyckoff distinguishes generated row identifiers, supplied rows and implicit assignments within Enforced models. Coordinates gives the evolving state, not the network input, and Lattice whether the lattice is free, constrained to the crystal family, or produced in a separate stage.
Row w
mw
dw
Site symmetry
Representative
Rutile TiO 2
CrF 4
2a
2
0
m.mm
(0,0,0)
Ti
2b
2
0
m.mm
(0,0,21)
4c
4
0
2/m..
(0,21,0)
4d
4
0
4ˉ..
(0,21,41)
4e
4
1
2.mm
(0,0,z)
4f
4
1
m.2m
(x,x,0)
O, x=0.305
Cr, x=0.130
Appendix
Table 3: The Wyckoff rows of P42/mnm (No. 136) in the standard setting and the orbits that rutile TiO 2 (mp-2657) and CrF 4 (mp-20488), both from the MP-20 training split, place on them. Free coordinates are given in the table convention, x=u+21 , rounded to three decimals.
Table 4: Settings of the two benchmark models (Orbitol-X). A value centered across both columns is shared. Table 5 lists the controls and the Orbitol-I variant; Appendix C.2 gives the evaluation details.
Dataset / role
Model / skip
λtype
Updates
Sampler
Seeds
MP-20 benchmark
X / sine
0.25
1.5M / 2.5M
25
3
MP-20 control
X / sine
1
400k / 500k
150
1
MP-20 control
X / EDM
1
400k / 500k
150
1
Alex-MP-20 benchmark
X / sine
0.5
650k / 1M
150
1
Alex-MP-20 application variant
I / sine
0.5
650k / 1M
150
1
Appendix
Table 5: Evaluated Orbitol configurations. All use width 512, distance GEM, target P and EMA weights. Updates are the evaluated checkpoint and full training schedule; each sampling seed gives 2,500 attempts. The sampler column gives Heun steps; full settings are in Table 4 . Orbitol-X uses representative inputs and projection readout; Orbitol-I uses chart-coordinate inputs and direct readout.
Metric
Definition
SUN, MSUN
Attempts that are valid, unique among the model’s 2,500 attempts and novel against LeMat-Bulk, with predicted energy above hull at most 0 (SUN) or at most 0.1 eV/atom (MSUN, which adds the metastable candidates to SUN). Yield counts all attempts with raw fallback. P1, JSD, retention and SPARC use relaxed structures and are not restricted to those counted in MSUN.
P1
Share of relaxed structures detected in P1, compared with the training share (1.7% on MP-20).
JSD
Jensen–Shannon divergence, in bits, between the space-group distribution of the relaxed structures and that of the training set. We compare detected distributions after relaxation; sampling training skeletons sets the requested-group distribution, not the detected histogram.
Requested group retained
Attempts whose eligible relaxed structure is detected in the requested group; for models that declare their own group, the declared group. For retention and SPARC, relaxing into a supergroup counts as a loss.
Joint yield
Attempts that satisfy MSUN and retain the requested or declared group after relaxation. Failures and implausible endpoints count as not retained.
SPARC
Attempts that retain their raw group through relaxation, weighted by how well the retained groups cover the training distribution (Equation 12 ).
Appendix
Table 6: Evaluation metrics. All rates are percentages. Yield, requested or declared retention, SPARC and joint yield use all 2,500 attempts. P1 and JSD use eligible relaxed detections; failures and implausible endpoints are excluded from these distributions and count as losses for retention, SPARC and joint yield.
Generation (%)
Discovery (%)
Model
Valid
Unique
Novel
SUN
MSUN
Raw P1 (%)
MP-20
Symmetry agnostic
Crystalite a
–
–
–
–
–
30.3
DiffCSP b
–
–
–
–
–
25.8
MatterGen b
–
–
–
–
–
20.9
Appendix
Table 7: Generation and discovery diagnostics for all models on MP-20 and Alex-MP-20. Values are from 2,500 sampled attempts per model; the MP-20 Orbitol-X row is the mean over three sampling seeds, each metric averaged per seed. Valid, Unique and Novel are separate LeMat percentages of attempts; Unique counts valid structures unique among the model’s attempts, and Novel counts valid structures absent from LeMat-Bulk. SUN and MSUN are joint unique and novel yields with Ehull≤0 and Ehull≤0.1 eV/atom, respectively, as percentages of attempts. Raw P1 is the percentage of detected structures in P1 before relaxation at symprec=0.1 Å. Training P1: MP-20 1.7% , Alex-MP-20 0.7% . Bold marks column maxima within each dataset, except P1. Agnostic models have no LeMat scores in our evaluation. Metric details are in Section 4.2 . Symmetry after relaxation is in Table 8 .
After relaxation
Model
Requested group retained (%)
SPARC
P1 (%)
JSD (bits)
MP-20
Symmetry agnostic
Crystalite a
–
39.0
21.5
0.177
DiffCSP b
–
34.6
28.3
0.247
MatterGen b
–
40.2
26.4
0.290
Appendix
Table 8: Symmetry after relaxation for all models on MP-20 and Alex-MP-20. Values are from 2,500 sampled attempts per model; the MP-20 Orbitol-X row is the mean over three sampling seeds, each metric averaged per seed. Retention is the percentage of attempts whose relaxed group equals the requested or declared group. SPARC combines retention of the raw detected group with coverage of the training distribution, on a scale from 0 to 100 (Equation 12 ). P1 is the percentage of detected relaxed structures in P1; JSD compares their group histogram with the training histogram of the same dataset, in bits. Detection uses symprec=0.1 Å; failed relaxations and implausible endpoints are excluded from the histograms and count as losses for retention and SPARC. Training P1: MP-20 1.7% , Alex-MP-20 0.7% . Bold marks maximum retention and SPARC and minimum JSD within each dataset. Agnostic models have no requested group. Metric details are in Section 4.2 .
Figure 9: Raw and relaxed symmetry at the stricter positional detection tolerance of 0.01 Å, with angle tolerance 5∘ . Models, samples, relaxation and endpoint exclusions are the same as in Figure 4 . Hollow markers and pastel bars show raw structures; filled markers and full-color bars show relaxed structures. Panels report P1 share on a linear axis, crystal-system shares and JSD in bits on a logarithmic axis, using MP-20 train detected at the same tolerance. Reference lines are as in Figure 4 , with the JSD ideal-sampler mean at this tolerance (0.0137 bits at 2,500 draws).
Model
Valid
Unique
Novel
Stable
Meta.
SUN
MSUN
Ehull
(%)
(%)
(%)
(%)
(%)
(%)
(%)
(eV/atom)
Our evaluation (Table 1 )
CrystaLLM
95.6
87.2
21.3
11.3
71.1
1.0
10.4
0.052
CrystaLLM- π
95.0
92.4
31.9
8.6
67.1
1.4
16.1
0.066
PLaID++
98.8
78.7
28.1
9.0
71.5
1.2
13.3
0.061
CrystalFormer
93.6
92.5
51.0
5.8
46.6
0.8
13.9
0.153
Appendix
Table 9: LeMat-GenBench metrics on MP-20. Our evaluation is that of Table 1 : 2,500 attempts per model, NequIP-OAM-L pre-relaxation, LeMat-GenBench with raw fallback. The leaderboard blocks are its MP-20 view, snapshot of 2026-10-06 [ 8 ] , grouped by the submission’s pre-relaxation flag; the leaderboard scores the structures that authors submit. The GEODE block is its Table 1 [ 22 ] . Scores are comparable only within a block. Values are as served or printed, except MSUN in our and the leaderboard blocks, which includes SUN (for the leaderboard, SUN plus its metastable column). Meta. denotes metastable. Bold marks the best value in each block (lowest Ehull ).
Model
Valid
Unique
Novel
Stable
Meta.
SUN
MSUN
Ehull
(%)
(%)
(%)
(%)
(%)
(%)
(%)
(eV/atom)
Our evaluation (Table 7 )
Orbitol
93.9
93.9
60.7
2.0
59.4
0.7
34.2
0.101
Reported by GEODE a
GEODE
95.0
94.9
54.1
–
57.7
–
25.8
0.102
GEODE ∗
95.0
94.9
52.5
–
61.8
–
29.2
0.084
Appendix
Table 10: LeMat-GenBench metrics on Alex-MP-20, as in Table 9 . The GEODE blocks are its Table 1 [ 22 ] ; its Alex-MP-20 baselines are copies of the LeMat-GenBench leaderboard. LeMat-Bulk contains Alexandria, so novelty is measured against a reference that overlaps the training source. Scores are comparable only within a block.
Model
Coordinate configuration
Training updates
SUN (%)
MSUN (%)
MP-20, coordinate skip; type weight 1
Orbitol-X
Representative / projection, P, sine skip
400k
1.24
17.1
Orbitol-X
Representative / projection, P, EDM skip
400k
1.16
18.9
Alex-MP-20, input and readout; type weight 0.5
Orbitol-X
Representative / projection, P, sine skip
650k
0.68
34.2
Orbitol-I
Chart / direct, P, sine skip
650k
0.72
36.6
Appendix
Table 11: Coordinate configurations under our common evaluation: 2,500 attempts, 500 unconstrained NequIP-OAM-L FIRE steps, and LeMat-GenBench scoring with raw fallback (Appendix C.2 ). The MP-20 pair shares target P and changes the coordinate skip; all four rows use distance GEM. The datasets form separate comparisons. SUN and MSUN are percentages of all attempts, and MSUN includes SUN. Each result is one trained model and one sampling seed; matching training updates does not control random variation.
σmax
σmin
N
γ
Smin
ρ
MSUN (%)
UN (%)
One-shot (%)
F0
Noise range and steps
checkpoint a
80
0.002
150
0.4
0
7
44.3
74.5
30.8
0.52
3
0.002
150
0.4
0
7
43.7
73.2
30.5
0.51
3
0.002
25
0.4
0
7
44.3
77.1
30.2
0.54
Endpoint noise at 25 steps
chosen a
3
0.01
25
0.4
0
7
44.7
76.5
31.6
0.44
Appendix
Table 12: Sampler sweep on the MP-20 Orbitol-X model of Table 1 (in-house evaluation: 10,000 samples per setting, every one relaxed with NequIP-OAM-L for 500 FIRE steps, MSUN and UN over all attempts against the MP-20 hull and training set). γ is the churn per step, min(Schurn/N,2−1) ; churn acts for noise levels above Smin ; Heun with N steps uses 2N−1 network evaluations. One-shot MSUN scores the raw samples; F0 is the median initial maximum force (eV/Å). Snoise=1.003 throughout.
Model
Batch
s per 1,000
Structures/s
NFE
Speedup
Symmetry agnostic
Crystalite
512
13.8
72
299
13
DiffCSP
100
260
3.8
2,000
240
MiAD
64
1,218
0.82
2,000
1,123
MatterGen a
64
5,044
0.20
2,000
4,647
ALM b
16
8,377
0.12
2,000
1,482
Appendix
Table 13: Sampling cost on one RTX 6000 Ada, per 1,000 attempts at each model’s batch size with the highest measured throughput. NFE is the number of network evaluations per structure (token positions for autoregressive models). Speedup is the time of the model divided by Orbitol’s 1.09 s, computed from unrounded times (for ALM, see note b).
The search for new crystalline materials spans an enormous compositional and structural space. Generating candidates in this space requires jointly modeling discrete crystallographic symmetry, elemental composition, and continuous geometry. We introduce DynaCrys, a generative model for crystals in which the space group co-evolves with Wyckoff occupations and elements through a coupled symbolic diffusion process. The structured space-group transitions follow crystallographic group-subgroup relations. As the space group changes, a shared, pretrained symmetry codebook provides both the legality-constrained stochastic decoder and the symmetry-constrained crystal-geometry model with a common representation of the corresponding Wyckoff vocabulary. Across large-scale evaluations using two independent relaxation-and-evaluation engines, DynaCrys achieves best-in-class performance in symmetry-aware discovery of stable, unique, and novel crystals, both overall and under the additional requirement of nontrivial post-relaxation symmetry. It also enables fast sampling while generating structures with consistently low relaxation-induced structural displacements.
Zhuotao Jin, Xiaoyun Wang, Nicholas Brawand +5
NVIDIA · Center for Computational Science and Engineering, Massachusetts Institute of Technology · Department of Materials Science and Engineering, Massachusetts Institute of Technology +4
Generative models have the potential to accelerate inorganic materials discovery by enabling inverse design, but generating experimentally realisable crystals remains challenging. Oxidation states are widely used to assess the compositional validity of crystals and guide inorganic materials discovery. While existing generative models for crystals can generate materials with charge-neutral oxidation-state assignments, they poorly reproduce the distributions of oxidation states observed in synthesised materials. To address this limitation, we propose OxiGen, an oxidation-state-aware crystal diffusion model that explicitly represents oxidation states during generation. OxiGen enforces global charge neutrality by construction using a structured output layer with exact inference over a finite-state automaton. Empirically, OxiGen substantially improves oxidation-state fidelity, generates the highest rate of stable, unique, and novel crystals among evaluated methods, and maintains high compositional validity even under property conditioning.
Dylan John, Kim E. Jelfs, Alex M. Ganose +1
Department of Chemistry, Imperial College London · Department of Electrical and Electronic Engineering, Imperial College London
Tackling the task of materials generation, we aim to enhance the previously proposed All-atom Diffusion Transformer (ADiT) by introducing SymADiT, a symmetry-aware variant. To do so, we use a representation of materials based on Wyckoff positions. We follow ADiT and perform generative modelling in latent space, adapted to our symmetry-aware representation. By forcing the output of the generative model to adhere to the symmetry restrictions imposed by the generated crystal's space group and each atom's Wyckoff-position, the generated materials exhibit more realistic symmetry properties. We benchmark our method against both symmetry-aware and symmetry-agnostic models for materials generation and show competitive performance, generating stable, symmetric materials with a simple Transformer architecture.
Department of Electrical Engineering (ISY) & AI4x, Linköping University · Department of Physics, Chemistry and Biology (IFM), Linköping University · Wallenberg Initiative Materials Science for Sustainability (WISE), Linköping University +1