github-actions[ci]
Clean sync from main branch - 2025-09-17 22:25:23
f880d1c
raw
history blame
1.63 kB
from pathlib import Path
from loguru import logger
from tqdm.auto import tqdm
from mlip_arena.models import REGISTRY, MLIPEnum
from mlip_arena.tasks.stability.analysis import gather_results
from mlip_arena.tasks.stability.data import get_atoms_from_db
if __name__ == "__main__":
compositions = []
sizes = []
for atoms in tqdm(get_atoms_from_db("random-mixture.db")):
if len(atoms) == 0:
continue
compositions.append(atoms.get_chemical_formula())
for model in MLIPEnum:
try:
run_dir = Path(__file__).parent / f"{REGISTRY[model.name]['family']}"
df = gather_results(run_dir, prefix=model.name, run_type="nvt")
df = df[
df["formula"].isin(compositions[:120])
].copy() # tentatively we only take the first 120 structures
assert len(df) > 0
df.to_parquet(run_dir / f"{model.name}-heating.parquet", index=False)
except Exception as e:
logger.warning(f"Error processing model {model.name}: {e}")
for model in MLIPEnum:
try:
run_dir = Path(__file__).parent / f"{REGISTRY[model.name]['family']}"
df = gather_results(run_dir, prefix=model.name, run_type="npt")
df = df[
df["formula"].isin(compositions[:80])
].copy() # tentatively we only take the first 80 structures
assert len(df) > 0
df.to_parquet(run_dir / f"{model.name}-compression.parquet", index=False)
except Exception as e:
logger.warning(f"Error processing model {model.name}: {e}")