Interpolation Utilities

dmf.interpolate.interpolate_fbenm(ref_images, nmove=10, output_file='fbenm_ipopt.out', correlated=True, sequential=True, fbenm_only_endpoints=True, fbenm_options={}, cfbenm_options={}, dmf_options={})

Generate a plausible initial reaction path using FB-ENM or FB-ENM + CFB-ENM in combination with the direct MaxFlux method.

This routine constructs a DirectMaxFlux object from the given reference images (typically reactant and product) and assigns an FB-ENM_Bonds calculator, optionally combined with CFB-ENM, to each intermediate image. The DMF solver is then executed with a β-update scheme (see FB-ENM’s paper) to obtain a plausible path.

Parameters:
  • ref_images (list of ase.Atoms) – Reference structures defining the initial piecewise linear path for the (C)FB-ENM optimization.

  • nmove (int, optional) – Number of movable images. Default: 10.

  • output_file (str, optional) – File name for IPOPT output. Default: ‘fbenm_ipopt.out’.

  • correlated (bool, optional) – If True, use FB-ENM + CFB-ENM (correlated ENM). If False, use FB-ENM only. Default: True.

  • sequential (bool, optional) – Whether to apply a sequential MaxFlux optimization scheme that gradually activates interior points. Default: True.

  • fbenm_only_endpoints (bool, optional) – If True, construct FB-ENM from only the first and last image. If False, use all ref_images for FB-ENM construction. Default: True.

  • fbenm_options (dict, optional) – Keyword arguments forwarded to FB_ENM_Bonds.

  • cfbenm_options (dict, optional) – Keyword arguments forwarded to CFB_ENM.

  • dmf_options (dict, optional) – Keyword arguments forwarded to DirectMaxFlux.

Returns:

mxflx (DirectMaxFlux) – The DirectMaxFlux object after the (C)FB-ENM optimization.

Notes

  • The returned DirectMaxFlux instance retains all images with their assigned ENM calculators, and can be used directly for subsequent accurate (first-principles) MaxFlux optimization.

  • For details of FB-ENM and CFB-ENM, see the corresponding papers.