Pybind11 seems to work fine for what we want to do, however, in the original ticket [#117], some things have been left out that should be implemented as prototypes at least. A good target would be the one- or two-dimensional harmonic oscillator demo, done in a somewhat instructive style (not using a harmonic oscillator potential, but building the potential in python). In particular, things that should be done at least as a prototype:
- handle callback functions (for initial wave function creation, potential building etc.)
- we need true callbacks for later usage (time-dependent laser fields)
- try out unit conversion
- try out class enums
- try out exception handling
- callback functions are natively supported by pybind. Works out of the box
- unit conversions can be circumvented by having special constant variables in python
- class enums work
- exception handling works as well through automatic wrapping in python exceptions
Diff:
Related
Tickets:
#117Diff:
Diff:
Diff: