pmutt.empirical.references.References

class pmutt.empirical.references.References(offset=None, references=None, descriptor='elements', T_ref=298.15)

Bases: _ModelBase

Holds reference species to adjust DFT energies to experimental data.

offset

Dimensionless enthalpy offset for each descriptor

Type:

dict

references

Reference species. Each member of the list should have the attributes T_ref and HoRT_ref

Type:

list of Reference, optional

descriptor

Descriptor to use to calculate offset. Default is ‘elements’

Type:

str, optional

T_ref

Reference temperature in K. Default is 298.15 K

Type:

float, optional

__init__(offset=None, references=None, descriptor='elements', T_ref=298.15)

Methods

__init__([offset, references, descriptor, T_ref])

append(obj)

clear_offset()

Removes all entries from descriptor offset dictionary.

extend(seq)

fit_HoRT_offset()

Calculate the descriptoral offset between DFT and formation energies using reference species.

from_dict(json_obj)

Recreate an object from the JSON representation.

get_AoRT(descriptors, T)

get_Cp(units, **kwargs)

Calculate the heat capacity (constant P)

get_CpoR()

Default method to calculate the dimensionless heat capacity at constant pressure.

get_Cv(units, **kwargs)

Calculate the heat capacity (constant V)

get_CvoR()

Default method to calculate the dimensionless heat capacity at constant volume.

get_F(units[, T])

Calculate the Helmholtz energy

get_FoRT(**kwargs)

Calculates the dimensionless Helmholtz energy

get_G(units[, T])

Calculate the Gibbs energy

get_GoRT(descriptors, T)

Calculates the dimensionless Gibbs free energy

get_H(units[, T])

Calculate the enthalpy

get_HoRT(descriptors[, T])

Returns the offset due to the descriptor composition of a specie.

get_S(units, **kwargs)

Calculate the entropy

get_SoR()

Default method to calculate the dimensionless entropy.

get_U(units[, T])

Calculate the internal energy

get_UoRT()

Default method to calculate the dimensionless internal energy.

get_descriptors()

Returns the descriptors in references.

get_descriptors_matrix()

Creates the descriptors matrix required for calculating the offset.

get_q()

Default method to calculate the partition coefficient.

index(name)

insert(obj)

pop([obj])

remove(obj)

to_dict()

Represents object as dictionary with JSON-accepted datatypes

append(obj)
clear_offset()

Removes all entries from descriptor offset dictionary.

extend(seq)
fit_HoRT_offset()

Calculate the descriptoral offset between DFT and formation energies using reference species.

classmethod from_dict(json_obj)

Recreate an object from the JSON representation.

Parameters:

json_obj (dict) – JSON representation

Returns:

References

Return type:

References object

get_AoRT(descriptors, T)
get_Cp(units, **kwargs)

Calculate the heat capacity (constant P)

Parameters:
  • units (str) – Units as string. See R() for accepted units.

  • kwargs (keyword arguments) – Parameters needed by get_CpoR

Returns:

Cp – Heat capacity (constant P) in appropriate units

Return type:

float

get_CpoR()

Default method to calculate the dimensionless heat capacity at constant pressure.

Returns:

CpoR – Returns 0

Return type:

float

get_Cv(units, **kwargs)

Calculate the heat capacity (constant V)

Parameters:
  • units (str) – Units as string. See R() for accepted units.

  • kwargs (keyword arguments) – Parameters needed by get_CvoR

Returns:

Cv – Heat capacity (constant V) in appropriate units

Return type:

float

get_CvoR()

Default method to calculate the dimensionless heat capacity at constant volume.

Returns:

CvoR – Returns 0

Return type:

float

get_F(units, T=298.15, **kwargs)

Calculate the Helmholtz energy

Parameters:
  • units (str) – Units as string. See R() for accepted units but omit the ‘/K’ (e.g. J/mol).

  • T (float, optional) – Temperature in K. Default is 298.15 K

  • kwargs (keyword arguments) – Parameters needed by get_FoRT

Returns:

F – Hemholtz energy in appropriate units

Return type:

float

get_FoRT(**kwargs)

Calculates the dimensionless Helmholtz energy

Parameters:

kwargs (keyword arguments) – Parameters needed by get_UoRT and get_SoR

Returns:

FoRT – Dimensionless Helmholtz energy

Return type:

float

get_G(units, T=298.15, **kwargs)

Calculate the Gibbs energy

Parameters:
  • units (str) – Units as string. See R() for accepted units but omit the ‘/K’ (e.g. J/mol).

  • T (float, optional) – Temperature in K. Default is 298.15 K

  • kwargs (keyword arguments) – Parameters needed by get_GoRT

Returns:

G – Gibbs energy in appropriate units

Return type:

float

get_GoRT(descriptors, T)

Calculates the dimensionless Gibbs free energy

Parameters:

kwargs (keyword arguments) – Parameters needed by get_HoRT and get_SoR

Returns:

GoRT – Dimensionless Gibbs free energy

Return type:

float

get_H(units, T=298.15, **kwargs)

Calculate the enthalpy

Parameters:
  • units (str) – Units as string. See R() for accepted units but omit the ‘/K’ (e.g. J/mol).

  • T (float, optional) – Temperature in K. Default is 298.15 K

  • kwargs (keyword arguments) – Parameters needed by get_HoRT

Returns:

H – Enthalpy in appropriate units

Return type:

float

get_HoRT(descriptors, T=None)

Returns the offset due to the descriptor composition of a specie. The offset is defined as follows:

\(HoRT_{exp} = HoRT_{dft} + offset\)

Parameters:
  • descriptors (dict) – Dictionary where the keys are decriptors and the values are the number of each descriptor in a formula unit

  • T (float or (N,) numpy.ndarray, optional) – Temperature in K. If not specified, adjusts using T_ref

Returns:

HoRT – Offset to add to potentialenergy (in eV) to adjust to References

Return type:

float

get_S(units, **kwargs)

Calculate the entropy

Parameters:
  • units (str) – Units as string. See R() for accepted units.

  • kwargs (keyword arguments) – Parameters needed by get_SoR

Returns:

S – Entropy in appropriate units

Return type:

float

get_SoR()

Default method to calculate the dimensionless entropy.

Returns:

SoR – Returns 0

Return type:

float

get_U(units, T=298.15, **kwargs)

Calculate the internal energy

Parameters:
  • units (str) – Units as string. See R() for accepted units but omit the ‘/K’ (e.g. J/mol).

  • T (float, optional) – Temperature in K. Default is 298.15 K

  • kwargs (keyword arguments) – Parameters needed by get_UoRT

Returns:

U – Internal energy in appropriate units

Return type:

float

get_UoRT()

Default method to calculate the dimensionless internal energy.

Returns:

UoRT – Returns 0

Return type:

float

get_descriptors()

Returns the descriptors in references.

Returns:

descriptors – Unique descriptors in reference species

Return type:

tuple

get_descriptors_matrix()

Creates the descriptors matrix required for calculating the offset. The descriptors are sorted in alphabetical order.

Returns:

descriptor matrix – Rows correspond to reference species. Columns correspond to descriptors

Return type:

(M,N) numpy.ndarray

get_q()

Default method to calculate the partition coefficient.

Returns:

q – Returns 1

Return type:

float

index(name)
insert(obj)
pop(obj=- 1)
remove(obj)
to_dict()

Represents object as dictionary with JSON-accepted datatypes

Returns:

obj_dict

Return type:

dict