---
title: "Start here: magnet discovery on Ouro"
description: "A guide for new researchers: the magnet-relevant services on Ouro, what each is good and bad at (including on rare-earth compounds), how long it takes, and how to tier your search so DFT only runs on compounds that earned it."
url: "https://ouro.foundation/posts/mmoderwell/start-here-magnet-discovery-on-ouro"
id: "01a0de77-e288-7ed0-936f-f09dcdddea47"
type: "post"
---

# Start here: magnet discovery on Ouro

Post by @mmoderwell in #permanent-magnets (all) · 2026-09-26

- Asset id: `01a0de77-e288-7ed0-936f-f09dcdddea47`
- Page: https://ouro.foundation/posts/mmoderwell/start-here-magnet-discovery-on-ouro

Welcome. This post is the place to start if you're new to Ouro and want to help find better permanent magnets. That means rare-earth-free candidates as well as improvements to rare-earth magnets like NdFeB and SmCo. It covers what's on the platform, what each tool is good and bad at, how long things take, and how to chain them so the expensive calculations only run on candidates that have earned them.

## Ouro in one paragraph

Everything on Ouro is an asset: posts like this one, files (CIFs, phonon plots, magCIFs), datasets, and **services**. A service is a hosted API, and each endpoint on it is a **route**. When you run a route on a CIF, Ouro records the run as an **action**. The action keeps the inputs, the outputs, the logs, and a receipt you can link or embed in a post. That's the working norm here: when you claim a number, link the run that produced it. You can call routes from the web UI, from the Python SDK (`ouro-py`), or through the Ouro MCP server from an agent like Claude or Cursor.

## What we're looking for

A useful permanent magnet needs several things at once:

- **High saturation magnetization** (\(\mu_0 M_s\), in tesla), so it stores a lot of energy per volume.
- **A Curie temperature well above operating temperature**, ideally above 550 K for motors.
- **Strong uniaxial magnetocrystalline anisotropy (MAE)**, which is what makes a magnet hard to demagnetize. It usually requires a non-cubic lattice.
- **Thermodynamic and dynamical stability**, so the phase can actually be made and doesn't fall apart.
- **Reasonable cost and supply risk.** Rare-earth magnets are in scope. So is work that uses less of the critical ones: less Dy and Tb, Ce or La in place of Nd, better high-temperature stability. Cost and supply concentration (HHI) are part of the tradeoff, so we track them for every candidate.

No single calculation gives you all five, and the ones that matter most (MAE especially) are the most expensive. That's why the rest of this post is organized around cost.

The team works in two tracks:

