core.components.calculate.nve_md_runner#

Copyright (c) Meta Platforms, Inc. and affiliates.

This source code is licensed under the MIT license found in the LICENSE file in the root directory of this source tree.

Attributes#

Classes#

NVEMDRunner

Perform a single point calculation of several structures/molecules.

Functions#

get_thermo(filename)

read thermo logs.

get_nve_md_data(dataset_root, dataset_name)

Module Contents#

core.components.calculate.nve_md_runner.get_thermo(filename)#

read thermo logs.

core.components.calculate.nve_md_runner.MD22_TEMP#
core.components.calculate.nve_md_runner.TM23_TEMP#
core.components.calculate.nve_md_runner.get_nve_md_data(dataset_root, dataset_name)#
class core.components.calculate.nve_md_runner.NVEMDRunner(calculator: ase.calculators.calculator.Calculator, input_data: collections.abc.Sequence, time_step: float, steps: float, save_frequency: int = 10)#

Bases: fairchem.core.components.calculate.CalculateRunner

Perform a single point calculation of several structures/molecules.

This class handles the single point calculation of atomic structures using a specified calculator, processes the input data in chunks, and saves the results.

result_glob_pattern: ClassVar[str] = 'thermo_*-*.log'#
time_step#
steps#
save_frequency#
calculate(job_num: int = 0, num_jobs: int = 1) list[dict[str, Any]]#

Perform singlepoint calculations on a subset of structures.

Splits the input data into chunks and processes the chunk corresponding to job_num.

Parameters:
  • job_num (int, optional) – Current job number in array job. Defaults to 0.

  • num_jobs (int, optional) – Total number of jobs in array. Defaults to 1.

Returns:

list[dict[str, Any]] - List of dictionaries containing calculation results

write_results(results: list[dict[str, Any]], results_dir: str, job_num: int = 0, num_jobs: int = 1) None#

Write calculation results to a compressed JSON file.

Parameters:
  • results – List of dictionaries containing energy and forces results

  • results_dir – Directory path where results will be saved

  • job_num – Index of the current job

  • num_jobs – Total number of jobs

save_state(checkpoint_location: str, is_preemption: bool = False) bool#

Save the current state of the calculation to a checkpoint.

Parameters:
  • checkpoint_location (str) – Location to save the checkpoint

  • is_preemption (bool, optional) – Whether this save is due to preemption. Defaults to False.

Returns:

True if state was successfully saved, False otherwise

Return type:

bool

load_state(checkpoint_location: str | None) None#

Load a previously saved state from a checkpoint.

Parameters:

checkpoint_location (str | None) – Location of the checkpoint to load, or None if no checkpoint