CalculatedChemicalPotential

class CalculatedChemicalPotential(element, calculator, phonon_calculator=None, configuration=None, k_points=None, include_vibrations=None, repetitions=None, reference_temperature=None)

A class defining the chemical potential for an atomic species. Used as part of a ChargedPointDefect study.

Parameters:
  • element (PeriodicTableElement) – The element for which the atomic chemical potential is defined.

  • calculator (All calculators) – The calculator used to calculate the reference thermodynamics.

  • phonon_calculator (All calculators | None) – The calculator used to calculate the vibrational energies. If not specified the reference calculator is used. The argument include_vibrations must also be True to include vibrational energies.

  • configuration (BulkConfiguration) – The thermodynamic reference configuration for the element.
    Default: The reference configuration is taken from an elemental reference material. In that case an optimization is automatically performed.

  • k_points (KpointDensity | MonkhorstPackGrid | None) – k-points used in the calculator for calculator. This may need to be set in cases where the reference material is a conductor, and therefore requires a higher number of k-points.

  • optimization_parameters (OptimizeGeometryParameters) – The parameters to use to optimize the reference configuration.

  • include_vibrations (bool) – Whether to include vibrational energies in the atomic free energy. The configuration will be optimized with the phonon calculator before calculating vibrations.
    Default: False.

  • repetitions (list of ints | None) – The number of repetitions of the system in the A, B, and C-directions used in determining the vibrational frequencies. If not given repetitions are selected so that the cell is large enough to calculate the vibrations using a finite difference method.

  • reference_temperature (PhysicalQuantity of type temperature) – The temperature used to calculate the free energy.
    Default: 300 Kelvin.

calculator()
Returns:

The calculator used to calculate the chemical potential.

Return type:

All calculators

chemicalPotential(temperature=None)

Calculate the chemical potential.

Returns:

The chemical potential of the atom calculated from the internal energy and entropy per atom of the specified element in some reference configuration.

Return type:

PhysicalQuantity of type energy | None

electronicInternalEnergy()

Returns the electronic internal energy.

Returns:

The electronic energy per atom of the specified element in some reference configuration, or None if it has not been evaluated.

Return type:

PhysicalQuantity of type energy | None

element()
Returns:

The element for which the atomic chemical potential is defined.

Return type:

PeriodicTableElement

entropy(temperature=None)

Returns the entropy from vibrational corrections, if included. If not included then the entropy is zero. If the object has not been updated then None is returned.

Parameters:

temperature (PhysicalQuantity of type temperature) – The temperature at which the vibrational corrections are calculated.

Returns:

The entropy component of the atomic chemical potential or None if it has not been evaluated.

Return type:

PhysicalQuantity of type energy per temperature | None

includeVibrations()
Returns:

Whether vibrational terms are included in the chemical potential.

Return type:

bool

phononCalculator()
Returns:

The calculator used to calculate the chemical potential.

Return type:

All calculators

referenceConfiguration()
Returns:

The reference configuration from which the components of the atomic chemical potential are calculated.

Return type:

BulkConfiguration | None

referenceTemperature()
Returns:

The reference temperature for the chemical potential.

Return type:

PhysicalQuantity of type temperature.

repetitions()
Returns:

The number of repetitions of the system in the A, B, and C-directions.

Return type:

list of ints | None

uniqueString()

Return a unique string representing the state of the object.

update()

Perform the calculation to add data to the object.

vibrationalInternalEnergy(temperature=None)

Returns the internal energy from vibrations.

Parameters:

temperature (PhysicalQuantity of type temperature) – The temperature at which the vibrational corrections are calculated.

Returns:

The energy per atom of the specified element in some reference configuration, or None if it has not been evaluated.

Return type:

PhysicalQuantity of type energy | None

Notes

The CalculatedChemicalPotential object defines an atomic chemical potential used in a ChargedPointDefectConfiguration calculation. The CalculatedChemicalPotential provides the reservoir energy for the element being added or removed from the pristine material to form the defect. This energy is used in calculating the formation energy and concentration of the defect. The value of the reservoir energy can depend on the nature of the environment around the defect. The atomic chemical potential also depends on the reference calculator used in the calculation, as it also includes the energy of the isolated atom according to the specific calculator.

The CalculatedChemicalPotential allows calculating the atomic chemical potential from an appropriate elemental reference configuration. The CalculatedChemicalPotential is created by supplying an element and the calculator to be used for calculating the elemental energy. A reference configuration can also be given, using the argument configuration. If a configuration is not given a standard reference structure is used. The k-points used in the energy calculation can be expressly set using the k_points argument. This is useful in cases where a different k-point sampling is required for the elemental reference material e.g. metals. Vibrational energies can be included by setting the argument include_vibrations to True. A specific calculator for the vibrations can be given with the argument phonon_calculator, otherwise the energy calculator is also used for the vibrations. The repetitions used in the vibration calculation can also be set with the repetitions argument.