atomistics.workflows.evcurve.fit.EnergyVolumeFit#
- class atomistics.workflows.evcurve.fit.EnergyVolumeFit(volume_lst: ndarray | None = None, energy_lst: ndarray | None = None)[source]#
Bases:
objectFit energy volume curves
- Parameters:
volume_lst (list/numpy.dnarray) – vector of volumes
energy_lst (list/numpy.dnarray) – vector of energies
- .. attribute:: volume_lst
vector of volumes
- .. attribute:: energy_lst
vector of energies
- .. attribute:: fit_dict
dictionary of fit parameters
- __init__(volume_lst: ndarray | None = None, energy_lst: ndarray | None = None)[source]#
Initialize the EnergyVolumeFit object.
- Parameters:
volume_lst (np.ndarray, optional) – Vector of volumes. Defaults to None.
energy_lst (np.ndarray, optional) – Vector of energies. Defaults to None.
Methods
__init__([volume_lst, energy_lst])Initialize the EnergyVolumeFit object.
birch(V, E0, B0, BP, V0)Birch equation from Intermetallic compounds: Principles and Practice, Vol.
birchmurnaghan_energy(V, E0, B0, BP, V0)BirchMurnaghan equation from PRB 70, 224107
fit([fit_type, fit_order])Fit the energy volume curves.
fit_eos_general([volume_lst, energy_lst, ...])Fit one of the equations of state.
fit_polynomial([volume_lst, energy_lst, ...])Fit a polynomial.
interpolate_energy(volume_lst)Interpolate the energy values for the corresponding energy volume fit defined in the fit dictionary.
murnaghan(V, E0, B0, BP, V0)Murnaghan equation from PRB 28,5480 (1983)
pouriertarantola(V, E0, B0, BP, V0)Pouriertarantola equation
vinet_energy(V, E0, B0, BP, V0)Vinet equation from PRB 70, 224107
Attributes
Get the vector of energies.
Get the fit dictionary.
Get the vector of volumes.
- static birch(V: ndarray, E0: float, B0: float, BP: float, V0: float) ndarray[source]#
Birch equation from Intermetallic compounds: Principles and Practice, Vol. I: Principles Chapter 9 pages 195-210 by M. Mehl. B. Klein, D. Papaconstantopoulos paper downloaded from Web
case where n=0
- Parameters:
V (np.ndarray) – Vector of volumes.
E0 (float) – Energy at equilibrium volume.
B0 (float) – Bulk modulus at equilibrium volume.
BP (float) – Pressure derivative of bulk modulus at equilibrium volume.
V0 (float) – Equilibrium volume.
- Returns:
Vector of energies.
- Return type:
np.ndarray
- static birchmurnaghan_energy(V: ndarray, E0: float, B0: float, BP: float, V0: float) ndarray[source]#
BirchMurnaghan equation from PRB 70, 224107
- Parameters:
V (np.ndarray) – Vector of volumes.
E0 (float) – Energy at equilibrium volume.
B0 (float) – Bulk modulus at equilibrium volume.
BP (float) – Pressure derivative of bulk modulus at equilibrium volume.
V0 (float) – Equilibrium volume.
- Returns:
Vector of energies.
- Return type:
np.ndarray
- property energy_lst: ndarray#
Get the vector of energies.
- Returns:
Vector of energies.
- Return type:
np.ndarray
- fit(fit_type: str = 'polynomial', fit_order: int = 3) dict[source]#
Fit the energy volume curves.
- Parameters:
fit_type (str, optional) – Type of fit to perform. Defaults to “polynomial”.
fit_order (int, optional) – Order of the polynomial fit. Defaults to 3.
- Returns:
Dictionary containing the fit results.
- Return type:
dict
- property fit_dict: dict#
Get the fit dictionary.
- Returns:
Fit dictionary.
- Return type:
dict
- fit_eos_general(volume_lst: ndarray | None = None, energy_lst: ndarray | None = None, fittype: str = 'birchmurnaghan') dict[source]#
Fit one of the equations of state.
- Parameters:
volume_lst (np.ndarray, optional) – Vector of volumes. Defaults to None.
energy_lst (np.ndarray, optional) – Vector of energies. Defaults to None.
fittype (str, optional) – Type of fit to perform. Defaults to “birchmurnaghan”.
- Returns:
Dictionary containing the fit results.
- Return type:
dict
- fit_polynomial(volume_lst: ndarray | None = None, energy_lst: ndarray | None = None, fit_order: int = 3) dict[source]#
Fit a polynomial.
- Parameters:
volume_lst (np.ndarray, optional) – Vector of volumes. Defaults to None.
energy_lst (np.ndarray, optional) – Vector of energies. Defaults to None.
fit_order (int, optional) – Order of the polynomial fit. Defaults to 3.
- Returns:
Dictionary containing the fit results.
- Return type:
dict
- interpolate_energy(volume_lst: ndarray) ndarray[source]#
Interpolate the energy values for the corresponding energy volume fit defined in the fit dictionary.
- Parameters:
volume_lst (np.ndarray) – List of volumes.
- Returns:
List of energies.
- Return type:
np.ndarray
- static murnaghan(V: ndarray, E0: float, B0: float, BP: float, V0: float) ndarray[source]#
Murnaghan equation from PRB 28,5480 (1983)
- Parameters:
V (np.ndarray) – Vector of volumes.
E0 (float) – Energy at equilibrium volume.
B0 (float) – Bulk modulus at equilibrium volume.
BP (float) – Pressure derivative of bulk modulus at equilibrium volume.
V0 (float) – Equilibrium volume.
- Returns:
Vector of energies.
- Return type:
np.ndarray
- static pouriertarantola(V: ndarray, E0: float, B0: float, BP: float, V0: float) ndarray[source]#
Pouriertarantola equation
- Parameters:
V (np.ndarray) – Vector of volumes.
E0 (float) – Energy at equilibrium volume.
B0 (float) – Bulk modulus at equilibrium volume.
BP (float) – Pressure derivative of bulk modulus at equilibrium volume.
V0 (float) – Equilibrium volume.
- Returns:
Vector of energies.
- Return type:
np.ndarray
- static vinet_energy(V: ndarray, E0: float, B0: float, BP: float, V0: float) ndarray[source]#
Vinet equation from PRB 70, 224107
- Parameters:
V (np.ndarray) – Vector of volumes.
E0 (float) – Energy at equilibrium volume.
B0 (float) – Bulk modulus at equilibrium volume.
BP (float) – Pressure derivative of bulk modulus at equilibrium volume.
V0 (float) – Equilibrium volume.
- Returns:
Vector of energies.
- Return type:
np.ndarray
- property volume_lst: ndarray#
Get the vector of volumes.
- Returns:
Vector of volumes.
- Return type:
np.ndarray