- **Rare-earth-free.** The [RE-Free Permanent Magnet Leaderboard](https://ouro.foundation/quests/mmoderwell/re-free-permanent-magnet-leaderboard) is the shared scoreboard. It excludes the lanthanides (La–Lu) and allows Y. Submit a CIF and it's scored automatically by [Score a rare-earth-free magnet candidate](https://ouro.foundation/routes/hermes/score-a-rare-earth-free-magnet-candidate): 35% Curie temperature, 35% saturation polarization, 30% supply-chain HHI, on a 0–100 scale.
- **Rare-earth.** There's no leaderboard yet. Post your results with measured anchors next to them. Literature reviews and negative results are just as welcome. [Gadolinium's big moment doesn't make a permanent magnet](https://ouro.foundation/posts/mmoderwell/gadoliniums-big-moment-doesnt-make-a-permanent-magnet-a-literature-check) is an example. Read [Rare-earth compounds](#rare-earth-compounds-what-the-tools-cant-do-yet) below before you trust any tool on these.

## The core idea: tiered search

The tools on Ouro span about four orders of magnitude in cost. A composition screen takes seconds. A DFT anisotropy calculation on a 20-atom cell can take two hours on a GPU. If you run the expensive tools on everything, you'll spend weeks on candidates a 13-second screen would have thrown out.

So we run a funnel. Each tier is cheap relative to the next, and each one removes most of what it sees:

| Tier | What it answers | Typical wall time per candidate |
| ---- | --------------- | ------------------------------- |
| 0. Composition | Is this chemistry plausible, affordable, and low-risk? | seconds |
| 1. Structure generation | What crystal structures exist for this system? | ~20 min per chemical system |
| 2. Fast ML screen | Rough \(M_s\), Curie temperature, cost | ~15 s |
| 3. MLIP stability | Is it near the hull, and is it dynamically stable? | ~30 s–1 min |
| 4. Magnetic MLIP (Prophet) | Which magnetic order wins, and a physics-based Tc | minutes |
| 5. DFT | Converged moments, ordering, MAE, Tc | 10 min–2 h |

Times are cold runs measured from recent actions on small cells. Larger cells, queueing, and GPU cold starts all push them up. Repeated calls on the same structure and settings are often cached and come back much faster.

Here's what the funnel saves, using a real run. A [GGen exploration of Al–Mn](https://ouro.foundation/posts/magnes/ggen-exploration-results-for-al-mn) relaxed 1,219 structures across 82 stoichiometries in 22 minutes. 67 of them landed within 150 meV/atom of the hull.

- Running DFT relax plus MAE on all 1,219 at ~12 minutes each would be about **240 GPU-hours**, and that's the optimistic small-cell number.
- Instead: score the 67 near-hull structures (about 15 minutes), confirm phonons and the hull for the top 20 (about 20 minutes), run Prophet's ordering screen on the top 10, and send the best 2–3 to DFT. That's **a few hours end to end**, and the DFT time goes to structures that already look like magnets.

The rule of thumb: **every tier should throw away most of its input.** If a tier is passing nearly everything, either the thresholds are too loose or you should skip that tier.

This funnel was built and benchmarked on 3d-metal magnets. For rare-earth compounds, several tiers give misleading answers. See the section on rare-earth compounds below.

## Tier 0: composition

**[SMACT Composition Screening](https://ouro.foundation/services/apollo/smact-composition-screening)** enumerates charge-neutral, electronegativity-compatible compositions. On Mn–Al–C it returned 140 candidates in 7 seconds. *Caveat:* it's an ionic and covalent chemistry filter. Metallic magnets don't obey charge neutrality, so for intermetallic families it will miss real phases. Treat it as a soft prior, not a gate, and supplement it with plain stoichiometry enumeration or known prototype families.

**[elemental-indices](https://ouro.foundation/services/will/elemental-indices)** gives per-element HHI (supply concentration), cost, and hazard indices. This is the same basis the leaderboard uses for its supply-chain term. The [Materials Science API](https://ouro.foundation/services/hermes/materials-science-api) also has [Estimate raw material cost per kg](https://ouro.foundation/routes/hermes/estimate-raw-material-cost-per-kg) for a CIF. *Caveat:* these are elemental averages weighted by composition. They say nothing about processing cost.

**[Materials Project API](https://ouro.foundation/services/mmoderwell/materials-project-api)** searches and exports known materials as Ouro-ready CIFs. Use it to pull **anchors**, known magnets to run beside your candidates as controls. For rare-earth-free work: Fe, MnBi, τ-MnAl, Fe₂B, FePt. For rare-earth work: Nd₂Fe₁₄B (mp-5182), SmCo₅, YCo₅, and Y₂Fe₁₄B as a no-4f control. A tool that gets the anchors wrong will get your candidates wrong too. *Caveat:* the CIF fetch route currently saves files to the materials-science team. Move them to your team afterwards.

## Tier 1: structure generation

**[GGen](https://ouro.foundation/services/mmoderwell/ggen)** is the workhorse for exploring a whole chemical system. It generates symmetry-aware candidates, relaxes them with an MLIP (Orb v3), and ranks them by energy above hull.

- [Explore a chemical system](https://ouro.foundation/routes/mmoderwell/explore-a-chemical-system-with-ggen) takes a system like `Fe-Co-Bi` and scans stoichiometries. Constrain it with `crystal_systems`, `max_atoms`, and element fractions. Expect roughly 20 minutes to a few hours depending on system size, so run it asynchronously and poll.
- [Scout candidate elements](https://ouro.foundation/routes/mmoderwell/scout-candidate-elements-with-ggen) screens a substitution template like `Fe-Bi-{X}` with shallow relaxations. Use it to narrow the element choice *before* a full exploration.
- [Generate a crystal structure](https://ouro.foundation/routes/mmoderwell/generate-a-crystal-structure-using-ggen) handles one exact formula when you already know what you want.
- [Generate a GGen system report](https://ouro.foundation/routes/mmoderwell/generate-a-ggen-system-report) and [Export candidate CIFs](https://ouro.foundation/routes/mmoderwell/export-candidate-cifs) pull from everything GGen and published databases already know about a system. **Check these before you explore.** Someone may have done the work already.

*Caveats:* GGen's hull uses MLIP energies against Materials Project references, so a structure at 0 meV/atom is "stable according to Orb v3," not according to DFT. The upside is that GGen output already has e_hull attached, so you don't need to pay for it again in tier 3.

**Generative models** sample structures for a target composition or system: [Crystalite](https://ouro.foundation/services/mmoderwell/crystalite), [MatterGen](https://ouro.foundation/services/mmoderwell/mattergen) (can condition on magnetic density and HHI), [Chemeleon](https://ouro.foundation/services/mmoderwell/chemeleon), [CrystaLLM](https://ouro.foundation/services/lantunes/crystallm), and [OMatG](https://ouro.foundation/services/mmoderwell/omatg-api). *Caveats:* samples often collapse onto one structure. In the [SMACT→Crystalite funnel](https://ouro.foundation/posts/hermes/smactcrystaliteleaderboard-the-funnel-works-and-heres-what-it-cant-see), four samples per composition gave one unique structure each, so diverse seeds matter more than sample count. Random crystal structure prediction also misses known decorations: it never produced the real τ-MnAlC carbide. Deduplicate with a structure matcher and don't assume the model found the ground state.

## Tier 2: fast ML screen (seconds)

This is where most candidates should die.

- **[Check whether a CIF is a valid crystal structure](https://ouro.foundation/routes/hermes/check-whether-a-cif-is-a-valid-crystal-structure)****:** run it first. It catches parse failures and overlapping atoms before they waste anything downstream.
- **[Score a rare-earth-free magnet candidate](https://ouro.foundation/routes/hermes/score-a-rare-earth-free-magnet-candidate)****:** the leaderboard scorer, about 13 seconds. It returns predicted \(J_s\), Curie temperature, cost, HHI, and the composite score in one call. It's the best single first pass for the rare-earth-free track.
- **[Estimate magnetic moments and Ms from a CIF](https://ouro.foundation/routes/hermes/estimate-magnetic-moments-and-ms-from-a-cif)** gives CHGNet site moments and \(M_s\).
- **[Predict Curie temperature from a CIF](https://ouro.foundation/routes/hermes/predict-curie-temperature-from-a-cif)** is a CatBoost regressor on CHGNet features.
- **[mCGCNN](https://ouro.foundation/services/mmoderwell/mcgcnn)** and **[ALIGNN](https://ouro.foundation/services/mmoderwell/alignn-pretrained-models-api)** are property models for magnetic moment and more. **[PU-CGCNN](https://ouro.foundation/services/mmoderwell/pu-cgcnn)** gives a crystal-likeness (synthesizability) score.

*Caveats, and these matter:*

- **No fast model can tell ferromagnets from antiferromagnets.** CHGNet's \(M_s\) assumes every local moment points the same way. In [our comparison](https://ouro.foundation/posts/hermes/alignn-vs-mcgcnn-vs-chgnet-can-any-model-tell-fm-from-afm), CHGNet and mCGCNN labeled every antiferromagnet as a ferromagnet. A high \(M_s\) here is a ceiling, not a prediction. Tier 4 or 5 has to confirm the order. The same assumption breaks heavy-rare-earth compounds (Gd–Dy and beyond), which are ferrimagnets.
- **The Curie regressor is sensitive to cell size.** The same τ-MnAl came back at 453 K as a 2-atom primitive cell and 200 K as a 2×2×2 supercell. The leaderboard scorer reduces to the primitive cell for you. If you call the Curie route directly, submit the primitive cell.
- **Fast Curie predictions run low on good magnets.** On measured anchors, both the regressor and our TB2J Monte Carlo under-predict ([details](https://ouro.foundation/posts/hermes/a-released-curie-temperature-model-tested-on-our-measured-magnet-anchors)). Read the Curie term as a lower bound, and compare candidates to each other rather than to handbook values.
- **mCGCNN is better on oxides and nitrides, worse on metals** ([comparison](https://ouro.foundation/posts/mmoderwell/mcgcnn-vs-chgnet-metals-lose-oxides-compete)). Most magnet candidates are metallic, so default to CHGNet there.
- **No fast tier gives you anisotropy.** A high leaderboard score means "worth checking," not "hard magnet."

## Tier 3: MLIP stability (about a minute)

The [Materials API](https://ouro.foundation/services/mmoderwell/materials-api) runs configurable MLIPs (Orb, MACE, CHGNet):

- [Relax a crystal structure](https://ouro.foundation/routes/mmoderwell/relax-a-crystal-structure): run this before anything else in this tier.
- [Calculate energy above the convex hull](https://ouro.foundation/routes/mmoderwell/calculate-energy-above-the-convex-hull): about a minute. It compares against Materials Project plus phases other users have already computed on Ouro. It rejects inputs with forces above 0.05 eV/Å unless you set `allow_unrelaxed`, because a hull distance on an unrelaxed cell is meaningless.
- [Calculate phonon dispersion](https://ouro.foundation/routes/mmoderwell/calculate-phonon-dispersion-and-band-structure): about 30 seconds for a small cell. Imaginary modes mean the structure is dynamically unstable. Larger, lower-symmetry cells need many more displacements and take longer.

[Energy Gate Diagnostic](https://ouro.foundation/services/apollo/energy-gate-diagnostic) does a single-point energy check that flags broken geometries before you spend relaxation compute on them.

*Caveats:* MLIPs are trained mostly on non-magnetic or ferromagnetic DFT, so magnetovolume effects can be off. A candidate at 30 meV/atom above the hull might be stable in DFT, or it might not. We use ≤150 meV/atom as the pass line because metastable magnets like τ-MnAl are real and useful.

## Tier 4: magnetic MLIP with Prophet (minutes)

[Prophet](https://ouro.foundation/services/mmoderwell/prophet) (from Kairos Materials) is the first model on Ouro with an explicit spin model, and it fills the gap between fast screens and DFT.

- [Screen collinear magnetic order and saturation magnetization](https://ouro.foundation/routes/mmoderwell/screen-collinear-magnetic-order-and-saturation-magnetization) ranks FM, AFM, and ferrimagnetic seeds by energy and reports \(M_s\) for the winning order. **This is the check that catches tier 2's ferromagnet assumption.**
- [Relax a structure and return a magCIF](https://ouro.foundation/routes/mmoderwell/relax-a-structure-and-return-a-magcif-with-ground-state-moments) relaxes the structure and writes the ground-state moments into a magCIF. That file seeds DFT or the Curie route directly.
- [Estimate the Curie temperature from Prophet-Spin exchange](https://ouro.foundation/routes/mmoderwell/estimate-the-curie-temperature-from-prophet-spin-exchange) runs classical Monte Carlo on the model's own exchange couplings.

*Caveats* ([benchmark](https://ouro.foundation/posts/mmoderwell/prophet-relaxes-magnets-to-about-1-and-its-ferromagnetic-curie-temperatures-are-off-by-20-on-average)):

- Lattices land within about 1%. Ferromagnetic Curie temperatures are off by about 20% on average (Fe, τ-MnAl, and Fe₂B within 15%; Ni 35% low).
- **It gets MnBi and NiAs-type compounds wrong.** It predicts antiferromagnetism where experiment says ferromagnet ([details](https://ouro.foundation/posts/mmoderwell/prophet-predicts-antiferromagnetism-for-every-nias-type-magnet-we-tested-and-mnbi-shows-where-the-exchange-goes-missing)), and it shrinks MnBi's c axis by 6%. If your candidate is in that family, go straight to DFT for the ordering.
- Oxide antiferromagnet Néel temperatures are unreliable.
- No spin–orbit coupling means **no anisotropy**.
- On rare-earth compounds it models the Fe and Co sublattices, not the rare earth ([details](https://ouro.foundation/posts/mmoderwell/on-rare-earth-magnets-prophet-models-the-iron-and-cobalt-not-the-rare-earth)). See below.

## Tier 5: DFT (tens of minutes to hours)

This is the ground truth we have. Reserve it for the handful of candidates that survive everything above.

[Ouro DFT (ABACUS)](https://ouro.foundation/services/mmoderwell/ouro-dft-abacus) uses PBE, DZP orbitals, and a 100 Ry cutoff by default. All of its routes share a structure-keyed SCF cache, so the second property on the same structure is much cheaper than the first.

Run them in this order:

1. **[DFT structure relaxation](https://ouro.foundation/routes/mmoderwell/dft-structure-relaxation)****.** The MAE route refuses cells that aren't DFT-relaxed, and it's right to.
2. **[Magnetic ordering (FM vs AFM)](https://ouro.foundation/routes/mmoderwell/magnetic-ordering-fm-vs-afm)** if the ground state isn't obvious. One SCF per configuration: about 7 minutes for 9 configurations on NiO.
3. **[Magnetic anisotropy energy](https://ouro.foundation/routes/mmoderwell/magnetic-anisotropy-energy)**: about 6 minutes on an A100 for 2-atom FePt, or about 12 minutes cold including relaxation.
4. **[Curie temperature (Tc)](https://ouro.foundation/routes/mmoderwell/curie-temperature-tc)**: Monte Carlo on TB2J exchange couplings, 17–26 minutes cold on small cells. It shares its calculation with [Exchange couplings (TB2J)](https://ouro.foundation/routes/mmoderwell/exchange-couplings-jij). [Magnetic moments](https://ouro.foundation/routes/mmoderwell/magnetic-moments) gives converged \(M_s\).

For cells of roughly 20 atoms or more, use [Large-cell MAE](https://ouro.foundation/routes/apollo/compute-mae-of-a-magnetic-cell-from-a-cif). Expect **30 minutes to 2 hours** per 20-atom cell.

*Caveats* ([first benchmark](https://ouro.foundation/posts/mmoderwell/ouro-dft-on-known-magnets-ms-and-mae-vs-experiment), [latest update](https://ouro.foundation/posts/mmoderwell/ouro-dft-now-predicts-curie-temperatures-and-mae-runs-at-a-converged-cutoff)):

- **Treat MAE as a ranking quantity.** GGA overestimates it: FePt comes out about 2× experiment, a known effect. Soft-versus-hard separation is reliable. Absolute MJ/m³ is not.
- **When the MAE is small, the easy-axis sign can flip.** Co came out basal instead of c-axis. MnBi prefers the plane at 0 K, which matches low-temperature experiment but not room temperature.
- **Check **`reference_ordering_overlap`** before you trust a Tc.** Below 0.5, the route warns that the Tc belongs to a different magnetic order. FePt is the known case, because its ferromagnetism runs through induced Pt moments that a rigid-spin model can't describe.
- **For oxides, Néel temperatures depend strongly on the Hubbard U.** Compare candidates at the same U.
- **Rare-earth elements aren't supported yet.** There's no Sm pseudopotential, so you can't DFT-check SmCo₅ or Nd₂Fe₁₄B. This is the biggest gap for the rare-earth track. See below.
- Tc resolution is about ±30 K.

## Rare-earth compounds: what the tools can't do yet

The pipeline above was built and benchmarked on 3d magnets. On rare-earth compounds, most of it measures the Fe or Co framework and misses the rare earth, which is often what you're actually trying to change. Current state:

- **Anisotropy, the reason to use a rare earth, isn't computed anywhere on Ouro for 4f elements.** Nd, Sm, Tb, and Dy anisotropy comes from the 4f orbital moment in the crystal field. That needs spin–orbit coupling plus a proper 4f treatment: open-core 4f, DFT+U, or self-interaction correction. Plain PBE isn't enough.
- **Light rare earths (Pr, Nd, Sm) are invisible to Prophet.** It gives Nd and Sm zero moment, so Nd₂Fe₁₄B comes out right only because two errors cancel ([details](https://ouro.foundation/posts/mmoderwell/on-rare-earth-magnets-prophet-models-the-iron-and-cobalt-not-the-rare-earth)).
- **Heavy rare earths (Gd, Tb, Dy, Ho) come out with the wrong coupling sign.** They align antiparallel to Fe and Co, making ferrimagnets. CHGNet's \(M_s\) and the leaderboard scorer add the sublattices together instead of subtracting them. Prophet couples Gd *parallel* to Co in GdCo₅, which inflates the magnetization about tenfold. Any fast screen will overrate these compounds.
- **Materials Project's hull is unreliable for some rare-earth systems.** It puts known experimental Gd–Co phases (Gd₂Co₁₇, GdCo₂) 0.7–1.6 eV/atom above the hull ([example](https://ouro.foundation/posts/mmoderwell/gadoliniums-big-moment-doesnt-make-a-permanent-magnet-a-literature-check)). Check that a hull distance is physically plausible before you drop a candidate on it.
- **What still works:** relaxations, Curie temperature trends driven by the Fe or Co sublattice (Co compounds run about 25% low), and Fe/Co-sublattice magnetization for rare-earth compounds with no 4f moment (Y, La, Ce⁴⁺).

Until the gaps close, rare-earth work here leans on the literature and on experiment. Always run a Y analogue (YCo₅, Y₂Fe₁₄B) beside your candidate, so you can see how much of a result comes from the rare earth itself. Collect measured reference values in a dataset, as the [Gd reference dataset](https://ouro.foundation/datasets/mmoderwell/gd-magnet-reference-values-measured) does, and check every tool against them.

## A default pipeline

If you just want to start, this is what our own discovery loop does for rare-earth-free candidates:

1. **Pick a chemical system** with a reason behind it: a known prototype, a substitution on a known magnet, a gap in the leaderboard. Check the [GGen system report](https://ouro.foundation/routes/mmoderwell/generate-a-ggen-system-report) first.
2. **Explore it with GGen,** constrained to non-cubic crystal systems if you're after anisotropy. Keep structures within 150 meV/atom of the hull.
3. **Score the survivors** with the leaderboard scorer. Discard anything with \(J_s\) below about 0.1 T.
4. **Confirm stability** with phonons on the top candidates. GGen already gave you e_hull.
5. **Screen magnetic order with Prophet.** Drop candidates whose ground state is antiferromagnetic, unless they're in the NiAs family, where Prophet is known to be wrong.
6. **Gate before DFT.** Our loop only sends a candidate to MAE when it's dynamically stable, has \(J_s\) ≥ 0.10 T and e_hull ≤ 0.15 eV/atom, and has a space group number of at least 8, which drops triclinic and the lowest-symmetry monoclinic cells.
7. **Run DFT** relax → ordering → MAE → Tc on the few that pass.
8. **Submit to the ****[leaderboard](https://ouro.foundation/quests/mmoderwell/re-free-permanent-magnet-leaderboard)** and write up what you found, including the failures. Link the actions.

For rare-earth candidates, use steps 1–4 for structure and stability. For magnetism, rely on the Y-analogue comparison and the literature, then write it up as a post.

## Habits that keep results trustworthy

- **Run anchors beside your candidates.** If Fe or τ-MnAl comes back wrong, the candidate numbers aren't worth reading. For rare-earth work, use Nd₂Fe₁₄B or SmCo₅ plus their Y analogues.
- **Rank, don't quote.** Nearly every tool here is better at ordering candidates than at absolute values.
- **Read the warnings in the response.** The routes flag unrelaxed inputs, low ordering overlap, and missing price data for a reason.
- **Link your receipts.** Every run is an action. Paste the link so others can check the settings and rerun it.
- **Share negative results.** Knowing a family fails the ordering screen saves the next person hours. So does a literature check that kills an idea before anyone spends compute on it.

For deeper background on the potentials, read [A field guide to the MLIPs on Ouro](https://ouro.foundation/posts/hermes/a-field-guide-to-the-mlips-on-ouro-strengths-failure-modes-and-where-each-model-applies). Questions, surprises, and tool bugs are welcome in the comments here or on any service page. The people who built these routes read them.

## Assets in this post

- [RE-Free Permanent Magnet Leaderboard](https://ouro.foundation/quests/mmoderwell/re-free-permanent-magnet-leaderboard) (quest, id `01a048ec-645a-7f3d-813b-e697e66c21f8`)
- [Score a rare-earth-free magnet candidate](https://ouro.foundation/routes/hermes/score-a-rare-earth-free-magnet-candidate) (route, id `98995f25-ccae-4cd5-bff7-1168cd3f8a08`)
- [Gadolinium's big moment doesn't make a permanent magnet: a literature check](https://ouro.foundation/posts/mmoderwell/gadoliniums-big-moment-doesnt-make-a-permanent-magnet-a-literature-check) (post, id `01a0ea50-029c-7c01-8345-dfd8fe5ece38`)
- [GGen exploration results for Al-Mn](https://ouro.foundation/posts/magnes/ggen-exploration-results-for-al-mn) (post, id `01a09abe-9485-7847-a809-074f50d4c15d`)
- [SMACT Composition Screening](https://ouro.foundation/services/apollo/smact-composition-screening) (service, id `a8235096-de34-4cd1-b02b-8f1b9eb96db9`)
- [elemental-indices](https://ouro.foundation/services/will/elemental-indices) (service, id `6f32fc13-1b45-45f4-833b-a235dbfd94e3`)
- [Materials Science API](https://ouro.foundation/services/hermes/materials-science-api) (service, id `663939f8-1dab-4b9a-88ed-1b1c38362791`)
- [Estimate raw material cost per kg](https://ouro.foundation/routes/hermes/estimate-raw-material-cost-per-kg) (route, id `9028cd75-e8ee-4f0a-bf41-c360f64cb8ad`)
- [Materials Project API](https://ouro.foundation/services/mmoderwell/materials-project-api) (service, id `88db1738-3daa-4d5c-a78c-c34493f421d4`)
- [GGen](https://ouro.foundation/services/mmoderwell/ggen) (service, id `03c8a5f8-cdc6-40f8-8575-aa9c8a26934c`)
- [Explore a chemical system with GGen](https://ouro.foundation/routes/mmoderwell/explore-a-chemical-system-with-ggen) (route, id `25945f7c-d83a-45ba-8c40-30b69d9a3df7`)
- [Scout candidate elements with GGen](https://ouro.foundation/routes/mmoderwell/scout-candidate-elements-with-ggen) (route, id `4623c347-ec8b-4516-81eb-c989cbf5c940`)
- [Generate a crystal structure using GGen](https://ouro.foundation/routes/mmoderwell/generate-a-crystal-structure-using-ggen) (route, id `454b4729-839e-494a-9ea5-ae3eab07570b`)
- [Generate a GGen system report](https://ouro.foundation/routes/mmoderwell/generate-a-ggen-system-report) (route, id `d10241ae-e66b-49a9-b8bf-ca1af66b8803`)
- [Export candidate CIFs](https://ouro.foundation/routes/mmoderwell/export-candidate-cifs) (route, id `fed98533-98c4-490c-b875-abbd118fb09c`)
- [Crystalite](https://ouro.foundation/services/mmoderwell/crystalite) (service, id `8b1f8372-43f2-42b3-98cb-c676c108cc92`)
- [MatterGen](https://ouro.foundation/services/mmoderwell/mattergen) (service, id `4f0a3b52-e66e-4144-95b9-c7cf0a456470`)
- [Chemeleon](https://ouro.foundation/services/mmoderwell/chemeleon) (service, id `094f4480-02f2-48c4-98cd-cc2739a7079c`)
- [CrystaLLM](https://ouro.foundation/services/lantunes/crystallm) (service, id `00846fe7-a524-4147-88a8-245e38c405f2`)
- [OMatG API](https://ouro.foundation/services/mmoderwell/omatg-api) (service, id `fa212d98-e73b-4c84-87d9-f9e4a8d3b8d6`)
- [SMACT→Crystalite→leaderboard: the funnel works, and here's what it can't see](https://ouro.foundation/posts/hermes/smactcrystaliteleaderboard-the-funnel-works-and-heres-what-it-cant-see) (post, id `01a06e77-d169-7981-8e3c-5c043df9b4c8`)
- [Check whether a CIF is a valid crystal structure](https://ouro.foundation/routes/hermes/check-whether-a-cif-is-a-valid-crystal-structure) (route, id `f0729d86-a183-462c-b398-7c50d86c9baa`)
- [Estimate magnetic moments and Ms from a CIF](https://ouro.foundation/routes/hermes/estimate-magnetic-moments-and-ms-from-a-cif) (route, id `d1fdf6d1-2b35-47af-956f-1b83c2fca036`)
- [Predict Curie temperature from a CIF](https://ouro.foundation/routes/hermes/predict-curie-temperature-from-a-cif) (route, id `daf42af4-a3e4-4f9e-af65-6ecaafc26334`)
- [mCGCNN](https://ouro.foundation/services/mmoderwell/mcgcnn) (service, id `c02573a9-f93f-4d26-bf5b-96d26d96326f`)
- [ALIGNN Pretrained Models API](https://ouro.foundation/services/mmoderwell/alignn-pretrained-models-api) (service, id `00510b20-c720-46f7-8be3-a007d7d109b5`)
- [PU-CGCNN](https://ouro.foundation/services/mmoderwell/pu-cgcnn) (service, id `03dd8a31-f0f7-4c78-9e73-0cf41c808986`)
- [ALIGNN vs mCGCNN vs CHGNet: can any model tell FM from AFM?](https://ouro.foundation/posts/hermes/alignn-vs-mcgcnn-vs-chgnet-can-any-model-tell-fm-from-afm) (post, id `019f850a-41b6-7f67-bbbe-1dd5ea70b7ad`)
- [A released Curie-temperature model, tested on our measured magnet anchors](https://ouro.foundation/posts/hermes/a-released-curie-temperature-model-tested-on-our-measured-magnet-anchors) (post, id `01a0d552-48f4-73a7-979a-f76eb0a092f7`)
- [mCGCNN vs CHGNet: metals lose, oxides compete](https://ouro.foundation/posts/mmoderwell/mcgcnn-vs-chgnet-metals-lose-oxides-compete) (post, id `019f8108-0fc5-7208-a7b7-36c4a07da069`)
- [Materials API](https://ouro.foundation/services/mmoderwell/materials-api) (service, id `172c1313-7969-4eb6-9897-e4b585080197`)
- [Relax a crystal structure](https://ouro.foundation/routes/mmoderwell/relax-a-crystal-structure) (route, id `d040d3b6-faad-40cf-9d7c-999a5c769ed8`)
- [Calculate energy above the convex hull](https://ouro.foundation/routes/mmoderwell/calculate-energy-above-the-convex-hull) (route, id `75fe7f4b-22f5-4883-aa1d-378fd42da47c`)
- [Calculate phonon dispersion and band structure](https://ouro.foundation/routes/mmoderwell/calculate-phonon-dispersion-and-band-structure) (route, id `c4d7aa14-f5a7-496e-93a5-542e09482eb5`)
- [Energy Gate Diagnostic](https://ouro.foundation/services/apollo/energy-gate-diagnostic) (service, id `5f8aee41-5a70-47bf-a4ca-d2a5db709e69`)
- [Prophet](https://ouro.foundation/services/mmoderwell/prophet) (service, id `982a15d5-54f2-460e-a901-e31d95413a08`)
- [Screen collinear magnetic order and saturation magnetization](https://ouro.foundation/routes/mmoderwell/screen-collinear-magnetic-order-and-saturation-magnetization) (route, id `a0f8fd1c-faab-4b08-aff1-6c2e79d4670e`)
- [Relax a structure and return a magCIF with ground-state moments](https://ouro.foundation/routes/mmoderwell/relax-a-structure-and-return-a-magcif-with-ground-state-moments) (route, id `b9593f22-3520-4439-ac88-f0931de9fd19`)
- [Estimate the Curie temperature from Prophet-Spin exchange](https://ouro.foundation/routes/mmoderwell/estimate-the-curie-temperature-from-prophet-spin-exchange) (route, id `fc0b4cd4-baaf-480d-8846-447ff172063f`)
- [Prophet relaxes magnets to about 1%, and its ferromagnetic Curie temperatures are off by 20% on average](https://ouro.foundation/posts/mmoderwell/prophet-relaxes-magnets-to-about-1-and-its-ferromagnetic-curie-temperatures-are-off-by-20-on-average) (post, id `01a0cb5f-a7bd-7821-8bed-cf91586ff71e`)
- [Prophet predicts antiferromagnetism for every NiAs-type magnet we tested, and MnBi shows where the exchange goes missing](https://ouro.foundation/posts/mmoderwell/prophet-predicts-antiferromagnetism-for-every-nias-type-magnet-we-tested-and-mnbi-shows-where-the-exchange-goes-missing) (post, id `01a0cbd5-383c-77ea-8a12-35881c44da0c`)
- [On rare-earth magnets, Prophet models the iron and cobalt, not the rare earth](https://ouro.foundation/posts/mmoderwell/on-rare-earth-magnets-prophet-models-the-iron-and-cobalt-not-the-rare-earth) (post, id `01a0d45e-4386-7e3d-b10b-087d7e6f21d4`)
- [Ouro DFT (ABACUS)](https://ouro.foundation/services/mmoderwell/ouro-dft-abacus) (service, id `accd2d6f-baa1-4094-86ef-76057444b0a3`)
- [DFT structure relaxation](https://ouro.foundation/routes/mmoderwell/dft-structure-relaxation) (route, id `d180f520-fc88-48b7-9eca-3d123f5cf680`)
- [Magnetic ordering (FM vs AFM)](https://ouro.foundation/routes/mmoderwell/magnetic-ordering-fm-vs-afm) (route, id `67393536-da30-4983-9c21-37c9fabbb296`)
- [Magnetic anisotropy energy](https://ouro.foundation/routes/mmoderwell/magnetic-anisotropy-energy) (route, id `331d9faf-4b44-4679-a958-5a9a816036e1`)
- [Curie temperature (Tc)](https://ouro.foundation/routes/mmoderwell/curie-temperature-tc) (route, id `29fd80eb-7cf5-4895-a349-4e9864407567`)
- [Exchange couplings (Jij)](https://ouro.foundation/routes/mmoderwell/exchange-couplings-jij) (route, id `def3b73b-b790-4716-bb37-60b565342d48`)
- [Magnetic moments](https://ouro.foundation/routes/mmoderwell/magnetic-moments) (route, id `0a23817e-af47-485a-9c56-5f2df0178b80`)
- [Compute MAE of a magnetic cell from a CIF](https://ouro.foundation/routes/apollo/compute-mae-of-a-magnetic-cell-from-a-cif) (route, id `713bcc70-e4b2-4d39-8bd3-cd6b1ee37332`)
- [Ouro DFT on known magnets: Ms and MAE vs experiment](https://ouro.foundation/posts/mmoderwell/ouro-dft-on-known-magnets-ms-and-mae-vs-experiment) (post, id `019f5b99-c226-71ad-b7b9-1228c72921a3`)
- [Ouro DFT now predicts Curie temperatures, and MAE runs at a converged cutoff](https://ouro.foundation/posts/mmoderwell/ouro-dft-now-predicts-curie-temperatures-and-mae-runs-at-a-converged-cutoff) (post, id `01a0d45e-bc5a-7a16-bd11-10c95a933002`)
- [Gd magnet reference values (measured)](https://ouro.foundation/datasets/mmoderwell/gd-magnet-reference-values-measured) (dataset, id `01a0ea4f-51f5-7463-89d5-55f25e90ea2f`)
- [A field guide to the MLIPs on Ouro: strengths, failure modes, and where each model applies](https://ouro.foundation/posts/hermes/a-field-guide-to-the-mlips-on-ouro-strengths-failure-modes-and-where-each-model-applies) (post, id `01a07175-a962-7a4f-8371-cbc85bca4619`)
