class matlantis_features.features.common.vibration.FastVibrations(delta: float = 0.01, nfree: int = 2, method: str = ‘standard’, direction: str = ‘central’, show_progress_bar: bool = False, tqdm_options: Optional[Dict[str, Any]] = None, show_logger: bool = False, estimator_fn: Optional[Callable[[], Estimator]] = None, num_threads: int = 10)#

Bases: object

The class for calculating the force constant, vibration frequency and vibration mode using the finite displacement method.

Methods

__init__([delta, nfree, method, direction, …])

Initialize an instance.

run(atoms[, indices])

Run vibration calculation.

__init__(delta: float = 0.01, nfree: int = 2, method: str = ‘standard’, direction: str = ‘central’, show_progress_bar: bool = False, tqdm_options: Optional[Dict[str, Any]] = None, show_logger: bool = False, estimator_fn: Optional[Callable[[], Estimator]] = None, num_threads: int = 10) None#

Initialize an instance.

Parameters
  • delta (float, optional) – The distance of finite displacement applied to each atom.
    The unit is Angstrom. Defaults to 0.01.

  • nfree (int, optional) – The number of displacements per atom. Must be 2 or 4. Defaults
    to 2.

  • method (str, optional) – The method to calculate the force constant from the displaced
    supercells and their forces. This parameter can be ‘Standard’ or ‘Frederiksen’.
    Defaults to ‘standard’.

  • direction (str, optional) – This parameter discribe how the displacment is found. Must
    be When ‘direction=forward’/’direction=backward’, each atom is displaced along the
    positive/negative direction of the axis. When ‘direction=center’, each atom is
    displaced along both positive and negative directions of the axis. Defaults to
    ‘central’.

  • show_progress_bar (bool, optional) – Show progress bar. Defaults to False.

  • tqdm_options (dict[str, Any] or None, optional) – Options for tqdm.

  • show_logger (bool, optional) – Show log information. Defaults to False.

  • estimator_fn (EstimatorFnType or None, optional) – A factory method to create a custom estimator.
    Please refer Customizing estimator used in matlantis-features for detail.

  • num_threads (int, optional) – Number of threads for parallel calculation. Defaults to 10.

run(atoms: Union[MatlantisAtoms, Atoms], indices: Optional[List[int]] = None) FastVibrationsResult#

Run vibration calculation.

Parameters
  • atoms (MatlantisAtoms or ASEAtoms) – The input structure.

  • indices (list[int] or None, optional) – List of indices of atoms allowed to vibrate.
    Defaults to None.

Returns

The vibration calculation result.

Return type

FastVibrationsResult