Add new category containing interstitial benchmarks#337
Add new category containing interstitial benchmarks#337zhonganr wants to merge 3 commits intoddmms:mainfrom
Conversation
| calc = model.get_calculator() | ||
|
|
||
| data_path = download_s3_data( | ||
| key="inputs/interstitial/FE1SIA/DB.zip", |
There was a problem hiding this comment.
Is there a reason to keep the data for the two tests together?
Ideally, we'd have inputs/interstitial/FE1SIA/FE1SIA.zip and inputs/interstitial/relative_stability/relative_stability.zip unless there's anything connecting them?
This also reduces the chance of clashes between directories on unzipping in the cache.
Also note: normally we'd want relative_stability to be consistent with the test name, so if Relastab is the name you're happy with, then actually I'd go with inputs/interstitial/Relastab/Relastab.zip
If you're happy with this, I'm happy to upload zipped versions of the two individual folders within DB.zip in this form?
| ref_formation_energy = energy_ref_raw - (n_config / n_bulk) * energy_bulk | ||
|
|
||
| # Read structure | ||
| atoms = read(poscar_path, format="vasp") |
There was a problem hiding this comment.
Can you add a default spin (multiplicity) and charge? See similar changes here: https://github.com/ddmms/ml-peg/pull/384/changes
I very recently discovered Orb's omol model always requires both to be set, annoyingly
| except (ValueError, IndexError): | ||
| print("Skipping ref.poscar: distinct energy value not found in header.") | ||
| energy_bulk = 0.0 # Fallback or break |
There was a problem hiding this comment.
If there is only a single reference file, shouldn't we be quite confident that we can read it?
| calc = model.get_calculator() | ||
|
|
||
| data_path = download_s3_data( | ||
| key="inputs/interstitial/relative_stability/DB.zip", |
| except (IndexError, ValueError) as e: | ||
| print(f"Warning: Could not extract energy from header '{header}': {e}") | ||
| atoms.info["ref"] = None |
There was a problem hiding this comment.
Does this happen? Given we only have a few files, we probably don't need to keep files with missing references?
|
|
||
| # Calculate | ||
| atoms.calc = calc | ||
|
|
There was a problem hiding this comment.
See above regarding spin/charge
| calculate_rmsd.py | ||
| DB/ | ||
| DB.zip |
There was a problem hiding this comment.
| calculate_rmsd.py | |
| DB/ | |
| DB.zip |
I don't think we should need any of these?
|
Thanks for adding this and sharing the data! It's looking great so far! |
Add a new category
interstitialto assess the models' predictive performance for interstitial defect properties. Two benchmarksFE1SIAandRelastabare included:FE1SIAevaluates the formation energy of a single self-interstitial atom (SIA) in a host lattice for distinct configurations.Relastabevaluates the ability of models to correctly rank the stability of different interstitial configurations.Related to Interstitial benchmarks #339