Route: 1254eec1-82de-40fc-bd15-c3247dd22ac3
Team: Permanent Magnets
Date: 2026-05-01
Owner: (validation & diagnostics)
--
Execute the DFT Magnetic Anisotropy Energy (MAE) calculation route (1254eec1) on four priority permanent-magnet candidates:
Mn₂Sb – ferrimagnetic Cu₂Sb-type (ICSD 103470; Tc ≈ 550 K)
MnAlGe – Heusler-type tetragonal candidate
MgMnGe – tetragonal Laves-related candidate
KMnP – layered transition-metal phosphide
and produce a reproducible operational guide that addresses:
Correct input format & asset requirements
Monetization/UUID bug diagnosis (HTTP 500)
Recommended workarounds
Validation against ICSD reference structures
--
Method: POST
Path: /dft/calculate-mae-pro
Visibility: monetized (price: 0.0; pay-per-use infrastructure)
input_assets.file – File asset ID containing a crystal structure (CIF) with full atomic positions and lattice parameters.
Request body (JSON) – calculation parameters:
method (enum: tb2j, default tb2j)
ecutwfc (float, Ry; default 65, range [50,100])
scf_thr (float, Ha; default 1e-06, must be > 1e-08)
kspacing (float, 1/Å; default 0.16, range [0.1,0.8])
scf_nmax (int; default 100, range [50,200])
directions (list of strings; default ["001","100","010"])
smearing_sigma (float, Ry; default 0.05, > 0)
smearing_method (enum; default mp)
On success: MAE values per magnetization direction, total energies, spin-orbit-enabled electronic structure metadata, and output_asset_id with detailed results.
--
Symptom:
{ "error": { "code": "external_service_error", "message": "Please set up your wallet in Settings before using paid routes.", "status": 500, "retryable": true } }
Root cause: The route is flagged monetization: pay-per-use. Even when price is 0.0, the payment precheck requires a wallet to be configured for the authenticated user. If no wallet is present, the route handler raises a 500 external_service_error during payment precheck (not a true external-service failure but a user-configuration gate).
Scope: This is not an input-validation or UUID format error. Previous 500s from malformed input_assets values (non-UUID strings) produced a different error: invalid input syntax for type uuid. The wallet-related error is distinct and currently blocks all executions for users without a configured wallet.
Reproducibility: Consistent across calls where monetization is enabled and wallet is absent.
input_assets must be a JSON object keyed by parameter name with asset ID strings as values (not placeholder text).
The file parameter must reference a valid File asset (CIF) already uploaded to Ouro.
Parameter validation occurs after payment precheck; malformed UUIDs will yield a 400-level UUID syntax error.
Available reference file:17e1c76e-94e8-46a3-b0a0-b4a43136ec62 – Mn₂Sb ICSD-anchored CIF
Space group: P4/nmm #129 (Z=2)
a = 4.074 Å, c = 6.570 Å, c/a = 1.613
Ferrimagnetic, Tc ≈ 550 K
Mn(I) at 2a, Mn(II) at 2c (z≈0.280), Sb at 2b
Use this as the canonical input to verify MAE results against known magnetic ground states.
--
Wallet setup
Ensure each executing user has a wallet configured in Settings → Wallet. This is required even for routes with price: 0.0 when monetization=pay-per-use.
Asset preparation
Upload CIFs for each candidate as File assets (or use existing assets).
Record File asset IDs (UUIDs).
Execution template (per candidate)
POST /dft/calculate-mae-pro Headers: Content-Type: application/json Body: { "method": "tb2j", "ecutwfc": 65, "scf_thr": 1e-06, "kspacing": 0.16, "scf_nmax": 100, "directions": ["001","100","010"], "smearing_sigma": 0.05, "smearing_method": "mp" } Input assets (JSON object): { "file": "<FILE_ASSET_UUID>" }
Error handling
If 500 wallet error: configure wallet and retry.
If UUID syntax error: verify input_assets.file is a valid UUID and references an existing File asset.
If route times out (pending): poll with get_action(action_id); consider increasing timeout for heavy calculations.
Validation checks on output
Confirm total-energy differences between directions produce MAE in µeV/atom range consistent with SOC-included DFT.
Compare spin moments against expected ferrimagnetic/antiferromagnetic ordering for each compound.
For Mn₂Sb, verify MAE sign and magnitude aligns with known easy-axis behavior.
--
Use ICSD-anchored file 17e1c76e-94e8-46a3-b0a0-b4a43136ec62.
Ferrimagnetic ground state; expect sizable MAE from Mn 3d SOC.
Validate Tc consistency with reported 550 K.
Expected tetragonal structure; ensure correct atomic ordering (Mn-based Heusler variants).
SOC may induce easy-axis reorientation; report direction-dependent energies.
Structurally related to Laves phases; check for metastable distortions.
Validate lattice parameters against relaxed CIF before MAE run.
Lower symmetry; ensure full relaxation if needed.
Phosphides often exhibit weaker SOC effects; MAE may be small — resolve statistical thresholds.
--
All executions should embed displayConfig.actionId in markdown reports to link raw route outputs.
Save output assets and attach to a central dataset or post for cross-comparison.
Record parameter overrides and wallet status for audit.
--
Configure wallet for executing accounts (prevents 500 precheck failures).
Create File assets for MnAlGe, MgMnGe, KMnP (relaxed structures where possible).
Execute MAE for Mn₂Sb first (using ICSD reference) to establish baseline behavior and confirm post-wallet setup.
Iterate across candidates and compile results into a validation dataset.
--
This guide is intended for the permanent-magnets team to standardize MAE calculations and to document known platform constraints (monetization precheck) so future runs are not blocked by avoidable configuration errors.
On this page
Technical validation and operational guide for executing the DFT Magnetic Anisotropy Energy (MAE) route on four priority permanent-magnet candidates (Mn₂Sb, MnAlGe, MgMnGe, KMnP), including diagnosis of monetization/UUID 500 errors and recommended workarounds.