pyiron_contrib.atomistics.ml.potentialfit module

Abstract base class for fitting interactomic potentials.

class pyiron_contrib.atomistics.ml.potentialfit.PotentialFit[source]

Bases: ABC

Abstract mixin that defines a general interface to potential fitting codes.

Training data can be added to the job with :method:`~.add_training_data`. This should be atom structures with (at least) corresponding energies and forces, but additional (per structure or atom) maybe added. Subclasses of TrainingContainer that define and handle such data are explicitly allowed.

:property:`~.training_data` and :property:`~.predicted_data` can be used to access the initial training data and the predicted data on them after the fit.

add_training_data(container: TrainingContainer) None[source]

Add data to the fit.

Calling this multiple times appends data to internal storage.

Parameters

container (TrainingContainer) – container holding data to fit

abstract get_lammps_potential() DataFrame[source]

Return a pyiron compatible dataframe that defines a potential to be used with a Lammps job (or subclass thereof).

Returns

contains potential information to be used with a Lammps job.

Return type

DataFrame

property plot

Plots correlation and (training) error histograms.

property predicted_data: FlattenedStorage

Predicted properties of the training data after the fit.

In contrast to :property:`~.training_data` this may not contain the original atomic structures, but must be in the same order. Certain properties in the training data may be omitted from this data set, if the inconvenient or impossible to predict. This should be documented on the subclass for each specific code.

Returns

container holding all predictions of the fitted potential on the

training data

Return type

pyiron_base.FlattenedStorage

property training_data: TrainingStorage

Return all training data added so far.

Returns

container holding all training data

Return type

pyiron_contrib.atomistics.atomistics.job.trainingcontainer.TrainingStorage

class pyiron_contrib.atomistics.ml.potentialfit.PotentialPlots(training_data, predicted_data)[source]

Bases: object

energy_scatter_histogram()[source]

Plots correlation and (training) error histograms.

force_scatter_histogram(axis=None)[source]

Plots correlation and (training) error histograms.

Parameters

axis (None, int) – Whether to plot for an axis or norm