sinxcosx11's picture
Automated model and inference script upload v2
3961ee7 verified
from pymatgen.core import Element as PymatgenElement
KNOWN_ELEMENT_SYMBOLS = {el.symbol for el in PymatgenElement}
ATMOSPHERE_CONFIG = {
"patterns": [
(r'\b(air)\b', 'Air', 'Oxidizing'), (r'\b(O\s?2|oxygen)\b', 'O2', 'Oxidizing'),
(r'\b(Ar|argon)\b', 'Ar', 'Inert'), (r'\b(N\s?2|nitrogen)\b', 'N2', 'Inert'),
(r'\b(H\s?2/N\s?2|N\s?2/H\s?2|forming\s*gas)\b', 'FormingGas(N2/H2)', 'Reducing'),
(r'\b(Ar/H\s?2|H\s?2/Ar)\b', 'Ar/H2', 'Reducing'), (r'\b(H\s?2|hydrogen)\b', 'H2', 'Reducing'),
(r'\b(vacuum)\b', 'Vacuum', 'Vacuum'), (r'\b(He|helium)\b', 'He', 'Inert'),
(r'\b(CO2|carbon\s*dioxide)\b', 'CO2', 'Neutral/Other'),
(r'\b(CO|carbon\s*monoxide)\b', 'CO', 'Reducing'), (r'\b(NH3|ammonia)\b', 'NH3', 'Reducing/Other'),
], "default_specific": "unknown_atm_specific", "default_category": "Unknown_Atm_Category"
}
MIXING_METHOD_CONFIG = {
"patterns": [
(r'\b(ball\s*mill(?:ing)?)\b', 'ball_milling'), (r'\b(grind(?:ing)?|ground|pulverized|milled)\b', 'grinding'),
(r'\b(solution|wet|homogeni[sz]ation|slurr(y|ies))\b', 'wet_method'),
(r'\b(solid-state|solid\s*state(\s*reaction)?)\b', 'solid_state_mixing'),
(r'\b(stir(?:ring)?)\b', 'stirring'), (r'\b(sonica(te|tion|ted))\b', 'sonication'),
(r'\b(planetary\s*mill(?:ing)?)\b', 'planetary_milling'), (r'\b(attritor\s*mill(?:ing)?)\b', 'attritor_milling'),
(r'\b(shaker\s*mill(?:ing)?)\b', 'shaker_milling'), (r'\b(mortar\s*(and\s*pestle)?)\b', 'mortar_pestle'),
], "default_method": "unknown_mix_method"
}
MAGPIE_LABELS = []
matminer_available = False
MAGPIE_FEATURIZER = None
try:
from matminer.featurizers.composition import ElementProperty
matminer_available = True
MAGPIE_FEATURIZER = ElementProperty.from_preset("magpie", impute_nan=True)
MAGPIE_LABELS = [f'magpie_{label.replace(" ", "_")}' for label in MAGPIE_FEATURIZER.feature_labels()]
except ImportError:
pass
except Exception:
pass