You can subscribe to this list here.
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(42) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2013 |
Jan
(24) |
Feb
(16) |
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
(1) |
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(5) |
Dec
(1) |
2015 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Ulf L. <ul...@wa...> - 2019-04-28 15:52:22
|
Hello everyone, I just released the next C++-version of WavePacket. The main highlights: * renamed some key classes to disentangle the concept "operator" from "expression/equation/Liouvillian". The new naming system is hopefully much more intuitive. For a deeper explanation, see the blog entry https://sourceforge.net/p/wavepacket/cpp/blog/2019/03/naming-the-components-of-equations/ * The Python interface can be installed as a regular Python module. There are still some loose ends here and there, but it works. * added a couple of new demos * highlighted demo that explains how to setup thermal states (propagation in imaginary time, random wave functions etc.). See https://wavepacket.sourceforge.net/cpp-doc/0.2.4/demo_thermal.xhtml. * demo that uses multiple electronic states (MolElectronic/OH/1 and 2) * unfinished demo that sets up a Lindblad relaxation (MolVibration/OH/3) * improved several PropagationObservers * LoggingObserver deals correctly with multiple electronic states * Plot1DObserver is way easier to setup, and can plot output for multiple electronic states * added a projection operator * some other minor fixes and improvements Ulf |
From: Ulf L. <ul...@wa...> - 2018-04-03 21:49:25
|
Hi, the latest C++-version of WavePacket has just been released. Main changes for the end user: * Creating an own program should now be simpler with a helper script (see the online-documentation for a tutorial) * Added a HarmonicOscillatorFactory to simplify the setup of harmonic problems; in particular, creating ladder operators should be easier. * Added the Matlab version's MolVibration/OH/1 demo (laser vibrational excitation of a Morse oscillator), this also includes the Mecke dipole operator * The RedfieldFactory has been cleaned up; this is not as useful as it could be because it still needs bath correlation functions, which seem rather sparsely used. There was also some internal work not directly useful for the end user: - demos are used as regression tests - removed some dependencies on boost by encapsulating pi - tried out source code checkers and fixed minor issues uncovered by them I would again remind everyone that any feedback is appreciated, and every feature request treated with priority. Ulf |
From: Ulf L. <ul...@wa...> - 2017-12-03 20:12:30
|
Hi, to keep the approximately half a year schedule, I have just released version 0.2 of the C++-variant. Notable changes: * added absorbing boundary conditions The modelling is similar to the Matlab version with adjustable power functions at the grid boundaries. * a first step towards plotting Currently, only one-dimensional wave functions can be plotted. More to come later. Wavepacket outputs gnuplot files that can then be joined together to also get animations. Plus some minor changes: * much more permissive license * more stable tests * various layout cleanup and such The next release cycle towards version 0.3 will focus on usability improvements, reducing build dependencies and all that. If you have a wish about something to implement, this is usually easily doable, though. Ulf |
From: Ulf L. <ul...@wa...> - 2017-05-29 20:58:08
|
Hi, originally, this release was planned later and with different features. However, I got sidetracked by a user request, and when porting some demos from the Matlab version, the result felt crude without additional support classes. So, here is a smaller release, version 0.1.4. Major new features: * support for rotational problems - added a grid for a spherical harmonics expansion - added rotational kinetic energy operator (L^2) - added FBR eigenstates as initial wave function (here: spherical harmonics) * support for convenient calculation and output of expectation values - added an ExpectationValueObserver that calculates the expectation value of a given operator during a propagation - added functions to write out a tensor (e.g., expectation values) to an Ascii file * added two new demos to demonstrate the new features; see http://wavepacket.sourceforge.net/cpp-doc/current/demo_expectationvals.xhtml * a few minor tweaks and fixes Note that there are some compatibility issues, mainly because I renamed a few classes for consistency. See the NEWS file for the detailed listing. Ulf |
From: Ulf L. <ul...@wa...> - 2017-03-16 21:36:55
|
Hi, and another smaller release this time. Three issues have been done: * A class to conveniently get input parameters from the command line or from a configuration file has been added (including a demo and documentation) * Various classes (grid, operators, initial wave functions) have been added to do a close coupling calculation (aka multiple electronic states). Everything that works with one channel should also work with multiple channels out of the box. Added a demo and a tutorial. * Tutorial improvements. In particular a new tutorial on how to solve the time-independent Schroedinger equation. The downloads are available under https://sourceforge.net/projects/cpp.wavepacket.p/files/releases/0.1.3/ If you want to browse the documentation to get a first impression, the online documentation can be found under http://wavepacket.sourceforge.net/cpp-doc/current/index.xhtml Ulf |
From: Ulf L. <ul...@wa...> - 2016-12-29 00:12:31
|
Hi, I just assembled another release for the C++ version of WavePacket. Version 0.1.2 deviates a bit from the earlier releases in that I focused more on usage improvements. * documentation improvements The tutorials have been moved from the wiki to the code and expanded considerably. There are still edges and poorly documented capabilities, but the overall documentation should be much better. * using CMake for building CMake is a meta build system. In the short run, it makes the usage more cumbersome, because you need an additional step for compilation your programs. In the long run, I would like to reap some available benefits, such as allowing out-of-the-box compilation of dependencies (tensor library) and possibly Windows ports. * added a solver for the time-independent Schroedinger equation Nothing fancy, just a convenience wrapper around the corresponding LAPACK function. * improved Chebychev propagator For not too complicated cases, the propagator can now auto-determine an upper limit for the operator spectrum, requiring less setup. Note that you need a new image if you use a virtual machine for the installation. Ulf |
From: Ulf L. <ul...@wa...> - 2016-09-12 20:42:44
|
Hi, it has recently been brought to my attention that for some reason, the virtual machine image to easily compile the C++ version was completely broken. While trying to fix this, it also turned out that a library that we depended on (googletest) essentially had its history and old downloads eradicated. The freshly released version 0.1.1b fixes this problem and provides sane defaults for the current googletest package. It also fixes a potential linking problem leading to segfaulting tests, but has no new user-visible features. A new virtual machine image has also been prepared and can be downloaded. Along the way, I would like to point out that if anyone of you does use this VM image and gets errors, this should not happen and will be corrected immediately on notice. Ulf |
From: Ulf L. <ul...@wa...> - 2016-06-04 21:19:59
|
Hi, with Wavepacket freshly released, I wanted to discuss the items for the next version. You are all welcome to agree or disagree with any of the points I raise here, and to priorize them, even if you do not implement them. :) You can also suggest your own priority items. Two overarching ideas: First, I originally had the idea of first fixing the framework ("alpha" phase), then adding documentation and content ("beta" phase) and finally having a useful program. I would like to slowly digress from this plan. The reason is that, assuming moderate coding skills, the current code is already useful for certain problems, and I would like to see it adopted. Second, I would like to use a model where we have a few big topics to tackle, and when we have done something like three of them, we release. Now the ideas: * Add direct diagonalization of a Hamiltonian. Ideally, this should also be folded into a "pseudo propagator"; if we manage to do so, the propagator scheme should be sufficiently general to work with everything we throw at it later. * Add basic operator algebra and manipulations The idea would be to be able to browse through a sum/product of simple operators and manipulate them. Low-hanging fruits would be to combine similar evaluations (e.g., multiple potentials) into a single one. Other issues are the manual truncation of potentials / kinetic energies, and the preparation of functions of operators (which we need for the split operator scheme) * Cleanup of Chebychev propagators. Besides tickets 59, 61, this includes everything that makes the use of Chebychev propagators incomfortable. * Build system upgrade That has been around for a while. Upgrade the build system to CMake. Along the way, build a dynamic library instead of a static one, add a deploy target, and maybe reduce dependencies (at the least the ones a user needs to compile against the library). The far goal would be to finally provide binary packages instead of requiring the user to compile everything from scratch. * Upgrade/move the tutorial. Ticket 63. Basically, the code can already do a lot of nice things, these need examples for documentation, preferably with a well-integrated documentation. * Add graphical output. We already did a scan a while ago, and wanted to use MathGL. The first step here would be to add it as an (optional!) dependency, and create a simple plotting observer. It may be restricted to one dimension and whatnot, the goal is to lay down the infrastructure for graphical output. Ulf |
From: Ulf L. <ul...@wa...> - 2016-06-04 20:25:21
|
Hello everyone, it took quite a bit longer than expected, but version 0.1.1 is finally out. Noteworthy main changes are an extended use of functors and a mostly redesigned propagator interface with Chebychev polynomial propagators. Feel free to have a look at the code. I hope you like it. Ulf The full changelog: - new acceptance test: - usage of electric fields of custom shape - relaxation of a density operator to thermal equilibrium and subsequent propagation - new demos: - free particle - 2D harmonic oscillator - basic tutorial (Wiki on sourceforge page) - Major propagator refactoring: - split into primitives to propagate one time step and Propagator, which deals with logging etc. - Joined propagation of single and multiple states and simplified the latter - separate primitives for real and imaginary time; simplified use of the latter - Chebychev propagator in real and imaginary time - added functors (function-like objects) - interpolation as functor - product wave function built from functors yielding 1D wave functions - 1D potential operators build the potential with functors - merged DensityManipulator and WavefunctionManipulator into a single class - implemented an own exception hierarchy; not complete - upgraded build process - require more recent version of boost; this drops one dependency - by default, all tests are built into a single executable - minor fixes and improvements here and there |
From: Ulf L. <ul...@wa...> - 2015-09-07 22:10:56
|
Hi, just had a chat with Andreas. Basically, the topic was that the Chebychev propagator works, but poorly (slowly) so, and needs widespread adaption of other interfaces to be integrated properly. * discussed how Chebychev-Propagator can automatically try to get the spectrum of the operator - somewhat tricky and cumbersome, put off for now - check if Chebychev fails or works poorly with complex spectra (=> Ulf) * move OperatorMatrix to operator; seems better integrated there * Chebychev should check /fail for time-dependent operators - LinearOperators need function isTimeDependent() * Chebychev requires fixed time steps for optimal performance - augment Propagator interface by functions setTimestep() and propagateStep(int n_0, int n_1) - propagate changes, update Chebychev heavily Ulf |
From: Ulf L. <ul...@wa...> - 2015-06-08 21:36:50
|
Hi, just had another chat with Piotr. Summary: * discussed various issues with the CMake files in the cmake branch - finding libraries - removing odeint as requirement - minor rearrangements of cmake files * discussed basic procedure to continue - fix the issues - merge with master -> at this point, CMake will be the build system - continue with some advanced things (adding graphics library, installation, compilation script for convenience) Ulf |
From: Ulf L. <ul...@wa...> - 2015-02-15 20:04:09
|
Hi, just chatted with Andreas about making everything a MultiPropagator. Looks doable in one batch of commits. Summary can be found here: https://sourceforge.net/p/wavepacket/cpp/tickets/49/#bd55 Ulf |
From: Ulf L. <ul...@wa...> - 2015-01-24 21:43:14
|
Hi, I almost forgot my own policies. So a bit late a chat summary. Basically, I had a chat yesterday with Piotr, who wants to contribute to Wavepacket again. Summary: * new power goal: a GUI - a complete GUI for standard problems and non-expert users - graphical / printable output for the wave function * requires an updated build system (to turn off dependencies) * idea for GUI: simple webserver and stuff around * idea for output: plotting library => Piotr will have look around Ulf |
From: Ulf L. <ul...@wa...> - 2014-12-11 22:15:38
|
Hi, just had a chat with Yan Wang on a rewrite of the interpolation code (task #48). Summary: * some chit-chat, big picture of the rewrite etc. - make an interpolation class as a functor - add functions to load data from file and set up interpolation - rewrite builder/uncorrelated/InterpolatedState and add a few new operators that take arbitrary functors (which may be interpolated data) * first task: basic interpolation class - constructor: - takes two const RTensor&: x0, y(x0) - throw std::invalid_argument if sizes < 3 - throw std::invalid_argument if sizes do not match - ignore dimensions of input tensors - sort automatically if input is unsorted - double operator()(double x) - return the interpolated value Ulf |
From: Ulf L. <ul...@wa...> - 2014-11-25 20:28:38
|
Hi, just had another chat with Andreas. The basic idea was to clean up the OperatorMatrix and give it final touches. * add a function setColumn() to set a whole column of the matrix - behaves like setRow(), including the exceptions * replace the internal data structure by a Tensor<Operator> to match how a matrix is supposed to look like * clean up the tests - use getOperator() to explicitly check the setting of operators instead of applying the matrix to some states - replace the three tests for different aspects of the application by a single test with hand-crafted matrix - remove the cruft from the test fixture - use MockOperator to test that parameters (time!) are passed correctly to the single operators in the matrix Ulf |
From: Ulf L. <ul...@wa...> - 2014-11-21 21:40:52
|
Hi, to keep up with what will hopefully become a tradition, another brief summary. Yesterday I had a chat with Yan, another prospective developer. Summary: - discussed various issues, questions, administrative things etc. - Yan will try to port the 2D harmonic oscillator demo Ulf |
From: Ulf L. <ul...@wa...> - 2014-11-19 22:08:03
|
Hi, today I had a chat with Andreas, a new developer, and to revive the habit of sending a summary of what is going on, I am sending this mail. The task is #49 (unifying propagators), and was focused on making the OperatorMatrix more accessible. Basic decisions: * OperatorMatrix gets a new constructor that takes a single operator and sets up a 1x1 matrix with this operator (to handle the trivial case) - invalid_argument exception if the operator is null * OperatorMatrix gets a new constructor that takes a vector of vectors of operators (rows in the matrix), and sets up the operator - invalid_argument exception if all operators null - invalid_argument exception if matrix not quadratic - invalid_argument exception if wrong number of operators in a row * add a new static variable that represents a null operator (null pointer); supplying this operator in the second constructor signals that this cell of the matrix is the zero operator. * add a function getSize() to return the size of the OperatorMatrix * add a function getOperator(uint row, uint column) that returns the appropriate operator in this cell of the matrix - invalid_argument exception if the row or column is out of range |
From: Ulf L. <ul...@wa...> - 2014-11-18 21:28:26
|
Hello, release 0.1 of the C++ version is finally finished. The two major changes are a rewrite and extension of the initial wave function construction, and a numerical implementation of Redfield dissipation, where you only supply the coupling operator(s) and correlation functions (and a final propagation time and accuracy), and a specialized builder assembles your Redfield operators. Implementing the Redfield dissipation led to a host of other changes as well. The detailed changelog: - new working acceptance test: - Spin-Boson problem with Redfield dissipation - started adding demos from old Matlab code - squeezed and shifted state in a harmonic oscillator - cleaned up / improved generation of initial state: - StateBuilder assembles product states, pure density operators from wavefunctions etc. - elementary generators build one-dimensional wavefunctions - harmonic oscillator eigenstates - Morse oscillator eigenstates - interpolation from file; setting the 1D wavefunction - New operators: - RedfieldLiouvillian - generalized operators that takes an arbitrary matrix / tensor - time-dependent function - added RedfieldBuilder to calculate the effective operators appearing in the RedfieldLiouvillian - New MultiPropagators that can simultaneously propagate several states - added observers that are automatically called every (settable) propagation time steps - added observer that logs norm, energy and some other expectation values - some work to make Wavefunction/DensityManipulators more useful - tests log some of the data; may be put to use for reproducing failures Ulf |
From: Ulf L. <ul...@wa...> - 2014-11-18 21:24:52
|
Hi, just to continue with the roadmap a bit. I thought that for the next release, some of the freshly implemented things should be polished. In detail, I would plan the following: - finalize MultiPropagators; make them default During the implementation of the Redfield stuff, I needed a framework to propagate multiple coupled states. This now parallels the ordinary framework to propagate a single state, but should actually supersede it. What is missing is convenient handling of the single state case, which requires a bit of refactoring. - implement Chebychev propagators Chebychev propagators are fairly restrictive in that you need to supply the time steps explicitly; they are required for the construction. I think accommodating these propagators should help finalizing the definition of the Propagator interface. - implement electric fields Time-dependent operators are now included, but not really nice to use. Somehow, convenient construction of typical laser fields should be added. Not quite sure how this will work out in the end or how much work this actually is. This should be strongly driven by a typical application. There might be a few more side quests and cleanup issues, but these three items should form the bulk of the coding for the next version. Any comments? Suggestions? Objections? Ulf |
From: Ulf L. <ul...@wa...> - 2014-08-15 14:43:20
|
Hi, to simplify the installation of the Wavepacket library, I have put together a virtualization image that hopefully installs all dependencies more or less out of the box. I tried to simplify the installation process as much as possible; the result can be found under http://sourceforge.net/p/wavepacket/cpp/wiki/VirtualMachine/ If you want to try out the C++ version of Wavepacket and have not managed to get it compiled yet, this hopefully provides a simple enough way to do so. If you do try it out, I would be happy if you could report any errors, problems, or inconsistencies and bad explanations in the documentation. Ulf |
From: Ulf L. <ul...@wa...> - 2014-04-27 09:38:51
|
Hi again, since there seem to have been no objections (Burkhard suggested adding some demos for integration with the Matlab Wavepacket code), I have written up the tasks for the next release. They can be found under http://sourceforge.net/p/wavepacket/cpp/tickets/milestone/0.1/ Looks like a busy enough plan. Ulf |
From: Ulf L. <ul...@wa...> - 2014-04-16 22:42:18
|
Hi, I thought I would get into a habit of discussing the plan for the next release, in case anyone wishes to participate or objects to my schedule. So, following the roadmap, the next thing to implement would be Redfield tensors. These are actually a bit tricky. The issue is that you need an operator that is defined as the integral over time of some other operator in interaction representation. Ideally, there should be some tools to do that easily, but I am not quite sure how this fits into the hierarchy as is. As tricky as it is, it seems not quite enough to justify another release. So I thought, one might also clean up the wave function construction code and add a few more selections beyond Gaussians. And essentially everyone that suggested to contribute had problems getting the library to compile, so building and packaging would be another thing that could be done (i.e., providing easy-to-install packages with everything). This I would try to outsource via a request for a dedicated person (unless someone volunteers). So, the plan for 0.1, in short, would be: * figure out how to calculate the operators needed in Redfield theory * make a Redfield theory acceptance test including all required classes * clean up the wave function / density operator construction code * add a few more wave function generators, especially harmonic oscillator and Morse oscillator eigenstates * clean up the compilation process / pre-package libraries for easy installation Any comments? Ulf |
From: Ulf L. <ul...@wa...> - 2014-04-13 18:36:32
|
Hello everyone, I herbey present the next alpha version of the C++ rewrite of Wavepacket. One of the features that we always wanted for the mythical WavePacket 5 was transparent handling of density operators. This was difficult with the current Matlab's code structures, and is now fully supported by the C++ port. There are still many rough edges, starting with the installation, going over the setup of the initial wave packet to the inefficient operator arithmetic, but by changing a few lines of code (~3), you can now convert every wave function propagation into an equivalent density operator propagation, and this feature is meant to stay. For completeness, the changelog: - new working acceptance tests: - Harmonic oscillator with Lindblad dissipation - Density propagation and Wavefunction propagation give same result - added a builder to set up density operators as direct product states - completely reworked how operators work; there is now a primitive that knows what to do with various objects and a high-level operator that determines the actual action (commute with a density operator or apply to a wavefunction) - added a bunch of new operators: - CommutatorOperator, LindbladLiouvillian as high-level operators - ConstantOperator, TensorOperator as primitives - added class to simplify transformation of wavefunctions/density operators between the various representation (DVR, FBR, DVR with weights) - added Makefile target and structure for doxygen documentation - slightly simplified the Makefile configuration; fixed a few linker issues - shifted a few files, beautification and simplification of the code/tests etc. Ulf |
From: Ulf L. <ul...@wa...> - 2014-03-31 21:06:42
|
Hi, looking at the tasks that are open, there is not so much left., so I am currently trying out the various left-over cleanup things, and then would go for a new release, probably somewhen next week. Then we could assemble a new todo list for the next version, just as an advance warning. :) Ulf |
From: Ulf L. <ul...@wa...> - 2013-10-27 10:03:51
|
Hi, I just assembled another development version for the C++-branch of Wavepacket. It is still far from feature-complete and a pain to build outside of a Unix environment, though. Download: https://sourceforge.net/projects/wavepacket/files/C%2B%2B%20(experimental)/0.0.2/ Changes: - implemented multi-dimensional grids - introduced weighted DVR as new representation; this obsoletes the direct exposure of the DVR weights - a couple of new operators: harmonic oscillator, momentum operator, coordinate operator - added addition and summation of operators - added a wave function builder that generates a Gaussian initial state and can build a tensor product of one-dimensional wave functions - an acceptance test of a coherent state in a 2D harmonic oscillator The next target will be density operator propagation with a Lindblad dissipative term. Ulf |