# History

**November 30, 2017**

Using t-SURFF with MPI, the k-values may not be generated equidistantly with 'delta-k-scheme = 1' if num-k-surff is not divisible by the number of MPI processes. We thank Seongjin Ahn for pointing this out.**May 27, 2016**

We realized that on some platforms there are strange effects when using the**-ffast-math**flag for compilation. Running imaginary time propagation after initializing with ell=1, the wavefunction should relax towards the 2p state because different ell components are not coupled without external driver, right? However, with -ffast-math,**on some platforms**, the wavefunction nevertheless relaxes towards the absolute ground state with ell=0. One can work around this by compiling without -ffast-math (in the makefile in /src/base), run imaginary time propagation, compile again with -ffast-math and then run the real-time propagation. Another option is to orthogonalize during imaginary time propagation, as one has to do for higher principal quantum numbers anyway.**May 27, 2016**

Put v1.92 of slim version. There are working examples for harmonic generation now using an effective potential for the neon atom (starting from the 2p state with the right energy). The example for linear polarization is in directory src/neon_hhg, the example for two-color (ω-2ω), counter-rotating circularly polarized fields is in src/circ_hhg. In the interest of a faster run time the circular example is for frequency ω=0.2 and only 20 ells (check convergence if you need physically reliable results!).

**May 25, 2016**

Put v1.91 of slim version to get rid of warnings during compilation.**March 17, 2016**

A Qprop version with the efficient t-SURFF method to calculate photoelectron spectra has been launched (see qprop_v2.0_with_t-SURFF in the download box to the right). See arXiv.1603.05529 for a manuscript.**May 6, 2013**

A new "slim" version (1.9) is available for download. It is a cleaned-up version of 1.8. Thanks to Vijay Kaul for pointing out that the hydrogen-example directory was messed up in the previous slim version 1.8.**November 12, 2010**

The Qprop web site has "physically" moved from Heidelberg to Rostock. Moreover, a new Qprop release is now available (1.8). Some people had problems with blas, lapack, and f2c which for most of the tasks are actually not needed. Therefore we also provide a "slim", self-contained version of Qprop now.**April 16, 2010**

New version (1.7) which compiles under more recent versions of gcc (explicitly tested for g++ (SUSE Linux) 4.3.2 [gcc-4_3-branch revision 141291]).**April 20, 2006**

The wavefunction member function propagate(complex, double, grid, hamop, int, const wavefunction, int, double), as it is used in the example hydrogen_re and hydrogen_im ignores the function field(double, int) so that length gauge calculations will not work. Use the overloaded TDDFT version propagate(complex, double, grid, hamop, int, const wavefunction, const fluid, const wavefunction, const wavefunction, const fluid, double int[]) instead (like in the example "neon"). If you want to do a single-active electron calculation, define just a single orbital and set Hartree and exchange potentials to zero. We thank Dott. G. Bonanno for pointing this out to us.

Status: not yet fixed**January 16, 2006**

Mistake in the function calculate_Theta in wavefunction.cc for l=|m| if m is different from zero.

Status: fixed in version 1.6**October 28, 2005**

In winop.cc and wavefunction.cc the function complex ylm(long l, long m, double theta, double phi) for the spherical harmonics was called with cos(theta) instead of theta (because we previously used a different ylm-routine). However, this bug only affected the calculation of directional photoelectron spectra (in winop.cc) and the output of the wavefunction in cylindrical coordinates (in wavefunction::dump_to_file)

Status: fixed in version 1.5**October 6, 2005**

The CPC manuscript has been slightly modified according to the referee's comments.**October 18, 2005**

Some C++ compilers don't know the trunc(double) function, which is used in ned.cc. If this happens with your compiler change line 158 from i__2 = long(trunc(d__1)); to i__2 = (long)(d__1); We thank Dr. Carol Phillips from CPC for pointing this out.

Status: fixed in version 1.5**October 18, 2005**

Some C++ compilers don't know lround(double), which is used in bar.cc (line 101). You may safely replace it by floor(double) in this case (or avoid bar.cc altogether). We thank Dr. Carol Phillips from CPC for pointing this out.

Status: fixed in version 1.5