atomistics.workflows.evcurve.helper.get_tasks_for_energy_volume_curve

atomistics.workflows.evcurve.helper.get_tasks_for_energy_volume_curve#

atomistics.workflows.evcurve.helper.get_tasks_for_energy_volume_curve(structure: Atoms, vol_range: float | None = None, num_points: int | None = None, strain_lst: list[float] | None = None, axes: tuple[str, str, str] = ('x', 'y', 'z')) dict[source]#

Generate a dictionary of strained structures.

Parameters:
  • structure (Atoms) – The input structure.

  • vol_range (float, optional) – The range of volumetric strain. Defaults to None.

  • num_points (int, optional) – The number of points to generate. Defaults to None.

  • strain_lst (List[float], optional) – A list of predefined strain values. Defaults to None.

  • axes (tuple[str, str, str], optional) – The axes along which to strain the box. Defaults to (“x”, “y”, “z”).

Returns:

A dictionary of strained structures, where the keys are the strain values and the values are the strained structures.

Return type:

dict

Raises:

ValueError – If neither strain_lst nor vol_range and num_points are defined.