diff --git a/models/MatterSim-V1/1_test_srme.py b/models/MatterSim-V1/1_test_srme.py new file mode 100644 index 0000000..782a5d9 --- /dev/null +++ b/models/MatterSim-V1/1_test_srme.py @@ -0,0 +1,278 @@ +import os +import datetime +import warnings +from typing import Literal, Any +from collections.abc import Callable +import traceback +from copy import deepcopy +from importlib.metadata import version +import json + +import pandas as pd + +from tqdm import tqdm + +from ase.constraints import FixSymmetry +from ase.filters import ExpCellFilter, FrechetCellFilter +from ase.optimize import FIRE, LBFGS +from ase.optimize.optimize import Optimizer +from ase import Atoms +from ase.io import read + +from k_srme import aseatoms2str, two_stage_relax, ID, STRUCTURES, NO_TILT_MASK +from k_srme.utils import symm_name_map, get_spacegroup_number, check_imaginary_freqs +from k_srme.conductivity import ( + init_phono3py, + get_fc2_and_freqs, + get_fc3, + calculate_conductivity, +) + +from mattersim.forcefield import MatterSimCalculator + +warnings.filterwarnings("ignore", category=DeprecationWarning, module="spglib") + + +# EDITABLE CONFIG +model_name = "MatterSim-V1" + + +# load the default checkpoint: 1M +calc = MatterSimCalculator(device="cuda") +checkpoint = "mattersim-v1.0.0-1m" +suffix = "1M" + +# load the checkpoint of 5M parameters +# calc = MatterSimCalculator(device="cuda", load_path="mattersim-v1.0.0-5m") +# checkpoint = "mattersim-v1.0.0-5m" +# suffix="5M" + + +# Relaxation parameters +ase_optimizer: Literal["FIRE", "LBFGS", "BFGS"] = "FIRE" +ase_filter: Literal["frechet", "exp"] = "frechet" +if_two_stage_relax = True # Use two-stage relaxation enforcing symmetries +max_steps = 300 +force_max = 1e-4 # Run until the forces are smaller than this in eV/A + +# Symmetry parameters +# symmetry precision for enforcing relaxation and conductivity calculation +symprec = 1e-5 +# Enforce symmetry with during relaxation if broken +enforce_relax_symm = True +# Conductivity to be calculated if symmetry group changed during relaxation +conductivity_broken_symm = False +prog_bar = True +save_forces = True # Save force sets to file + + +task_type = "LTC" # lattice thermal conductivity +job_name = f"{model_name}-phononDB-{task_type}-{ase_optimizer}{'_2SR' if if_two_stage_relax else ''}_force{force_max}_sym{symprec}-{suffix}" +module_dir = os.path.dirname(__file__) +out_dir = f"{module_dir}/{datetime.datetime.now().strftime('%Y-%m-%d')}-{job_name}" +os.makedirs(out_dir, exist_ok=True) + +out_path = f"{out_dir}/conductivity.json.gz" + + +timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") +struct_data_path = STRUCTURES +print(f"\nJob {job_name} started {timestamp}") + + +print(f"Read data from {struct_data_path}") +atoms_list: list[Atoms] = read(struct_data_path, format="extxyz", index=":") + +run_params = { + "timestamp": timestamp, + "k_srme_version": version("k_srme"), + "model_name": model_name, + # "checkpoint": checkpoint, + "versions": {dep: version(dep) for dep in ("numpy", "torch")}, + "ase_optimizer": ase_optimizer, + "ase_filter": ase_filter, + "if_two_stage_relax": if_two_stage_relax, + "max_steps": max_steps, + "force_max": force_max, + "symprec": symprec, + "enforce_relax_symm": enforce_relax_symm, + "conductivity_broken_symm": conductivity_broken_symm, + # "slurm_array_task_count": slurm_array_task_count, + # "slurm_array_job_id": slurm_array_job_id, + "task_type": task_type, + "job_name": job_name, + "struct_data_path": os.path.basename(struct_data_path), + "n_structures": len(atoms_list), +} + +# if slurm_array_task_id == slurm_array_task_min: +if True: + with open(f"{out_dir}/run_params.json", "w") as f: + json.dump(run_params, f, indent=4) + +atoms_list = atoms_list[:5] + +# Set up the relaxation and force set calculation +filter_cls: Callable[[Atoms], Atoms] = { + "frechet": FrechetCellFilter, + "exp": ExpCellFilter, +}[ase_filter] +optim_cls: Callable[..., Optimizer] = {"FIRE": FIRE, "LBFGS": LBFGS}[ase_optimizer] + + +force_results: dict[str, dict[str, Any]] = {} +kappa_results: dict[str, dict[str, Any]] = {} + + +tqdm_bar = tqdm(atoms_list, desc="Conductivity calculation: ", disable=not prog_bar) + +for atoms in tqdm_bar: + mat_id = atoms.info[ID] + init_info = deepcopy(atoms.info) + mat_name = atoms.info["name"] + mat_desc = f"{mat_name}-{symm_name_map[atoms.info['symm.no']]}" + info_dict = { + "desc": mat_desc, + "name": mat_name, + "initial_space_group_number": atoms.info["symm.no"], + "errors": [], + "error_traceback": [], + } + + tqdm_bar.set_postfix_str(mat_desc, refresh=True) + + # Relaxation + try: + atoms.calc = calc + if max_steps > 0: + if not if_two_stage_relax: + if enforce_relax_symm: + atoms.set_constraint(FixSymmetry(atoms)) + filtered_atoms = filter_cls(atoms, mask=NO_TILT_MASK) + else: + filtered_atoms = filter_cls(atoms) + + optimizer = optim_cls(filtered_atoms, logfile=f"{out_dir}/relax.log") + optimizer.run(fmax=force_max, steps=max_steps) + + reached_max_steps = False + if optimizer.step == max_steps: + reached_max_steps = True + print( + f"Material {mat_desc=}, {mat_id=} reached max step {max_steps=} during relaxation." + ) + + # maximum residual stress component in for xx,yy,zz and xy,yz,xz components separately + # result is a array of 2 elements + max_stress = atoms.get_stress().reshape((2, 3), order="C").max(axis=1) + + atoms.calc = None + atoms.constraints = None + atoms.info = init_info | atoms.info + + symm_no = get_spacegroup_number(atoms, symprec=symprec) + + relax_dict = { + "structure": aseatoms2str(atoms), + "max_stress": max_stress, + "reached_max_steps": reached_max_steps, + "relaxed_space_group_number": symm_no, + "broken_symmetry": symm_no + != init_info["initial_space_group_number"], + } + + else: + atoms, relax_dict = two_stage_relax( + atoms, + fmax_stage1=force_max, + fmax_stage2=force_max, + steps_stage1=max_steps, + steps_stage2=max_steps, + Optimizer=optim_cls, + Filter=filter_cls, + allow_tilt=False, + log=f"{out_dir}/relax.log", + enforce_symmetry=enforce_relax_symm, + ) + + atoms.calc = None + + except Exception as exc: + warnings.warn(f"Failed to relax {mat_name=}, {mat_id=}: {exc!r}") + traceback.print_exc() + info_dict["errors"].append(f"RelaxError: {exc!r}") + info_dict["error_traceback"].append(traceback.format_exc()) + kappa_results[mat_id] = info_dict + continue + + # Calculation of force sets + try: + ph3 = init_phono3py(atoms, log=False, symprec=symprec) + + ph3, fc2_set, freqs = get_fc2_and_freqs( + ph3, + calculator=calc, + log=False, + pbar_kwargs={"leave": False, "disable": not prog_bar}, + ) + + imaginary_freqs = check_imaginary_freqs(freqs) + freqs_dict = {"imaginary_freqs": imaginary_freqs, "frequencies": freqs} + + # if conductivity condition is met, calculate fc3 + ltc_condition = not imaginary_freqs and ( + not relax_dict["broken_symmetry"] or conductivity_broken_symm + ) + + if ltc_condition: + ph3, fc3_set = get_fc3( + ph3, + calculator=calc, + log=False, + pbar_kwargs={"leave": False, "disable": not prog_bar}, + ) + + else: + fc3_set = [] + + if save_forces: + force_results[mat_id] = {"fc2_set": fc2_set, "fc3_set": fc3_set} + + if not ltc_condition: + kappa_results[mat_id] = info_dict | relax_dict | freqs_dict + continue + + except Exception as exc: + warnings.warn(f"Failed to calculate force sets {mat_id}: {exc!r}") + traceback.print_exc() + info_dict["errors"].append(f"ForceConstantError: {exc!r}") + info_dict["error_traceback"].append(traceback.format_exc()) + kappa_results[mat_id] = info_dict | relax_dict + continue + + # Calculation of conductivity + try: + ph3, kappa_dict = calculate_conductivity(ph3, log=False) + + except Exception as exc: + warnings.warn(f"Failed to calculate conductivity {mat_id}: {exc!r}") + traceback.print_exc() + info_dict["errors"].append(f"ConductivityError: {exc!r}") + info_dict["error_traceback"].append(traceback.format_exc()) + kappa_results[mat_id] = info_dict | relax_dict | freqs_dict + continue + + kappa_results[mat_id] = info_dict | relax_dict | freqs_dict | kappa_dict + + +df_kappa = pd.DataFrame(kappa_results).T +df_kappa.index.name = ID +df_kappa.reset_index().to_json(out_path) + + +if save_forces: + force_out_path = f"{out_dir}/force_sets.json.gz" + df_force = pd.DataFrame(force_results).T + df_force = pd.concat([df_kappa, df_force], axis=1) + df_force.index.name = ID + df_force.reset_index().to_json(force_out_path) diff --git a/models/MatterSim-V1/2024-12-09-MatterSim-V1-phononDB-LTC-FIRE_2SR_force0.0001_sym1e-05-1M/k_srme.json.gz b/models/MatterSim-V1/2024-12-09-MatterSim-V1-phononDB-LTC-FIRE_2SR_force0.0001_sym1e-05-1M/k_srme.json.gz new file mode 100644 index 0000000..903ade5 Binary files /dev/null and b/models/MatterSim-V1/2024-12-09-MatterSim-V1-phononDB-LTC-FIRE_2SR_force0.0001_sym1e-05-1M/k_srme.json.gz differ diff --git a/models/MatterSim-V1/2024-12-09-MatterSim-V1-phononDB-LTC-FIRE_2SR_force0.0001_sym1e-05-1M/run_params.json b/models/MatterSim-V1/2024-12-09-MatterSim-V1-phononDB-LTC-FIRE_2SR_force0.0001_sym1e-05-1M/run_params.json new file mode 100644 index 0000000..e3e977f --- /dev/null +++ b/models/MatterSim-V1/2024-12-09-MatterSim-V1-phononDB-LTC-FIRE_2SR_force0.0001_sym1e-05-1M/run_params.json @@ -0,0 +1,23 @@ +{ + "timestamp": "2024-12-09 07:13:12", + "k_srme_version": "1.0.0", + "model_name": "MatterSim-V1", + "versions": { + "numpy": "1.26.4", + "torch": "2.2.0" + }, + "ase_optimizer": "FIRE", + "ase_filter": "frechet", + "if_two_stage_relax": true, + "max_steps": 300, + "force_max": 0.0001, + "symprec": 1e-05, + "enforce_relax_symm": true, + "conductivity_broken_symm": false, + "slurm_array_task_count": 1, + "slurm_array_job_id": "prod", + "task_type": "LTC", + "job_name": "MatterSim-V1-phononDB-LTC-FIRE_2SR_force0.0001_sym1e-05", + "struct_data_path": "phononDB-PBE-structures.extxyz", + "n_structures": 103 +} \ No newline at end of file diff --git a/models/MatterSim-V1/2024-12-09-MatterSim-V1-phononDB-LTC-FIRE_2SR_force0.0001_sym1e-05-5M/k_srme.json.gz b/models/MatterSim-V1/2024-12-09-MatterSim-V1-phononDB-LTC-FIRE_2SR_force0.0001_sym1e-05-5M/k_srme.json.gz new file mode 100644 index 0000000..81bd370 Binary files /dev/null and b/models/MatterSim-V1/2024-12-09-MatterSim-V1-phononDB-LTC-FIRE_2SR_force0.0001_sym1e-05-5M/k_srme.json.gz differ diff --git a/models/MatterSim-V1/2024-12-09-MatterSim-V1-phononDB-LTC-FIRE_2SR_force0.0001_sym1e-05-5M/run_params.json b/models/MatterSim-V1/2024-12-09-MatterSim-V1-phononDB-LTC-FIRE_2SR_force0.0001_sym1e-05-5M/run_params.json new file mode 100644 index 0000000..6698e58 --- /dev/null +++ b/models/MatterSim-V1/2024-12-09-MatterSim-V1-phononDB-LTC-FIRE_2SR_force0.0001_sym1e-05-5M/run_params.json @@ -0,0 +1,23 @@ +{ + "timestamp": "2024-12-09 13:23:55", + "k_srme_version": "1.0.0", + "model_name": "MatterSim-V1", + "versions": { + "numpy": "1.26.4", + "torch": "2.2.0" + }, + "ase_optimizer": "FIRE", + "ase_filter": "frechet", + "if_two_stage_relax": true, + "max_steps": 300, + "force_max": 0.0001, + "symprec": 1e-05, + "enforce_relax_symm": true, + "conductivity_broken_symm": false, + "slurm_array_task_count": 1, + "slurm_array_job_id": "prod", + "task_type": "LTC", + "job_name": "MatterSim-V1-phononDB-LTC-FIRE_2SR_force0.0001_sym1e-05", + "struct_data_path": "phononDB-PBE-structures.extxyz", + "n_structures": 103 +} \ No newline at end of file diff --git a/models/MatterSim-V1/2_evaluate.py b/models/MatterSim-V1/2_evaluate.py new file mode 100644 index 0000000..731fd9d --- /dev/null +++ b/models/MatterSim-V1/2_evaluate.py @@ -0,0 +1,93 @@ +import os +from glob import glob +import pandas as pd + +from k_srme import glob2df, ID, DFT_NONAC_REF +from k_srme.benchmark import get_metrics, process_benchmark_descriptors + + +model_name = "MatterSim-V1" + +json_file = "k_srme.json.gz" +txt_path = "metrics.txt" +in_file = "conductivity*.json.gz" + +in_folder = "2024-12-09-MatterSim-V1-phononDB-LTC-FIRE_2SR_force0.0001_sym1e-05-1M" +# in_folder = "2024-12-09-MatterSim-V1-phononDB-LTC-FIRE_2SR_force0.0001_sym1e-05-5M" + +# Comparing with the DFT results without +# non-analytical correction term (NAC) +DFT_RESULTS_FILE = DFT_NONAC_REF + + +module_dir = os.path.dirname(__file__) +in_pattern = f"{module_dir}/{in_folder}/{in_file}" +out_path = f"{module_dir}/{in_folder}/{json_file}" + + +# Read MLP results +if not glob(in_pattern): + if os.path.exists(out_path): + df_mlp_results = pd.read_json(out_path).set_index(ID) +else: + df_mlp_results = glob2df(in_pattern, max_files=None).set_index(ID) + + +# df_mlp_results.reset_index().to_json(out_path) + +# Read DFT results +df_dft_results = pd.read_json(DFT_RESULTS_FILE).set_index(ID) + + +df_mlp_filtered = df_mlp_results[df_mlp_results.index.isin(df_dft_results.index)] +df_mlp_filtered = df_mlp_filtered.reindex(df_dft_results.index) + +df_mlp_processed = process_benchmark_descriptors(df_mlp_filtered, df_dft_results) + +mSRE, mSRME, rmseSRE, rmseSRME = get_metrics(df_mlp_filtered) + + +# Save results +df_mlp_processed.round(5) +df_mlp_processed.index.name = ID +df_mlp_processed.reset_index().to_json(out_path) + + +# Print +pd.set_option("display.max_rows", None) +pd.set_option("display.max_columns", None) +df_mlp_print = df_mlp_filtered[ + [ + "desc", + "SRME", + "SRE", + "kappa_TOT_ave", + "DFT_kappa_TOT_ave", + "imaginary_freqs", + "errors", + ] +] +df_mlp_print["DFT_kappa_TOT_ave"] = df_mlp_print["DFT_kappa_TOT_ave"].apply( + lambda x: x[0] if not pd.isna(x) else x +) +df_mlp_print["kappa_TOT_ave"] = df_mlp_print["kappa_TOT_ave"].apply( + lambda x: x[0] if not pd.isna(x) else x +) +df_mlp_print["SRME_failed"] = df_mlp_print["SRME"].apply(lambda x: x == 2) + +with open(txt_path, "w") as f: + print(f"MODEL: {model_name}", file=f) + print(f"\tmean SRME: {mSRME}", file=f) + print(f"\tmean SRE: {mSRE}", file=f) + + print(df_mlp_print.round(4), file=f) + + +df_mlp_print = df_mlp_print[ + ["desc", "SRME", "SRE", "kappa_TOT_ave", "DFT_kappa_TOT_ave"] +] +print(df_mlp_print.round(3)) + +print(f"MODEL: {model_name}") +print(f"\tmean SRME: {mSRME}") +print(f"\tmean SRE: {mSRE}") diff --git a/models/MatterSim-V1/metrics-MatterSim-1M.txt b/models/MatterSim-V1/metrics-MatterSim-1M.txt new file mode 100644 index 0000000..45f22e2 --- /dev/null +++ b/models/MatterSim-V1/metrics-MatterSim-1M.txt @@ -0,0 +1,214 @@ +MODEL: MatterSim-V1 + mean SRME: 0.5546669270590349 + mean SRE: 0.34250088409755425 + desc SRME SRE kappa_TOT_ave DFT_kappa_TOT_ave \ +mp_id +mp-2472 SrO-rs 0.2375 0.0219 9.7007 9.9151 +mp-2542 BeO-wz 0.1224 0.0620 275.2326 292.8383 +mp-8884 ZnTe-wz 0.6217 0.1240 14.1285 15.9969 +mp-1541 BeSe-zb 0.3400 0.2756 73.7970 97.3876 +mp-23295 RbCl-rs 1.1660 1.1111 0.5662 1.9815 +mp-23703 LiH-rs 0.6622 0.6417 11.0194 21.4309 +mp-1183441 BeTe-wz 0.4893 0.1867 53.3832 64.3781 +mp-8883 GaAs-wz 0.5161 0.2155 23.4073 29.0603 +mp-22913 CuBr-zb 0.8775 0.6141 1.4995 2.8286 +mp-1265 MgO-rs 0.1083 0.0189 48.8446 47.9311 +mp-24721 RbH-rs 0.6304 0.5818 2.3652 4.3058 +mp-1008559 BP-wz 0.5455 0.3888 251.3330 372.6256 +mp-406 CdTe-zb 0.5964 0.1311 7.8573 6.8908 +mp-10695 ZnS-zb 0.3395 0.1516 39.6128 34.0310 +mp-682 NaF-rs 0.2232 0.1293 20.2547 23.0548 +no-mp-4 BeS-wz 0.3804 0.2733 92.8005 122.1758 +mp-569346 CuI-wz 0.7009 0.1960 8.1420 6.6883 +mp-13033 MgTe-zb 0.7021 0.6348 31.0380 16.0828 +mp-2172 AlAs-zb 0.8054 0.6470 172.8889 88.3701 +mp-19717 PbTe-rs 0.5141 0.2042 1.2079 0.9841 +mp-463 KF-rs 0.4832 0.3290 4.9116 6.8460 +mp-8882 GaP-wz 0.4842 0.0472 103.3205 98.5531 +mp-966800 InP-wz 0.6351 0.1921 62.8009 76.1462 +mp-1156 GaSb-zb 0.5717 0.4352 22.5775 35.1349 +mp-22905 LiCl-rs 0.3514 0.0709 3.4007 3.6507 +mp-1672 CaS-rs 0.2504 0.1447 23.5951 27.2761 +mp-8880 AlP-wz 0.4069 0.1898 65.0498 78.6923 +mp-10044 BAs-zb 0.5529 0.5168 741.1603 1257.6942 +mp-20305 InAs-zb 0.3736 0.1249 24.7274 21.8216 +mp-2201 PbSe-rs 0.6298 0.4335 1.3586 0.8745 +mp-23870 NaH-rs 0.3213 0.2725 11.9316 15.6951 +no-mp-3 BeSe-wz 0.4586 0.4115 53.1006 80.6115 +mp-8062 SiC-zb 0.2282 0.0207 375.5705 367.8729 +mp-1190 ZnSe-zb 0.5851 0.4431 24.8200 15.8165 +mp-22903 RbI-rs 1.9559 1.9558 0.0200 1.7878 +mp-1500 BaS-rs 0.6669 0.2584 4.6967 6.0901 +mp-1007661 InSb-wz 0.7674 0.1900 12.7614 10.5469 +mp-422 BeS-zb 0.3178 0.1366 127.7109 146.4423 +mp-22895 CuI-zb 0.6294 0.2604 9.0982 7.0023 +mp-23193 KCl-rs 0.3727 0.0169 6.2500 6.1454 +mp-7631 SiC-wz 0.1831 0.0689 403.4728 376.5864 +mp-380 ZnSe-wz 0.5676 0.3208 21.2921 15.4053 +no-mp-2 CuH-zb 0.7320 0.4122 22.5088 14.8162 +mp-1700 AlN-zb 0.1525 0.0269 223.5793 217.6469 +mp-1784 CsF-rs 0.6652 0.3880 1.0832 1.6047 +mp-22862 NaCl-rs 0.3188 0.1783 6.0324 7.2135 +mp-580941 AgI-wz 0.8315 0.1370 1.4737 1.6905 +mp-20411 InN-zb 0.3203 0.2898 73.1849 97.9891 +mp-22914 CuCl-zb 0.7867 0.7403 0.6958 1.5136 +mp-22867 RbBr-rs 1.5704 1.5578 0.3925 3.1576 +mp-1070 CdSe-wz 0.5361 0.0619 11.5006 10.8100 +mp-2653 BN-wz 0.0923 0.0165 579.0231 569.5447 +mp-252 BeTe-zb 0.4606 0.1855 66.5762 80.1883 +mp-2534 GaAs-zb 0.3459 0.1478 27.7194 32.1448 +mp-24084 KH-rs 0.3218 0.1882 6.8667 8.2932 +mp-1519 CaTe-rs 0.2445 0.0653 8.3744 8.9394 +mp-1018059 GaSb-wz 0.6299 0.2692 18.0787 23.7022 +mp-2691 CdSe-zb 0.5118 0.2761 15.4003 11.6640 +mp-1639 BN-zb 0.1025 0.0046 658.8950 655.9004 +mp-1415 CaSe-rs 0.2788 0.2391 11.9805 15.2337 +mp-23268 NaI-rs 0.6043 0.3805 1.0995 1.6161 +mp-2133 ZnO-wz 0.1801 0.0123 51.2422 51.8763 +mp-2490 GaP-zb 0.5499 0.3731 134.9826 92.5425 +mp-20351 InP-zb 0.4232 0.0353 76.9344 79.7003 +mp-1132 CdO-rs 0.5319 0.1910 6.5387 7.9195 +mp-2605 CaO-rs 0.1360 0.0065 23.7396 23.5857 +mp-12779 CdTe-wz 0.7739 0.2490 7.5792 5.9008 +mp-561286 ZnS-wz 0.3774 0.1184 33.5210 37.7411 +mp-2624 AlSb-zb 0.8291 0.2868 106.7551 79.9804 +mp-1138 LiF-rs 0.1975 0.0540 13.4013 14.1451 +mp-22922 AgCl-rs 0.3498 0.2056 0.4291 0.5274 +mp-672 CdS-wz 0.4566 0.2647 14.9225 19.4747 +mp-804 GaN-wz 0.1589 0.0590 170.0241 180.3652 +mp-1986 ZnO-zb 0.1436 0.0769 58.2233 53.9131 +mp-1000 BaTe-rs 1.8969 1.8961 0.2339 8.7759 +mp-22916 NaBr-rs 0.6555 0.6375 1.5249 2.9518 +mp-24093 CuH-wz 0.6751 0.1172 8.9387 7.9492 +mp-661 AlN-wz 0.1375 0.0158 238.0923 234.3662 +mp-1479 BP-zb 0.4942 0.4073 265.6447 401.5107 +mp-22899 LiI-rs 0.9034 0.7754 0.6184 1.4015 +mp-11718 RbF-rs 0.5391 0.4891 1.8925 3.1177 +no-mp-1 CuBr-wz 0.7850 0.5474 1.3468 2.3619 +mp-2469 CdS-zb 0.3526 0.2070 17.5461 21.5979 +mp-830 GaN-zb 0.1977 0.0896 148.9109 162.8771 +mp-23259 LiBr-rs 0.4053 0.2983 1.3536 1.8282 +mp-1342 BaO-rs 0.3475 0.2539 2.3559 3.0410 +mp-1018100 AlSb-wz 0.9655 0.4247 90.5999 58.8637 +mp-1778 BeO-zb 0.1233 0.0673 334.9402 358.2733 +mp-2176 ZnTe-zb 0.5765 0.0772 17.3207 18.7122 +mp-23251 KBr-rs 0.9990 0.9485 0.9107 2.5537 +mp-22898 KI-rs 2.0000 2.0000 NaN 1.4035 +mp-984718 BAs-wz 0.7709 0.7064 527.1762 1102.8709 +mp-1007652 InAs-wz 0.5609 0.0264 19.8498 20.3819 +mp-22925 AgI-zb 0.4845 0.0747 2.1843 2.3537 +mp-1253 BaSe-rs 1.6015 1.5953 1.0027 8.9083 +mp-22205 InN-wz 0.4502 0.4388 74.9280 117.0513 +mp-1184046 CuCl-wz 0.7547 0.5068 0.7432 1.2477 +mp-20012 InSb-zb 0.6170 0.0608 14.2286 13.3893 +mp-23231 AgBr-rs 0.3989 0.0167 0.4440 0.4367 +mp-21276 PbS-rs 0.6089 0.3544 2.0245 1.4150 +mp-1039 MgTe-wz 0.6459 0.5225 22.1480 12.9730 +mp-8881 AlAs-wz 0.8384 0.6062 140.7437 75.2686 +mp-1550 AlP-zb 0.3588 0.1694 72.8277 86.3081 + + imaginary_freqs errors SRME_failed +mp_id +mp-2472 False [] False +mp-2542 False [] False +mp-8884 False [] False +mp-1541 False [] False +mp-23295 False [] False +mp-23703 False [] False +mp-1183441 False [] False +mp-8883 False [] False +mp-22913 False [] False +mp-1265 False [] False +mp-24721 False [] False +mp-1008559 False [] False +mp-406 False [] False +mp-10695 False [] False +mp-682 False [] False +no-mp-4 False [] False +mp-569346 False [] False +mp-13033 False [] False +mp-2172 False [] False +mp-19717 False [] False +mp-463 False [] False +mp-8882 False [] False +mp-966800 False [] False +mp-1156 False [] False +mp-22905 False [] False +mp-1672 False [] False +mp-8880 False [] False +mp-10044 False [] False +mp-20305 False [] False +mp-2201 False [] False +mp-23870 False [] False +no-mp-3 False [] False +mp-8062 False [] False +mp-1190 False [] False +mp-22903 False [] False +mp-1500 False [] False +mp-1007661 False [] False +mp-422 False [] False +mp-22895 False [] False +mp-23193 False [] False +mp-7631 False [] False +mp-380 False [] False +no-mp-2 False [] False +mp-1700 False [] False +mp-1784 False [] False +mp-22862 False [] False +mp-580941 False [] False +mp-20411 False [] False +mp-22914 False [] False +mp-22867 False [] False +mp-1070 False [] False +mp-2653 False [] False +mp-252 False [] False +mp-2534 False [] False +mp-24084 False [] False +mp-1519 False [] False +mp-1018059 False [] False +mp-2691 False [] False +mp-1639 False [] False +mp-1415 False [] False +mp-23268 False [] False +mp-2133 False [] False +mp-2490 False [] False +mp-20351 False [] False +mp-1132 False [] False +mp-2605 False [] False +mp-12779 False [] False +mp-561286 False [] False +mp-2624 False [] False +mp-1138 False [] False +mp-22922 False [] False +mp-672 False [] False +mp-804 False [] False +mp-1986 False [] False +mp-1000 False [] False +mp-22916 False [] False +mp-24093 False [] False +mp-661 False [] False +mp-1479 False [] False +mp-22899 False [] False +mp-11718 False [] False +no-mp-1 False [] False +mp-2469 False [] False +mp-830 False [] False +mp-23259 False [] False +mp-1342 False [] False +mp-1018100 False [] False +mp-1778 False [] False +mp-2176 False [] False +mp-23251 False [] False +mp-22898 True [] True +mp-984718 False [] False +mp-1007652 False [] False +mp-22925 False [] False +mp-1253 False [] False +mp-22205 False [] False +mp-1184046 False [] False +mp-20012 False [] False +mp-23231 False [] False +mp-21276 False [] False +mp-1039 False [] False +mp-8881 False [] False +mp-1550 False [] False diff --git a/models/MatterSim-V1/metrics-MatterSim-5M.txt b/models/MatterSim-V1/metrics-MatterSim-5M.txt new file mode 100644 index 0000000..3cc5c3d --- /dev/null +++ b/models/MatterSim-V1/metrics-MatterSim-5M.txt @@ -0,0 +1,214 @@ +MODEL: MatterSim-V1 + mean SRME: 0.5745027442558724 + mean SRE: 0.41261004159193315 + desc SRME SRE kappa_TOT_ave DFT_kappa_TOT_ave \ +mp_id +mp-2472 SrO-rs 0.1845 0.1114 8.8687 9.9151 +mp-2542 BeO-wz 0.1219 0.0793 270.4887 292.8383 +mp-8884 ZnTe-wz 0.6144 0.3015 11.8058 15.9969 +mp-1541 BeSe-zb 0.2860 0.1582 83.1135 97.3876 +mp-23295 RbCl-rs 1.1567 1.1384 0.5440 1.9815 +mp-23703 LiH-rs 0.3607 0.3165 15.5744 21.4309 +mp-1183441 BeTe-wz 0.7494 0.6954 31.1585 64.3781 +mp-8883 GaAs-wz 0.6477 0.2266 23.1445 29.0603 +mp-22913 CuBr-zb 0.5363 0.4823 1.7294 2.8286 +mp-1265 MgO-rs 0.1029 0.0569 50.7360 47.9311 +mp-24721 RbH-rs 0.7570 0.4092 2.8432 4.3058 +mp-1008559 BP-wz 0.3727 0.0173 379.1303 372.6256 +mp-406 CdTe-zb 0.7196 0.5992 3.7137 6.8908 +mp-10695 ZnS-zb 0.3704 0.1688 40.3038 34.0310 +mp-682 NaF-rs 0.2310 0.1979 18.9029 23.0548 +no-mp-4 BeS-wz 0.3867 0.3239 88.1192 122.1758 +mp-569346 CuI-wz 0.3752 0.1338 5.8495 6.6883 +mp-13033 MgTe-zb 0.5264 0.1834 13.3809 16.0828 +mp-2172 AlAs-zb 0.5616 0.0775 95.4954 88.3701 +mp-19717 PbTe-rs 0.7404 0.4817 0.6021 0.9841 +mp-463 KF-rs 0.3689 0.3163 4.9765 6.8460 +mp-8882 GaP-wz 0.6016 0.4552 62.0107 98.5531 +mp-966800 InP-wz 0.7585 0.4333 49.0260 76.1462 +mp-1156 GaSb-zb 0.8186 0.6970 16.9739 35.1349 +mp-22905 LiCl-rs 0.2654 0.2335 2.8873 3.6507 +mp-1672 CaS-rs 0.2406 0.2120 22.0486 27.2761 +mp-8880 AlP-wz 0.3892 0.1987 64.4724 78.6923 +mp-10044 BAs-zb 0.6675 0.6405 647.5346 1257.6942 +mp-20305 InAs-zb 0.4326 0.0817 23.6813 21.8216 +mp-2201 PbSe-rs 0.6964 0.3581 0.6089 0.8745 +mp-23870 NaH-rs 0.2190 0.1028 17.3960 15.6951 +no-mp-3 BeSe-wz 0.3507 0.2761 61.0563 80.6115 +mp-8062 SiC-zb 0.2423 0.0611 346.0725 367.8729 +mp-1190 ZnSe-zb 0.5649 0.2777 20.9161 15.8165 +mp-22903 RbI-rs 2.0000 2.0000 NaN 1.7878 +mp-1500 BaS-rs 0.5360 0.4954 3.6719 6.0901 +mp-1007661 InSb-wz 0.7055 0.0803 9.7323 10.5469 +mp-422 BeS-zb 0.3014 0.2540 113.4331 146.4423 +mp-22895 CuI-zb 0.2875 0.0002 7.0037 7.0023 +mp-23193 KCl-rs 0.8900 0.8642 2.4371 6.1454 +mp-7631 SiC-wz 0.1670 0.0212 368.6857 376.5864 +mp-380 ZnSe-wz 0.5114 0.1344 17.6252 15.4053 +no-mp-2 CuH-zb 1.2160 1.1678 3.8922 14.8162 +mp-1700 AlN-zb 0.1161 0.0557 230.1186 217.6469 +mp-1784 CsF-rs 0.5112 0.3297 1.1506 1.6047 +mp-22862 NaCl-rs 0.5862 0.5704 4.0119 7.2135 +mp-580941 AgI-wz 0.8807 0.7431 0.7746 1.6905 +mp-20411 InN-zb 0.1586 0.0123 99.2051 97.9891 +mp-22914 CuCl-zb 0.5808 0.2814 2.0093 1.5136 +mp-22867 RbBr-rs 1.7012 1.6980 0.2578 3.1576 +mp-1070 CdSe-wz 0.3876 0.0998 9.7823 10.8100 +mp-2653 BN-wz 0.0993 0.0774 527.0923 569.5447 +mp-252 BeTe-zb 0.7939 0.5875 43.7730 80.1883 +mp-2534 GaAs-zb 0.5196 0.0933 29.2788 32.1448 +mp-24084 KH-rs 0.9734 0.9369 3.0018 8.2932 +mp-1519 CaTe-rs 0.4746 0.4000 5.9595 8.9394 +mp-1018059 GaSb-wz 0.8577 0.6136 12.5723 23.7022 +mp-2691 CdSe-zb 0.2975 0.0810 12.6483 11.6640 +mp-1639 BN-zb 0.0774 0.0420 628.9316 655.9004 +mp-1415 CaSe-rs 0.3047 0.2614 11.7116 15.2337 +mp-23268 NaI-rs 1.1392 1.0671 0.4916 1.6161 +mp-2133 ZnO-wz 0.1296 0.0319 50.2471 51.8763 +mp-2490 GaP-zb 0.4333 0.1190 82.1472 92.5425 +mp-20351 InP-zb 0.6697 0.4372 51.1053 79.7003 +mp-1132 CdO-rs 0.3051 0.0771 8.5542 7.9195 +mp-2605 CaO-rs 0.1343 0.0583 22.2499 23.5857 +mp-12779 CdTe-wz 0.8379 0.6247 3.0918 5.9008 +mp-561286 ZnS-wz 0.3641 0.0080 38.0447 37.7411 +mp-2624 AlSb-zb 1.1465 1.1259 22.3645 79.9804 +mp-1138 LiF-rs 0.2187 0.1758 11.8589 14.1451 +mp-22922 AgCl-rs 0.3084 0.2184 0.4236 0.5274 +mp-672 CdS-wz 0.3066 0.0369 18.7690 19.4747 +mp-804 GaN-wz 0.1564 0.0807 166.3824 180.3652 +mp-1986 ZnO-zb 0.1303 0.0821 58.5278 53.9131 +mp-1000 BaTe-rs 1.9136 1.9124 0.1965 8.7759 +mp-22916 NaBr-rs 0.6683 0.6480 1.5071 2.9518 +mp-24093 CuH-wz 2.0000 2.0000 NaN 7.9492 +mp-661 AlN-wz 0.1150 0.0102 231.9767 234.3662 +mp-1479 BP-zb 0.3964 0.1543 343.9812 401.5107 +mp-22899 LiI-rs 0.4659 0.3302 1.0043 1.4015 +mp-11718 RbF-rs 1.0701 1.0646 0.9516 3.1177 +no-mp-1 CuBr-wz 0.4412 0.3438 1.6689 2.3619 +mp-2469 CdS-zb 0.3008 0.0056 21.4780 21.5979 +mp-830 GaN-zb 0.1360 0.0656 152.5292 162.8771 +mp-23259 LiBr-rs 0.3434 0.2038 1.4901 1.8282 +mp-1342 BaO-rs 0.3564 0.2722 2.3124 3.0410 +mp-1018100 AlSb-wz 1.2224 1.1758 15.2762 58.8637 +mp-1778 BeO-zb 0.1207 0.1076 321.6812 358.2733 +mp-2176 ZnTe-zb 0.6902 0.3680 12.8959 18.7122 +mp-23251 KBr-rs 1.5091 1.5023 0.3629 2.5537 +mp-22898 KI-rs 2.0000 2.0000 NaN 1.4035 +mp-984718 BAs-wz 0.6971 0.6380 569.4023 1102.8709 +mp-1007652 InAs-wz 0.5504 0.1374 17.7606 20.3819 +mp-22925 AgI-zb 0.8539 0.7304 1.0945 2.3537 +mp-1253 BaSe-rs 1.0382 1.0119 2.9225 8.9083 +mp-22205 InN-wz 0.2522 0.1981 95.9519 117.0513 +mp-1184046 CuCl-wz 0.3810 0.1642 1.4709 1.2477 +mp-20012 InSb-zb 0.6674 0.3086 9.8093 13.3893 +mp-23231 AgBr-rs 0.4551 0.1721 0.3675 0.4367 +mp-21276 PbS-rs 0.4716 0.0568 1.3368 1.4150 +mp-1039 MgTe-wz 0.4790 0.3596 9.0193 12.9730 +mp-8881 AlAs-wz 0.5409 0.0080 74.6704 75.2686 +mp-1550 AlP-zb 0.4041 0.0014 86.4330 86.3081 + + imaginary_freqs errors SRME_failed +mp_id +mp-2472 False [] False +mp-2542 False [] False +mp-8884 False [] False +mp-1541 False [] False +mp-23295 False [] False +mp-23703 False [] False +mp-1183441 False [] False +mp-8883 False [] False +mp-22913 False [] False +mp-1265 False [] False +mp-24721 False [] False +mp-1008559 False [] False +mp-406 False [] False +mp-10695 False [] False +mp-682 False [] False +no-mp-4 False [] False +mp-569346 False [] False +mp-13033 False [] False +mp-2172 False [] False +mp-19717 False [] False +mp-463 False [] False +mp-8882 False [] False +mp-966800 False [] False +mp-1156 False [] False +mp-22905 False [] False +mp-1672 False [] False +mp-8880 False [] False +mp-10044 False [] False +mp-20305 False [] False +mp-2201 False [] False +mp-23870 False [] False +no-mp-3 False [] False +mp-8062 False [] False +mp-1190 False [] False +mp-22903 True [] True +mp-1500 False [] False +mp-1007661 False [] False +mp-422 False [] False +mp-22895 False [] False +mp-23193 False [] False +mp-7631 False [] False +mp-380 False [] False +no-mp-2 False [] False +mp-1700 False [] False +mp-1784 False [] False +mp-22862 False [] False +mp-580941 False [] False +mp-20411 False [] False +mp-22914 False [] False +mp-22867 False [] False +mp-1070 False [] False +mp-2653 False [] False +mp-252 False [] False +mp-2534 False [] False +mp-24084 False [] False +mp-1519 False [] False +mp-1018059 False [] False +mp-2691 False [] False +mp-1639 False [] False +mp-1415 False [] False +mp-23268 False [] False +mp-2133 False [] False +mp-2490 False [] False +mp-20351 False [] False +mp-1132 False [] False +mp-2605 False [] False +mp-12779 False [] False +mp-561286 False [] False +mp-2624 False [] False +mp-1138 False [] False +mp-22922 False [] False +mp-672 False [] False +mp-804 False [] False +mp-1986 False [] False +mp-1000 False [] False +mp-22916 False [] False +mp-24093 True [] True +mp-661 False [] False +mp-1479 False [] False +mp-22899 False [] False +mp-11718 False [] False +no-mp-1 False [] False +mp-2469 False [] False +mp-830 False [] False +mp-23259 False [] False +mp-1342 False [] False +mp-1018100 False [] False +mp-1778 False [] False +mp-2176 False [] False +mp-23251 False [] False +mp-22898 True [] True +mp-984718 False [] False +mp-1007652 False [] False +mp-22925 False [] False +mp-1253 False [] False +mp-22205 False [] False +mp-1184046 False [] False +mp-20012 False [] False +mp-23231 False [] False +mp-21276 False [] False +mp-1039 False [] False +mp-8881 False [] False +mp-1550 False [] False