tRecX — An environment for solving time-dependent Schrödinger-like problems
tRecX is a C++ code for solving generalized inhomogeneous time-dependent Schrödinger-type equations idΨ/dt = H[t, Ψ] + Φ in arbitrary dimensions and in a variety of coordinate systems. The operator H[t, Ψ] may have simple non-linearities, as in Gross-Pitaevskii and Hartree(-Fock) problems. Primary application of tRecX has been non-perturbative strong-field single and double photo-electron emission in atomic and molecular physics. The code is designed for large-scale ab initio calculations, for exploring models, and for advanced teaching in computational physics. Distinctive numerical methods are the time-dependent surface flux method for the computation of single and double emission spectra and exterior complex scaling for absorption. Wave functions and operators are handled by tree-structures with the systematic use of recursion on the coarse-grain level. Numerical, analytic, and grid-based discretizations can be combined and are treated on the same abstract level. Operators are specified in the input using a script language including symbolic algebra. User-friendly in- and output, error safety, and documentation are integrated by design.