Mixing Calculators

The most general class when all of the calculators has their own weight and returns with the linear combination of calculated values. It can be used when there are different calculators eg. for the different chemical environment or during delta leaning.

class ase.calculators.mixing.LinearCombinationCalculator(calcs, weights, atoms=None)[source]

LinearCombinationCalculator for weighted summation of multiple calculators.

Implementation of sum of calculators.

calcs: list

List of an arbitrary number of ase.calculators objects.

weights: list of float

Weights for each calculator in the list.

atoms: Atoms object

Optional Atoms object to which the calculator will be attached.

There are three special variants of LinearCombinationCalculator which are available for specific tasks:

class ase.calculators.mixing.MixedCalculator(calc1, calc2, weight1, weight2)[source]

Mixing of two calculators with different weights

H = weight1 * H1 + weight2 * H2

Has functionality to get the energy contributions from each calculator

Parameters
  • calc1 (ASE-calculator) –

  • calc2 (ASE-calculator) –

  • weight1 (float) – weight for calculator 1

  • weight2 (float) – weight for calculator 2

Implementation of sum of calculators.

calcs: list

List of an arbitrary number of ase.calculators objects.

weights: list of float

Weights for each calculator in the list.

atoms: Atoms object

Optional Atoms object to which the calculator will be attached.

class ase.calculators.mixing.SumCalculator(calcs, atoms=None)[source]

SumCalculator for combining multiple calculators.

This calculator can be used when there are different calculators for the different chemical environment or for example during delta leaning. It works with a list of arbitrary calculators and evaluates them in sequence when it is required. The supported properties are the intersection of the implemented properties in each calculator.

Implementation of sum of calculators.

calcs: list

List of an arbitrary number of ase.calculators objects.

atoms: Atoms object

Optional Atoms object to which the calculator will be attached.

class ase.calculators.mixing.AverageCalculator(calcs, atoms=None)[source]

AverageCalculator for equal summation of multiple calculators (for thermodynamic purposes)..

Implementation of average of calculators.

calcs: list

List of an arbitrary number of ase.calculators objects.

atoms: Atoms object

Optional Atoms object to which the calculator will be attached.