C++ Lab Course - Seminar topics
C++ Lab Course - Seminar topics
C++ Lab Course - Seminar topics
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Wave function class<br />
A wave function is the following object<br />
• It has up to three coordinate axes which also defines a discretization by a product basis (the<br />
axis class will be supplied)<br />
• It has a time<br />
• We can form the scalar product of two wave functions.<br />
• We can apply the overlap matrix and the inverse of the overlap matrix to the wave function.<br />
Operator class<br />
Operator representations on product basis sets. This is an important and large class, the task can<br />
be split into smaller parts.<br />
• An operator is constructed given a set of axes and a string that defines the operator. A typical<br />
string could be the kinetic energy in 2-d polar coordinates φ, ρ in the tensor-product form<br />
kin = ’+1/2(|)x(d|d) +1(d|d)x(|1/q^2|)’<br />
or general potentials, e.g the harmonic oscillator:<br />
pot = ’harmonic(kappax,kappay)’<br />
for<br />
pot(x, y) = κ x x 2 + κ y y 2<br />
• An operator can be applied to a wave function, the result is a wave function.<br />
• Operators on finite-element basis sets are stored piecewise for each product of finite elemetns.<br />
• Tensor product operators are stored as the individual factors.<br />
• Potentials are stored by their values on quadrature points and by the transformation matrices<br />
from the basis set to the quadrature points (compare the discussion of DVR).<br />
Timer routines<br />
Functionality like in “mytimer.py”: find <strong>C++</strong> class with this functionality or translate the python<br />
code. We want<br />
• Minimal timer overhead — timer operation must be fast!<br />
• Option to switch off the timer (to reduce any possible overhead to the absolute mininum).<br />
• Progress monitor: let the timer print a “.” or “-” if more than n seconds that have elapsed<br />
since it was last called last time.<br />
Time propagator class<br />
A time-propagator takes as an argument and operator, wave function, a new time, and an accuracy<br />
parameter. Advances the wave function from its current time to the new time by solving the TDSE<br />
with the given operator. Controls the accuracy.<br />
5