After kin.triatomic has been in use in quite a few demos for quantum dynamics (qm_propa), I found only recently that it doesn't work for calculation of stationary wave functions (qm_bound).
Fixing this will require digging deep into the implementation of non-standard kinetic operators for work with the wave main class.
Ulf comments: "Allerdings, wenn ich mir kinetic.m anschaue, wird dort psi.new verwendet, was in kinetic.exp nicht mehr auftaucht. Ist da eventuell der Code etwas veraltet?"
Last edit: Burkhard Schmidt 2021-01-15
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Another question: So far, we haven't ever thought about implementation of non-standard kinetic operators in trajectory simulations. Probably also a lot of digging deep into details of the traj main class.
Last edit: Burkhard Schmidt 2021-01-15
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The external kinetic energy operators are rather easily integrated; I mostly did a copy&paste setup. Their init_kin() function is called in @wave/init_ham.m directly below the "inherent" kinetic energy operators, and the application likewise mirrors that of the normal kinetic energy in @wave/apply_ham.m etc.
My comment with psi.new is incorrect That is still how kinetic energy operators are used, because their results are added, not chained (like in the exponential form), so you need psi.new as intermediate result. Besides, from the way I would do it in the C++ version, I was led astray, because kinetic() is not called at all when doing a bound-state calculation.
However, even after eyeballing the code, I do not see an obvious error cause, either.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Fixing this will require digging deep into the implementation of non-standard kinetic operators for work with the wave main class.
Ulf comments: "Allerdings, wenn ich mir kinetic.m anschaue, wird dort psi.new verwendet, was in kinetic.exp nicht mehr auftaucht. Ist da eventuell der Code etwas veraltet?"
Last edit: Burkhard Schmidt 2021-01-15
Another question: So far, we haven't ever thought about implementation of non-standard kinetic operators in trajectory simulations. Probably also a lot of digging deep into details of the traj main class.
Last edit: Burkhard Schmidt 2021-01-15
Some comments
However, even after eyeballing the code, I do not see an obvious error cause, either.