oop_deriv

oop_deriv(coords, i, j, k, l=None, *, order=1, method='expansion', fixed_atoms=None, cache=None, reproject=True, expanded_vectors=None): 

LLM Docstring

Analytic derivative expansion of an out-of-plane coordinate for the i-j-k group (with j treated as fixed) with respect to the Cartesian coordinates.

Only method='expansion' is implemented. The out-of-plane value is formed as the difference of two dihedral-style derivatives (one holding the k vector frozen, one holding the i vector frozen), then reprojected onto the full coordinate set when reproject is set.

  • coords: np.ndarray

    Cartesian coordinates, shape (..., N, 3)

  • i: int

    first outer atom

  • j: int

    central atom (held fixed)

  • k: int

    second outer atom

  • l: int | None

    optional reference atom (defaults to i)

  • order: int

    maximum derivative order

  • method: str

    derivative method ('expansion' only)

  • fixed_atoms: Iterable[int] | None

    additional atoms to hold fixed

  • cache: dict | None

    expansion cache

  • reproject: bool

    whether to reproject the derivatives

  • expanded_vectors: Iterable[int] | None

    which defining vectors to expand

  • :returns: list

    the derivative expansion [value, d1, d2, ...]


Feedback

Examples

Templates

Documentation