Wavepacket currently features two "external" kinetic energy operators: kin.jacobi and kin.triatomic.
Both operators are setup such that they incorporate the "normal" kinetic energy operators of the grids. This has mostly convenience reasons. They still apply at least the Cartesian kinetic energies (d^2/dx^2), but with special reduced masses. To avoid error-prone calculation of these masses by the user and synchronizing with parameters exclusive to the additional kinetic energy, we simply turn the normal kinetic energy operators off and include them in the external kinetic energy.
In kin.triatomic, this is done in init_kin(), in kin.jacobi, this is done even more opaquely in subsasgn.m (only for the rotational degree of freedom).
Nowadays, I (Ulf) think that this approach is wrong. The problem is that this crucial behavior is completely hidden from the user, and not even easy to figure out if you know the code.
Suggestion:
Diff: