FourierPropagator¶
About the FourierPropagator
class¶
The WaveBlocks Project
@author: R. Bourquin @copyright: Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016 R. Bourquin @license: Modified BSD License
Inheritance diagram¶
![Inheritance diagram of FourierPropagator](../_images/inheritance-709eb5ab1b6efdc912988c487a90372074a5e74e.png)
Class documentation¶
-
class
WaveBlocksND.
FourierPropagator
(parameters, potential, initial_values)[source]¶ This class can numerically propagate given initial values
on a potential hyper surface
. The propagation is done with a Strang splitting of the time propagation operator
.
-
__init__
(parameters, potential, initial_values)[source]¶ Initialize a new
FourierPropagator
instance. Precalculate the the kinetic operatorand the potential operator
used for time propagation.
Parameters: - parameters – The set of simulation parameters. It must contain at least
the semi-classical parameter
and the time step size
.
- potential (A
MatrixPotential
instance.) – The potentialgoverning the time evolution.
- initial_values (A
WaveFunction
instance.) – The initial valuesgiven in the canonical basis.
Raise: ValueError
If the number of components ofdoes not match the number of energy surfaces
of the potential.
- parameters – The set of simulation parameters. It must contain at least
the semi-classical parameter
-
get_operators
()[source]¶ Get the kinetic and potential operators
and
.
Returns: A tuple containing two
ndarrays
.
-
get_potential
()¶ Returns the potential
used for time propagation.
Returns: A MatrixPotential
subclass instance.
-
get_wavefunction
()[source]¶ Get the wavefunction that stores the current data
.
Returns: The WaveFunction
instance.
-
post_propagate
()¶ Given the wavefunction
at final time
, perform some computations exactly once after running the ordinary time propagation and before each time simulation data will be saved.
This method does not raise an exception but instead just does nothing and returns.
-
pre_propagate
()¶ Given the wavefunction
at initial time
, perform some computations exactly once before running the ordinary time propagation and after each time simulation data was saved.
This method does not raise an exception but instead just does nothing and returns.
-