airsspy.volume_minsep#

Volume/minsep estimates and buildcell seed helpers.

Module Contents#

Classes#

EstimateSource

Provenance for an estimated value.

VolumeMinsepEstimate

Formula-level volume and minsep estimate.

Functions#

normalize_formula

Return pymatgen’s reduced formula for formula.

required_pair_keys

Return canonical pair keys required by a formula.

load_volume_minsep_dataset_index

Load a one-row-per-formula curated dataset index.

volume_minsep_estimate_from_exact_record

Build an estimate from one curated dataset record.

lookup_exact_volume_minsep_estimate

Look up an exact curated dataset estimate for formula.

volume_minsep_estimate_from_prediction

Convert a baseline prediction payload into an estimate.

predict_baseline_volume_minsep_estimate

Predict an estimate using a baseline bundle.

reference_volume_minsep_estimate

Build an estimate from reference ASE structures.

resolve_nform

Resolve the buildcell #NFORM value from atom budget constraints.

apply_minsep_headroom

Convert canonical minsep values into buildcell ranges.

build_seed_text_from_estimate

Inject formula, volume, minsep, and nform directives into seed text.

validate_estimate_options

Validate common CLI estimate options.

Data#

API#

airsspy.volume_minsep.DEFAULT_VOLUME_SCALE#

1.1

airsspy.volume_minsep.DEFAULT_MINSEP_SCALE_LOW#

0.9

airsspy.volume_minsep.DEFAULT_MINSEP_SCALE_HIGH#

1.1

airsspy.volume_minsep.DEFAULT_MINSEP_DECIMALS#

2

airsspy.volume_minsep.DEFAULT_BASELINE_MINSEP_RANGE#

(0.5, 1.0)

class airsspy.volume_minsep.EstimateSource[source]#

Provenance for an estimated value.

method: str#

None

n_observations: int#

None

class airsspy.volume_minsep.VolumeMinsepEstimate[source]#

Formula-level volume and minsep estimate.

input_formula: str#

None

reduced_formula: str#

None

composition: dict[str, float]#

None

atoms_per_formula_unit: float#

None

volume_per_atom: float#

None

total_volume: float#

None

canonical_minsep: dict[str, float]#

None

volume_source: airsspy.volume_minsep.EstimateSource#

None

minsep_sources: dict[str, airsspy.volume_minsep.EstimateSource]#

None

formula_match_count: int#

None

material_id: str | None#

None

energy_above_hull: float | None#

None

predictor_type: str | None#

None

model_artifact: str | None#

None

model_metrics: dict | None#

None

airsspy.volume_minsep.normalize_formula(formula: str) str[source]#

Return pymatgen’s reduced formula for formula.

airsspy.volume_minsep.required_pair_keys(formula: str) list[str][source]#

Return canonical pair keys required by a formula.

airsspy.volume_minsep.load_volume_minsep_dataset_index(dataset_path: str | pathlib.Path) dict[str, dict][source]#

Load a one-row-per-formula curated dataset index.

airsspy.volume_minsep.volume_minsep_estimate_from_exact_record(*, formula: str, record: dict) airsspy.volume_minsep.VolumeMinsepEstimate[source]#

Build an estimate from one curated dataset record.

airsspy.volume_minsep.lookup_exact_volume_minsep_estimate(*, formula: str, dataset_path: str | pathlib.Path) airsspy.volume_minsep.VolumeMinsepEstimate[source]#

Look up an exact curated dataset estimate for formula.

airsspy.volume_minsep.volume_minsep_estimate_from_prediction(*, formula: str, prediction: dict) airsspy.volume_minsep.VolumeMinsepEstimate[source]#

Convert a baseline prediction payload into an estimate.

airsspy.volume_minsep.predict_baseline_volume_minsep_estimate(*, formula: str, bundle_path: str | pathlib.Path) airsspy.volume_minsep.VolumeMinsepEstimate[source]#

Predict an estimate using a baseline bundle.

airsspy.volume_minsep.reference_volume_minsep_estimate(*, formula: str, references: collections.abc.Sequence[ase.Atoms]) airsspy.volume_minsep.VolumeMinsepEstimate[source]#

Build an estimate from reference ASE structures.

airsspy.volume_minsep.resolve_nform(*, atoms_per_formula_unit: float, max_atoms: int, max_nform: int = 8, nform_override: str | None = None) str | dict[str, list[int]][source]#

Resolve the buildcell #NFORM value from atom budget constraints.

airsspy.volume_minsep.apply_minsep_headroom(canonical_minsep: dict[str, float], *, low_scale: float = DEFAULT_MINSEP_SCALE_LOW, high_scale: float = DEFAULT_MINSEP_SCALE_HIGH, digits: int = DEFAULT_MINSEP_DECIMALS) dict[str, tuple[float, float]][source]#

Convert canonical minsep values into buildcell ranges.

airsspy.volume_minsep.build_seed_text_from_estimate(seed_text: str, *, estimate: airsspy.volume_minsep.VolumeMinsepEstimate, volume_scale: float = DEFAULT_VOLUME_SCALE, minsep_scale_low: float = DEFAULT_MINSEP_SCALE_LOW, minsep_scale_high: float = DEFAULT_MINSEP_SCALE_HIGH, nform: str | dict[str, list[int]] = '1-2') str[source]#

Inject formula, volume, minsep, and nform directives into seed text.

airsspy.volume_minsep.validate_estimate_options(*, volume_scale: float, minsep_scale_low: float, minsep_scale_high: float, max_atoms: int, max_nform: int) None[source]#

Validate common CLI estimate options.