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.ndarrayCartesian coordinates, shape
(..., N, 3)i:intfirst outer atom
j:intcentral atom (held fixed)
k:intsecond outer atom
l:int | Noneoptional reference atom (defaults to
i)order:intmaximum derivative order
method:strderivative method (
'expansion'only)fixed_atoms:Iterable[int] | Noneadditional atoms to hold fixed
cache:dict | Noneexpansion cache
reproject:boolwhether to reproject the derivatives
expanded_vectors:Iterable[int] | Nonewhich defining vectors to expand
:returns:listthe derivative expansion
[value, d1, d2, ...]