class matlantis_features.functions.eos.BirchMurnaghanEOS(E0: float, B0: float, BP: float, V0: float)#

Bases: object

Methods

__init__(E0, B0, BP, V0)

The Birch–Murnaghan equation of state.

__call__(V)

Estimate the energy at the given volume from the Birch–Murnaghan equation of state.

from_fit(V, E[, max_nfev])

Get the Birch–Murnaghan equation of state from fitting a set of volumes and energies.

get_volume_under_pressure(pressure)

Get the volume under a given pressure.

__init__(E0: float, B0: float, BP: float, V0: float) None#

The Birch–Murnaghan equation of state.

Parameters
  • E0 (float) – The energy at the equilibrium volume.

  • B0 (float) – The bulk modulus.

  • BP (float) – the derivative of the bulk modulus with respect to pressure.

  • V0 (float) – The equilibirum volume.

__call__(V: Union[ndarray, float]) Union[ndarray, float]#

Estimate the energy at the given volume from the Birch–Murnaghan equation of state.

Parameters

V (np.ndarray) – Volume.

Returns

Energy.

Return type

np.ndarray

classmethod from_fit(V: Union[ndarray, List[float]], E: Union[ndarray, List[float]], max_nfev: int = 100000) BirchMurnaghanEOS#

Get the Birch–Murnaghan equation of state from fitting a set of volumes and energies.

Parameters
  • V (Union[np.ndarray, List[float]]) – Volumes.

  • E (Union[np.ndarray, List[float]]) – Energies.

  • max_nfev (int) – The maximum number of function calls to fit the curve.

Returns

The fitted Birch–Murnaghan equation of state.

Return type

BirchMurnaghanEOS

get_volume_under_pressure(pressure: float) float#

Get the volume under a given pressure.

Parameters

pressure (float) – The external pressure.

Returns

The volume.

Return type

float