Simulator

This module drives molecular dynamics simulations using codes such as LAMMPS. This functionality may be used to study scientific questions, obtain additional training data, or test a potential.

As with Oracles and other Calculator-like modules, the central function of this module is run(). This function is designed to generate a single input file by default. However, in certain scenarios, it may be necessary to include additional input files after the run directory is created but prior to executing the calculation. To address this need, there is an internal flag: external_setup which can be set to True. If this flag is switched on, then the Simulator will call its _external_calculation_setup() method, passing in the run_path. This function will in turn call self.external_func(path), which should be set by an external module. See ElasticConstants’s conduct_sim() method for a practical example.

The abstract base class Simulator provides the standard interface for all of the concrete implementations.

See the full API for the module at Simulator Module.

Inheritance Graph

Inheritance diagram of orchestrator.simulator.factory, orchestrator.simulator.lammps