- class matlantis_features.features.common.hessian.HessianFeature(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 = 20)#
-
Bases:
FeatureBase
The matlantis-feature for calculating molecular vibration.
The vibration properties, including the force constant, vibration frequencies and vibration modes are calculated with the finite displacement method.
Methods
__init__
([delta, nfree, method, direction, …])Initialize an instance.
__call__
(atoms[, indices])Calculate the hessian matrix.
attach_ctx
([ctx])Attach the feature to matlantis_features.utils.Context.
check_estimator_fn
(estimator_fn)Checks if the given estimator function is None and output a warning if so.
cost_estimate
([atoms])Estimate the cost of the feature.
from_dict
(res)Construct a FeatureBase object from serialized dict.
Get the temporary save directory from the context.
Context manager that enable to set attribution of the feature.
repeat
(n_repeat)Set the maximum number of times that allowed to run the __call__ function.
to_dict
()Dictionary representation of the FeatureBase.
- __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 = 20) 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.
-
- __call__(atoms: Union[MatlantisAtoms, Atoms], indices: Optional[List[int]] = None) HessianFeatureResult #
-
Calculate the hessian matrix.
- Parameters
-
-
atoms (MatlantisAtoms or ASEAtoms) – The input structure.
-
indices (list[int] or None, optional) – List of indices of atoms allowed to vibrate.
If ‘None’ is provided, all atoms are allowed to vibrate. Defaults to None.
-
- Returns
-
The hessian matrix.
- Return type
- attach_ctx(ctx: Optional[Context] = None) None #
-
Attach the feature to matlantis_features.utils.Context.
- Parameters
-
ctx (Context or None, optional) – The matlantis_features.utils.Context object. Defaults to None.
- check_estimator_fn(estimator_fn: Optional[Callable[[], Estimator]]) None #
-
Checks if the given estimator function is None and output a warning if so.
- Parameters
-
estimator_fn (EstimatorFnType or None, optional) – A factory method to create a custom estimator.
Please refer Customizing estimator used in matlantis-features for detail. Defaults to None.
- cost_estimate(atoms: Optional[Union[Atoms, MatlantisAtoms]] = None) FeatureCost #
-
Estimate the cost of the feature.
- Parameters
-
atoms (ASEAtoms or MatlantisAtoms or None, optional) – The input atoms. Defaults to None.
- Returns
-
The cost of the feature.
- Return type
-
FeatureCost
- classmethod from_dict(res: Dict[str, Any]) FeatureBase #
-
Construct a FeatureBase object from serialized dict.
- Parameters
-
res (dict[str, Any]) – A dict containing a serialized FeatureBase from to_dict().
- Returns
-
The deserialized object from provided dict.
- Return type
- get_savedir_from_ctx() Path #
-
Get the temporary save directory from the context.
- Returns
-
The temporary save directory .
- Return type
-
pathlib.Path
- init_scope() Iterator[None] #
-
Context manager that enable to set attribution of the feature.
- Returns
-
Init_scope context manager.
- Return type
-
Iterator[None]
- repeat(n_repeat: int) Self #
-
Set the maximum number of times that allowed to run the __call__ function.
- Parameters
-
n_repeat (int) – The maximum number of repeats.
- Returns
-
The feature.
- Return type
-
Self
- to_dict() Dict[str, Any] #
-
Dictionary representation of the FeatureBase.
- Returns
-
A dict containing a serialized FeatureBase.
- Return type
-
dict[str, Any]
Resource Library
matlantis_features.features.common.hessian.HessianFeature