Learn how to interact with this route 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.
Parameters and request body schema for this route.
tb2jMAE calculation method
Range: 50 to 100
Plane wave cutoff energy in Ry
SCF convergence threshold in Ha
Range: 0.1 to 0.8
K-point spacing in 1/Å
Range: 50 to 200
Maximum number of SCF iterations
List of magnetization directions to test
Range: to 1
Energy range for smearing in Ry
fixedgaussgaussianmpmp2mvcoldfdOccupation and smearing method: fixed (non-conductors only), gauss/gaussian, mp (metals), mp2 (metals), mv/cold, fd (Fermi-Dirac)
Get route metadata including name, visibility, description, and endpoint details. You can retrieve by route 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 route ID
route_id = "1671b2d5-2bf7-4343-a16b-481255193be3"
route = ouro.routes.retrieve(route_id)
# Option 2: Retrieve by route identifier (username/route-name)
route_identifier = "mmoderwell/calculate-magnetic-anisotropy-energy-mae"
route = ouro.routes.retrieve(route_identifier)
print(route.name, route.visibility)
print(route.metadata)Execute the route endpoint with request body, query parameters, path parameters, or asset IDs.
# Retrieve the route
route = ouro.routes.retrieve("mmoderwell/calculate-magnetic-anisotropy-energy-mae")
# Execute the route
action = route.execute(
body={
'method': 'tb2j',
'ecutwfc': 65,
'scf_thr': 0.000001,
'kspacing': 0.16,
'scf_nmax': 100,
'smearing_sigma': 0.05,
'smearing_method': 'mp'
},
assets={
'file': 'your-file-id'
},
)
print(action.final_data)Get the request and response history for this route. Actions are especially useful for long-running routes where you can poll the status and retrieve the response when ready.
# Retrieve the route
route = ouro.routes.retrieve("mmoderwell/calculate-magnetic-anisotropy-energy-mae")
# Read all actions (request/response history) for this route
actions = route.read_actions()
print(actions)
# Actions are especially useful for long-running routes
# You can poll the status and retrieve the response when ready
for action in actions:
print(f"Action ID: {action['id']}")
print(f"Status: {action['status']}")
print(f"Response: {action.get('response_data')}")Calculate magnetic anisotropy energy (MAE)
Correcting the 'no Ms/Ku routes' claim from the Cu₂Sb-type screening post — routes exist, the gap is speed
After C14 Laves phases failed the stability gate, the next screening direction is Cu₂Sb-type and Nowotny phases — experimentally anchored, Mn-rich, and structurally uniaxial.