From: Ulf L. <ul...@wa...> - 2018-08-19 17:13:29
|
Hi, I just released version 0.2.2 of the C++ branch of WavePacket. The main new features for users are: * Literal suffixes that allow input in arbitrary (supported) units. You can write now something like "mass = 16.2_amu", and no longer need to convert into atomic units yourself. All units available in the Matlab version are supported right now. * A new operator to simplify the setup of a laser field. Most lasers have the form "E(t) = E0(t) * cos(omega*t + phi)". Using the new OscillatingField operator primitive, you can directly express this with a single line. The envelope E0(t) is a functor here, so arbitrary user-defined functions are supported besides the implemented sin^2 and Gaussian envelopes. * Faster compilation I removed or hid external references, which significantly speeds up the compilation of WavePacket itself (20% or so), but also user programs. In addition there is an advanced compile time option to use precompiled headers, which speeds up WavePacket compilation by another 20-30%. More can be expected after release 0.2.3. * Prototype of a python interface To simplify installation, also for Windows, I would like to offer binary packages, which is a bit tricky for technical reasons. As a step in this direction, I want to implement an interface to Python, so that WavePacket C++ + Python can be distributed in a plug&play package. A first prototype of such an interface has been implemented. It is not useful yet, but works at least for the free particle demo and demonstrates (to me) that the interface is possible with reasonable effort. More functionality will come with the next releases. Ulf |