ASE Simulation Engine

class mlip.simulation.ase.ase_simulation_engine.ASESimulationEngine(atoms: Atoms, force_field: ForceField, config: ASESimulationConfig)

Simulation engine handling simulations with the ASE backend.

For MD, the NVT-Langevin algorithm is used (see here). For energy minimization, the BFGS algorithm is used (see here).

__init__(atoms: Atoms, force_field: ForceField, config: ASESimulationConfig) None

Constructor that initializes the simulation state and an empty list of loggers. Engine-specific initialization is then delegated to ._initialize()

Parameters:
  • atoms – The atoms of the system to simulate.

  • force_field – The force field to use in the simulation.

  • config – The configuration/settings of the simulation.

run() None

See documentation of abstract parent class. This runs the simulation using the ASE backend.

Important: The state of the simulation is updated and the loggers are called during this function.

attach_logger(logger: Callable[[SimulationState], None]) None

Adds a logger to the list of loggers of the simulation engine.

The logger function must only take in a single argument, the simulation state, and it shall not return anything.

Parameters:

logger – The logger to add.