180 lines (144 with data), 7.5 kB
Version 0.2:
No breaking changes
- added plotting of the wave function (#67)
- added a factory to set up plotting for one-dimensional wave functions
- added a documented demo for the TDSE / TISE case
- added absorbing boundary conditions (#80)
- added a factory to easily create negative imaginary potentials
- added a documented demo to demonstrate this feature
- changed license to a more permissive ISC / CC0 mixture (#94)
- upgraded virtual machine image for the build (#109)
- Tests should be more reproducible now (fixed random seed) (#47)
That should mostly fix the issue of one test always failing
- some minor code formatting cleanup (#82)
-------------------------------------------------------------------------------
Version 0.1.4:
Breaking changes:
- moved/renamed several classes and functions
Gaussian -> GaussianState
Projection -> DvrEigenstate
LoggingOutput -> LoggingObserver
readTokenizedInput() -> readStructuredData()
readInterpolationData() -> Interpolator::createFromStream()
- functors that construct an initial state now take a grid as input, not the grid points
- #83, #89: added support for rotational problems
- added spherical harmonics expansion [SphericalHarmonicsGrid]
- added the L^2 operator for this grid [RotationalKineticEnergy]
- added spherical harmonic initial wave function [FbrEigenstate]
- #90: ability to easily write out calculated values
- added an observer to calculate expectation values [ExpectationValueObserver]
- added functions to write out a matrix to a file [writeStructuredData()]
- two documented demos that demonstrate the new features [MolRotation/*]
- #81: some code changes to speed up the build
- minor tweaks to documentation and build
-------------------------------------------------------------------------------
Version 0.1.3:
- tutorial improvements
- new tutorials for the time-independent Schroedinger equation, general advice
- improved/extended some other tutorials
- handling of multiple coupled channels
- introduced CoupledChannels grid with helper operators and functors
- logging resolves the channels
- added a demo and a tutorial
- added class to parse command-line options and configuration files
- added class
- added demo with detailed instructions
- misc smaller changes
- DoubleWell demo uses Razavy potential
-------------------------------------------------------------------------------
Version 0.1.2:
- improved Chebychev propagators:
- you no longer have to specify the spectrum, there are safe defaults
- improved documentation:
- moved tutorial from wiki and extended it considerably
- added package documentations
- use CMake as build system
- added solver for the time-independent Schroedinger equation
-------------------------------------------------------------------------------
Version 0.1.1b:
- updated googletest requirements and build defaults to version 1.8
- fixed some compiler warnings
- fixed possible compiler failures in acceptance tests
-------------------------------------------------------------------------------
Version 0.1.1:
- 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
-------------------------------------------------------------------------------
Version 0.1:
- 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
-------------------------------------------------------------------------------
Version 0.0.3:
- 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.
-------------------------------------------------------------------------------
Version 0.0.2:
- 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
-------------------------------------------------------------------------------
Version 0.0.1:
- Initial release
- an FFT-based Cartesian grid
- a kinetic energy operator for said grid
- a propagator employing standard ODE solvers
- an acceptance test that propagates a free particle