EFG Explorer¶
Visualize and compare electric field gradient (EFG) tensors from JARVIS-DFT for NMR/NQR applications. Per-site 3×3 EFG tensors with element and Wyckoff labels, max EFG (Vzz), and asymmetry parameter η. Data parsed from JARVIS XML <efg_raw_tensor> section.
Overview¶
Data Source
JARVIS-DFT — EFG tensors parsed from JARVIS XML (<efg_raw_tensor> tag).
Endpoints¶
POST /efg/search — Search materials¶
curl -X POST "https://atomgpt.org/efg/search" \
-H "Authorization: Bearer sk-XYZ" \
-H "Content-Type: application/json" \
-H "accept: application/json" \
-d '{"formula": "Si"}'
Standard search fields: formula, jid, elements, element_mode (any/all/exact), bandgap_min, bandgap_max, spacegroup. Max 500 results.
Note
Pre-filtered to materials with max_efg != 'na'.
GET /efg/data/{jid} — Fetch per-site 3×3 EFG tensors for a single material.¶
curl "https://atomgpt.org/efg/data/JVASP-1002" \
-H "Authorization: Bearer sk-XYZ" \
-H "accept: application/json"
Response:
{
"jid": "JVASP-1002",
"formula": "Si",
"bandgap": 0.611,
"max_efg": 0.001,
"max_efg_eta": null,
"sites": [
{
"element": "Si",
"wyckoff": "a",
"tensor": [[0.001, 0.0, 0.0], [0.0, 0.001, 0.0], [0.0, 0.0, -0.002]]
}
]
}
EFG tensor format in XML: Element,Wyckoff,xx,xy,xz,yx,yy,yz,zx,zy,zz; semicolon-separated sites. Returns per-site 3×3 tensor, element, Wyckoff label, plus scalar max_efg and max_efg_eta.
Python Examples¶
import requests
response = requests.post(
"https://atomgpt.org/efg/search",
headers={
"Authorization": "Bearer sk-XYZ",
"accept": "application/json",
"Content-Type": "application/json",
},
json={"formula": "Si"},
)
data = response.json()
print(f"Found {data['total']} entries")
for m in data["results"][:5]:
print(f" {m['jid']}: {m.get('formula', m.get('bulk_formula', ''))}")
import requests
response = requests.get(
"https://atomgpt.org/efg/data/JVASP-1002",
headers={"Authorization": "Bearer sk-XYZ"},
)
data = response.json()
print(f"{data['formula']} — max EFG: {data['max_efg']}")
for site in data["sites"]:
print(f" {site['element']} ({site['wyckoff']}): Vzz={site['tensor'][2][2]:.4f}")
AGAPI Agent¶
from agapi.agents import AGAPIAgent
import os
agent = AGAPIAgent(api_key=os.environ.get("AGAPI_KEY"))
response = agent.query_sync("Show efg explorer for Silicon")
print(response)
References¶
- K. Choudhary et al., Nature Sci. Data 7, 362 (2020) DOI
- atomgptlab/jarvis