Skip to content

Models

Models are filed under the calculation setting they advise, not under the algorithm that produces them.

How a model is named

k_points . k_distance . qrf . goldilocks_kdist_ultra . v1
└ setting   └ quantity   └ family └ dataset            └ version
Part Answers
setting Which calculation input this advises. Core's vocabulary.
quantity What the number is. Decides how Core converts it.
family The kind of model fitted.
dataset The snapshot's own record id.
version Bumped when the same combination is trained again.

Setting and quantity are separate because a k-point mesh can be reached from a k-distance or a k-index, and those need different conversions. Keeping them apart lets a second model join a setting without disturbing the first.

On metallicity.is_metal

Some names read as if they say the same thing twice, and this one will not be the last: a magnetism classifier would be magnetism.is_magnetic.

The two parts are still doing different jobs. The setting is what Core routes on, and it stays metallicity whether the answer arrives as a boolean or as a band gap in eV. The quantity is what Core has to interpret, and a false is not a 0.03. A band-gap regressor for the same setting would be metallicity.band_gap, sitting beside this one and reaching the same decision by a different route — exactly as k_index will sit beside k_distance.

Magnetism shows this more plainly than metallicity does, because it needs three quantities rather than two: is_magnetic decides whether to switch spin polarisation on, ordering decides which arrangement to converge towards, and magnetic_moments is what goes into the input file. Only the first repeats its setting's name.

The repetition is inherited rather than invented. The published target contract is goldilocks.is_metal.dft_band_gap_zero.v1, whose quantity segment is is_metal; names follow the contract word for word instead of coining a tidier synonym, because a name that drifts from its contract is worse than a name that repeats itself.

What exists

Setting Kind Quantity Family Status
k-point mesh input k_distance QRF published, historical
Metallicity property is_metal CGCNN trained, not deposited
Metallicity property representation CGCNN published, historical
Magnetism input planned
Hubbard U input planned

Historical means the record's latest version is its last. Both published records were fitted before this repository existed, from workflows that were not versioned protocols, so neither carries a training run anyone can repeat. They stay loadable and citable; a successor is a new record, not a new version.

Two of those rows share a setting, because the same architecture trained on the same labels can give you two different things. The second level of the name says which:

deposits/metallicity/is_metal/cgcnn/         a decision
deposits/metallicity/representation/cgcnn/   64 numbers another model consumes

The representation record says role: feature_extractor, and load_model declines to serve it, naming the reason.

Input settings are written into a DFT input file. Property settings are facts about the material that inform several inputs at once.

Which model Core reaches for when the caller names none is Core's decision, and Core's registry records it — not this table. Core does not read these PSDI records at all today; it downloads its own copies from Hugging Face.