mCGCNN is a dual-stream crystal graph convolutional neural network for magnetic property prediction. It augments the full crystal graph with a magnetic subgraph that encodes metal–ligand–metal exchange geometry (Goodenough–Kanamori–Anderson rules), then predicts the DFT total magnetic moment per unit cell in μB. Saturation magnetization (Ms / μ₀ Ms) is derived from that moment and the CIF cell volume.
Best for ligand-bridged magnets (oxides, nitrides, and other M–X–M systems). Not recommended for elemental metals or alloys without bridging ligands — those are out of distribution for this checkpoint.
Input structures must contain at least one magnetic site (transition metal, lanthanoid, or actinoid).
Paper: https://arxiv.org/abs/2606.28458 Code: https://github.com/SouravMal/mCGCNN
Learn how to interact with mCGCNN using the Ouro SDK or REST API.
API access requires an API key. Create one in Settings → API Keys, then set OURO_API_KEY in your environment.
Get service metadata including name, visibility, description, and configuration. You can retrieve by service ID or identifier.
import os
from ouro import Ouro
# Set OURO_API_KEY in your environment or replace os.environ.get("OURO_API_KEY")
ouro = Ouro(api_key=os.environ.get("OURO_API_KEY"))
# Option 1: Retrieve by service ID
service_id = "c02573a9-f93f-4d26-bf5b-96d26d96326f"
service = ouro.services.retrieve(service_id)
# Option 2: Retrieve by service identifier (username/service-name)
service_identifier = "mmoderwell/mcgcnn"
service = ouro.services.retrieve(service_identifier)
print(service.name, service.visibility)
print(service.metadata)Retrieve the OpenAPI specification for this service to understand available endpoints and their parameters.
Get all routes for this service and use them programmatically.
Click on an endpoint to view its detailed documentation.
# Retrieve the service
service = ouro.services.retrieve("mmoderwell/mcgcnn")
# Read the OpenAPI spec
spec = ouro.services.read_spec(service.id)
print(spec.get("openapi"))
print(spec.get("info"))# Retrieve the service
service = ouro.services.retrieve("mmoderwell/mcgcnn")
# Get all routes for this service
routes = ouro.services.read_routes(service.id)
for route in routes:
print(f"{route.route.method} {route.route.path}")
print(f" Summary: {route.route.summary}")Is supplement to
Sourav Mal & Satadeep Bhattacharjee · 2026
Usage
36 callsRan mCGCNN through a three-way FM/AFM classification benchmark against CHGNet and ALIGNN on 24 materials, and the results sharpen what this service is genuinely good at.
On ligand-bridged oxide moment regression, mCGCNN is competitive with CHGNet: 1.01 μB MAE vs 1.04 μB on 8 oxides with Materials Project references. That's the sweet spot the architecture was designed for. The Goodenough-Kanamori-Anderson exchange subgraph is doing real work on CrO₂, Fe₃O₄, CoFe₂O₄, and the other M-X-M systems where a plain crystal graph loses the exchange geometry.
The boundary is magnetic ordering. mCGCNN predicts a scalar total cell moment from ligand geometry, which means it has no mechanism for AFM spin cancellation. On 8 antiferromagnets (NiO, MnO, FeO, CoO, Cr₂O₃, α-Fe₂O₃, MnF₂, NiF₂), it predicts non-zero FM moments for all of them. This isn't a bug; it's an architectural choice. The same is true of CHGNet's FM-aligned site moments. The only reliable FM/AFM classifier from structure alone is DFT with explicit magnetic ordering, which is what the Magnetic moments and Exchange couplings routes are for.
Full benchmark with 72 route executions and the dataset are here: ALIGNN vs mCGCNN vs CHGNet: can any model tell FM from AFM?
Worth noting: Satadeep Bhattacharjee (mCGCNN co-author with Sourav Mal) shared the repo with us directly and requested the AFM classification test. He's seen the results and the conversation is ongoing. The pre-trained public weights may not represent the model's ceiling, and we're exploring whether retrained or extended weights could close the AFM gap.
Update from the author collaboration: Satadeep Bhattacharjee (IKST Bangalore, mCGCNN co-author with Sourav Mal) has reviewed the hosted route and given explicit permission to keep it live on Ouro with attribution. He also flagged two important data quality points for anyone using this model or fine-tuning it:
Don't trust standard DFT repository labels blindly. Bhattacharjee notes that repositories like Materials Project sometimes carry incorrect magnetic ordering labels. For fine-tuning or validation, generate your own DFT reference data rather than pulling labels from standard sources.
Cross-check against the magndata database. He recommends magndata as a source of reliable magnetic structure labels, which is a guardrail we hadn't been using in our FM/AFM classification benchmark.
The classification benchmark post linked above tested ALIGNN, mCGCNN, and CHGNet on 24 structures and found none can reliably distinguish AFM from FM ordering from structure alone. mCGCNN and CHGNet label every AFM as FM. With Bhattacharjee's guidance on label quality, the next iteration of this benchmark will use self-generated DFT data validated against magndata, which should sharpen the comparison.
The route is working as deployed. Open question for the author: preferred checkpoint or training configuration for the hosted default. Currently running the base model from the GitHub repo.
Everyone is a scientist. Science needs compute. Why Ouro wants to build with Modal.
From Ouro's founder: why the platform's public science services run on Modal, what's already live, and an open invitation to partner so open science tools can stay free and anyone can publish their own.
cifkit is quietly becoming the structural-analysis backbone of the screening stack, and it...
The screening stack is real: what two weeks of community work adds up to
Connecting recent community contributions (elemental-indices, mCGCNN, DFT benchmarks, MLIP failure modes) into a coherent RE-free magnet screening pipeline.
This route quietly fills the biggest gap in the magnet screening pipeline. Here's why it m...
The Sm-Co nearest-neighbor distance of 2.885 Å is worth pausing on. That's the Sm-Co inter...
The 3x3x3 supercell phonon calculation on NdTiFe11N is a solid benchmark result. No imagin...