ASE Simulation Config

class mlip.simulation.configs.ase_config.ASESimulationConfig(*, simulation_type: ~mlip.simulation.enums.SimulationType = SimulationType.MD, num_steps: ~typing.Annotated[int, ~annotated_types.Gt(gt=0)], snapshot_interval: ~typing.Annotated[int, ~annotated_types.Gt(gt=0)] = 1, box: ~typing.Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Gt(gt=0)])] | ~typing.Annotated[list[~typing.Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Gt(gt=0)])]], FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=3), MaxLen(max_length=3)])] | None = None, edge_capacity_multiplier: ~typing.Annotated[float, ~annotated_types.Ge(ge=1)] = 1.25, log_interval: ~typing.Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Gt(gt=0)])] | None = None, timestep_fs: ~typing.Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Gt(gt=0)])] | None = 1.0, temperature_kelvin: ~typing.Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Gt(gt=0)])] | None = 300.0, friction: ~typing.Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Gt(gt=0)])] | None = 0.1, temperature_schedule_config: ~mlip.simulation.configs.simulation_config.TemperatureScheduleConfig = TemperatureScheduleConfig(method=<TemperatureScheduleMethod.CONSTANT: 'constant'>, temperature=300.0, start_temperature=None, end_temperature=None, max_temperature=None, min_temperature=None, heating_period=None), max_force_convergence_threshold: ~typing.Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Gt(gt=0)])] | None = None)

Configuration for the ASE-based simulations.

Also includes the attributes of the parent class SimulationConfig.

The config is separated into three blocks: values that are used for both MD and minimization, and then the ones used exclusively for MD and for minimization, respectively.

log_interval

The interval in num_steps at which the loggers will be called. If not set, an appropriate value will be attempted to be selected. For fewer than 1000 steps, it will default to 10. For more than 1000 steps, it will default to 1000.

Type:

int | None

timestep_fs

The simulation timestep in femtoseconds. The default is 1.0.

Type:

float | None

temperature_kelvin

The temperature in Kelvin, set to 300 by default. Must be set to None for energy minimizations.

Type:

float | None

friction

Friction coefficient for the simulation. Default is 0.1.

Type:

float | None

temperature_schedule_config

The temperature schedule config to use for the simulation. Default is the constant schedule in which case temperature_kelvin will be applied.

Type:

mlip.simulation.configs.simulation_config.TemperatureScheduleConfig

max_force_convergence_threshold

The convergence threshold for minimizations w.r.t. the sum of the force norms. See the ASE docs for more information. If not set, the ASE default will be used.

Type:

float | None