grandThermodynamicPotential

grandThermodynamicPotential(defects_list, temperature=None, absolute_error=None, max_steps=None, relative_error=None, root_mean_square_error=None, discard_faulty=None)

Implement a way to compute GTP.

Parameters:
  • defects_list (list of ( VacancyList | SubstitutionalList | InterstitialList | SplitInterstitialList | DefectPairList | DefectClusterList) – List of calculated defects. Usually one vacancy per element, one antisite per element and one interstitial per element is needed.

  • temperature (PhysicalQuantity of type temperature.) – Temperature
    Default: 300 Kelvin

  • absolute_error (PhysicalQuantity of type energy) – Defines the convergence criterion to stop the iteration when the absolute errors of the chemical potential solutions are smaller than the given number.
    Default: 1e-5 eV

  • max_steps (int) – Defines the maximum number of iterations in which to solve the equations using the Newton method.
    Default: 50

  • relative_error (float) – Defines the convergence criterion to stop the iteration when the relative errors of the chemical potential solutions are smaller than the given number.
    Default: 1e-4

  • root_mean_square_error (float) – Defines the convergence criterion to stop the iteration when the root-mean-square (RMS) error is smaller than the given number.
    Default: 1e-12

  • discard_faulty (bool) – Whether faulty (non converged) defect simulations are discarded
    Default: True

Returns:

A list of filled AtomicChemicalPotential

Return type:

list of AtomicChemicalPotential

Notes

For a comprehensive description on the use of this class to compute chemical potentials see Chemical Potentials in Compound Materials

Example

The following few lines show how to compute the chemical potential of a TiN compound system when the native defects (vacancies, interstitials and antisites) are present. Then, the potentials are used to update the material specifications:

# update and run all defects
defect_lists=[vacancy, Ti_N, N_Ti, Ti_interstitial, N_interstitial]
updateAllDefectsAndTransitions(defect_lists=defect_lists, processes_per_defect=14)

# calculate atomic chemical potentials using GTP
GTP_potentials=grandThermodynamicPotential(defect_lists)

# Update GTP potentials in reference system
TiN_GTP_specifications = TiN(atomic_chemical_potentials=GTP_potentials)