I have been planning for years to write something in praise of vcpkg as making Windows compilation less unbearable. While building a binary package of
Wavepacket recently, I found, however, that there are also other issues when porting software from Unix, hence a shift in focus.
Only after programming C++ under Windows for some time did I fully grasp how much of a hacker's system Unix is. You only need to master a few concepts, such as how the linker works or which package to install for the library headers, then adding external dependencies to your code becomes almost trivial, also for others. And things just work; you might spend ages blissfully unaware of problems such as ABI compatibility, symbol versioning, linker maps or the details of the ELF symbol resolution.... read more
The main focus of this release was an improved compilation. In particular, being able to provide Windows binaries, given that this is a recurring issue.
Version 0.3.6 is the first to ship a Windows distributable, consisting of a Python package with associated documentation and Demos. Everything is still somewhat crude (documentation, setup, required preparation), but it works at least.... read more
This release took unusually long; I usually strive for about two releases per year. This one was overdue due to some assistance with getting the underlying tensor library to use CMake, and a rather discouraging set of issues that I mostly dropped for an alternative approach. Anyway. What did change?
Wavepacket can propagate a density matrix with some system-bath coupling completely in the DVR. That is pretty neat, but, as it turned out, mostly useless.... read more
New features in this version:
There is now a much simpler approach to build Wavepacket with a
virtual machine.
Install two programs (Vagrant + Virtualbox), modify a config file,
open a console, type three to four commands, and you can execute
Wavepacket Python code in your Web browser. For more details, see
README_VirtualMachine in the root directory. Needs some more
polishing, but should be reasonably plug&play.... read more
Today something completely different. I wanted to write about this topic for a long time, and it also has nice overlap with vcpkg (which I also wanted to write up for some time now), so I finally decided to just do it.
This blog post was inspired by me learning more DotNet internals than I would normally care about. One of the rather frustrating experiences during this process was the lack of readily available information on how DotNet deals with dependencies. Hence this blog post.... read more
The version features two major improvements towards the goal of being more usable:
Besides these two major improvements there have been a couple of smaller usability or special-usage improvements. The most noticable:... read more
Note: This post should probably be merged with the Wiki, in particular the page on the time-dependent Schödinger equation. The second part should be easy, but the first part uses a pretty different angle, so I first post the whole thing here.
This document describes how to propagate a wavefunction in time. The question should be answered are:... read more
I recently got an email from a user that had tried out Wavepacket with some highly accurate data, and found that the results did not match the data. While answering the email, my answer turned out to be a bit long. And I figured out that I may have accumulated quite some experience with respect to converging (wavepacket) calculations over the years. Also, these sort of issues come up every now and again, and there have been similar questions in the past. So I wanted to shape this knowledge into some blog posts about convergence, and how to minimise errors in a wavepacket calculation.... read more
I have recently rewritten the way how the Python module for Wavepacket is built, and learned a lot about Python along the way. The learning curve was rather steep, and it felt a lot like learning the intricate details of Nuget and .Net assembly loading (this is not a compliment). However, while extension libraries for Python may not be ideally documented, the implementation is pretty robust and neat. So I thought, I'd write up what I tried and found out to assist others in a similar situation.... read more
I just released the next C++-version of WavePacket. Some excerpts from the NEWS file:
I have just finished Ticket [#124], which introduced some renaming of very basic classes. And while asking Burkhard for his opinion, he was not able to dig through my explanations. Plus, the Matlab version started a new blog, so I thought I would try to wrap up all the ideas why the new names are great in a blog post and explain along the way how a good part of the C++ version works.... read more