That's the mission here. The process is pretty simple. Generate magnet candidate -> find out if it's a good candidate -> rinse and repeat.
Anyone can contribute. It's a numbers game, so the more people contribute the better chance we have at finding something good.
In service of the mission, I've been working on adding some APIs to help with crystal generation and property prediction. The Python SDK is in a good enough place that we can start orchestrating these tools with code.
Generate a batch of candidate inorganic crystal structures biased toward a target DFT magnetic density. This route is useful for exploring magnetic materials when composition is not fixed. Returns a ZIP archive of CIF files; controls sample count and strengthens or relaxes the property conditioning.
Generate a batch of candidate inorganic crystal structures jointly conditioned on target magnetic density and HHI score. This route is useful for searching for magnetic materials while also steering toward chemistries associated with a chosen level of market concentration. Returns a ZIP archive of CIF files.
Generate crystal structures for specific chemical compositions using Chemeleon
Each of these models outputs either a CIF file or a .zip file with a set of CIFs. You can use these CIF files as input to the property prediction models.
Sometimes these models output structures that are not at their relaxed ground state. This means there is internal tension in the structure that would not exist if allowed to relax (which would happen in real life).
Relax the structure and use the output as the new structure to continue testing.
Optimize atomic positions and (optionally) unit-cell parameters of a crystal structure using a configurable machine learning interatomic potential such as Orb, MACE, or CHGNet. Upload a CIF file and receive the relaxed structure as a new CIF; set to also get the optimization path as an ASE .traj file. Supports configurable force-convergence threshold (fmax), maximum optimization steps, and holding the input symmetry fixed; the response reports whether the run converged and its final max force. Rejects CIFs with overlapping atoms unless is set.
Look for drastic changes in atomic positions or reduction in symmetry to get a sense of how good the initial generation was.
Before testing a candidate structure's properties, you first want to determine if would be possible to make in the lab. We can estimate a structure's stability in two ways.
Look for an energy above the hull less than 0.150 meV / atom. Any higher and it will be difficult to make.
Look for the absence of imaginary modes to get a sense of a material's dynamic stability.
Compute the phonon band structure of a crystal using the finite-displacement method with configurable ML interatomic potential force constants. Upload a CIF file and receive a .phonons file, which Ouro renders as an interactive phonon dispersion along high-symmetry paths in the Brillouin zone beside the element-projected phonon density of states. Useful for assessing dynamical stability: imaginary frequencies indicate structural instability. Rejects CIFs with overlapping atoms unless is set.
If the material passes both of these tests, you're ready to examine the material's properties.
Magnetic density tells us how strong a magnet is. Look for values 0.12 and above.
Curie temperature tells us at which temperature the magnet looses its ability to be a permanent magnet. Look for values above 500 K.
Predict the ferromagnetic Curie temperature (K) of a crystal structure. Uses CHGNet structural features with a CatBoost regressor trained for magnetic transition temperatures. Input: CIF file. Output: temperature in kelvin.
I have a model for magnetocrystalline anisotropy energy, but currently it requires some specialized hardware making it hard to share with the platform. Send me a message or tag me with any CIFs you want tested and I'll be happy to.
If you've made it this far and your material has passed all the tests, congratulations! I have yet to see any candidate make it this far but I know they're out there. Comment on this post with the CIF and we'll go from there!
Happy building team 🫡
Assess the thermodynamic stability of a crystal structure by computing its energy above the convex hull of every structure in Ouro's crystal database: Materials Project, Alexandria and GNoME phases, structures generated on Ouro, and structures submitted earlier. Choose the energy surface: Orb v3, where every reference is scored with the model that scores your structure, or PBE, the published DFT energies with your structure scored by Orb v3. MP2020 corrections are applied on both. Upload an already-relaxed CIF so the result refers to that geometry; inputs with max |F| > 0.05 eV/Å are rejected unless is set (which relaxes with Orb v3 first). A structure the database does not have yet is added to it. Also rejects overlapping-atom CIFs unless is set. Returns eabovehull (eV/atom), decomposition products and formation energy; set for an interactive phase diagram too.
Infer per-site magnetic moments with CHGNet and estimate saturation magnetization assuming collinear ferromagnetic alignment of those local moments. Outputs Site moments (µB) with element labels Net vs absolute cell/formula-unit moments (near-zero net + large absolute ⇒ AFM/FiM-like cancellation) Estimated Ms / Js in A/m, T (µ₀ Ms), emu/cm³, emu/g, and µB/ų This is a fast local-moment screen, not a magnetic-ordering solver. Pair with Curie-temperature prediction for a fuller magnet dossier. Rejects CIFs with overlapping atoms unless is set.