pyiron_atomistics.atomistics.thermodynamics.thermo_bulk.ThermoBulk#

class pyiron_atomistics.atomistics.thermodynamics.thermo_bulk.ThermoBulk(project=None, name=None)[source]#

Bases: ThermoBulk

Class should provide all tools to compute bulk thermodynamic quantities. Central quantity is the Free Energy F(V,T). ToDo: Make it a (light weight) pyiron object (introduce a new tool rather than job object).

Parameters:
  • project

  • name

__init__(project=None, name=None)[source]#

Methods

__init__([project, name])

contour_entropy()

Plot the contour of entropy.

contour_pressure()

Plot the contour of pressure.

copy()

returns:

A copy of the ThermoBulk object.

get_entropy_p()

Get the entropy at the minimum energy path.

get_entropy_v()

Get the entropy at constant volume.

get_free_energy(vol[, pressure])

Get the free energy.

get_free_energy_p()

Get the free energy at the minimum energy path.

get_minimum_energy_path([pressure])

Get the minimum energy path.

interpolate_volume(volumes[, fit_order])

Interpolate the volumes.

meshgrid()

Create a meshgrid of volumes and temperatures.

plot_contourf([ax, show_min_erg_path])

Plot the contourf of energies.

plot_entropy()

Plot the entropy.

plot_free_energy()

Plot the free energy.

plot_heat_capacity([to_kB])

Plot the heat capacity.

plot_min_energy_path(*args[, ax])

Plot the minimum energy path.

set_temperatures([temperature_min, ...])

Set the temperatures.

set_volumes(volume_min[, volume_max, ...])

Set the volumes.

Attributes

eV_to_J_per_mol

energies

Get the energies.

entropy

Get the entropy.

kB

num_atoms

Get the number of atoms.

pressure

Get the pressure.

temperatures

Get the temperatures.

volumes

Get the volumes.

contour_entropy() None[source]#

Plot the contour of entropy.

contour_pressure() None[source]#

Plot the contour of pressure.

copy() ThermoBulk[source]#
Returns:

A copy of the ThermoBulk object.

property energies: ndarray#

Get the energies.

Returns:

The energies.

property entropy: ndarray#

Get the entropy.

Returns:

The entropy.

get_entropy_p() ndarray[source]#

Get the entropy at the minimum energy path.

Returns:

The entropy at the minimum energy path.

get_entropy_v() ndarray[source]#

Get the entropy at constant volume.

Returns:

The entropy at constant volume.

get_free_energy(vol: ndarray, pressure: ndarray = None) ndarray[source]#

Get the free energy.

Parameters:
  • vol – The volume.

  • pressure – The pressure.

Returns:

The free energy.

get_free_energy_p() ndarray[source]#

Get the free energy at the minimum energy path.

Returns:

The free energy at the minimum energy path.

get_minimum_energy_path(pressure: ndarray = None) ndarray[source]#

Get the minimum energy path.

Parameters:

pressure – The pressure.

Returns:

The minimum energy path.

interpolate_volume(volumes: ndarray, fit_order: int = None)[source]#

Interpolate the volumes.

Parameters:
  • volumes – The volumes.

  • fit_order – The order of the polynomial fit.

Returns:

The interpolated volume.

meshgrid() ndarray[source]#

Create a meshgrid of volumes and temperatures.

Returns:

The meshgrid of volumes and temperatures.

property num_atoms: int#

Get the number of atoms.

Returns:

The number of atoms.

plot_contourf(ax=None, show_min_erg_path=False)[source]#

Plot the contourf of energies.

Parameters:
  • ax – The matplotlib axes object.

  • show_min_erg_path – Whether to show the minimum energy path.

Returns:

The matplotlib axes object.

plot_entropy()[source]#

Plot the entropy.

plot_free_energy()[source]#

Plot the free energy.

plot_heat_capacity(to_kB: bool = True)[source]#

Plot the heat capacity.

Parameters:

to_kB – Convert the heat capacity to kB units.

plot_min_energy_path(*args, ax=None, **qwargs)[source]#

Plot the minimum energy path.

Parameters:
  • *args – Additional arguments to pass to the plot function.

  • ax – The matplotlib axes object.

  • **qwargs – Additional keyword arguments to pass to the plot function.

Returns:

The matplotlib axes object.

property pressure: ndarray#

Get the pressure.

Returns:

The pressure.

set_temperatures(temperature_min: float = 0.0, temperature_max: float = 1500.0, temperature_steps: float = 50.0)[source]#

Set the temperatures.

Parameters:
  • temperature_min – The minimum temperature.

  • temperature_max – The maximum temperature.

  • temperature_steps – The number of temperature steps.

set_volumes(volume_min: float, volume_max: float = None, volume_steps: int = 10)[source]#

Set the volumes.

Parameters:
  • volume_min – The minimum volume.

  • volume_max – The maximum volume.

  • volume_steps – The number of volume steps.

property temperatures: ndarray#

Get the temperatures.

Returns:

The temperatures.

property volumes: ndarray#

Get the volumes.

Returns:

The volumes.