**So far, the use of electric fields and dipole operators within the Hamiltonian discussed here applies only to quantum propagations of wavefunctions (i.e. objects of class wave). For classical or quantum-classical propagations (i.e. objects of class traj) such an extension has not yet been implemented in V6 nor in V7. But this should come some time soon ...
**
Here, we shall explain some of the advanced options regarding the implementation of coupling quantum dynamics to external electric field, namely the use of Floquet light-dressed states for static central frequency, and the use of the rotating wave approximation, which is a special case of light-dressed states, but suitable for time-dependent central frequencies.
The implementation of Floquet states in WavePacket has a couple of important limitations:
To use Floquet states, you first set up a calculation for the bare states. Then, you need to set two additional parameters within the global structure time:
''time.efield.photons'' is a cell array whose ''i''-th element tells about the dressing of the ''i''-th bare state. Each of these cell elements is a normal array whose elements give the number of photons with which the state is dressed.
As an example, let us consider the ground state φ0, and let us assume we want to study processes that absorb one or three photons to come to a state φ_1. The line would then be
time.efield.photons = {[0 -2] [-1 -3]}
That is, for some large number of photons n0 (the value of n0 is irrelevant, we only have to remember that it is large for the classical approximation), we dress the ground state by n0 or n0−2 photons, and the excited state gets a dressing by n0−1 and n0−3 photons. Note that we need to include the ground state with n0−2 photons here because the three-photon absorption always goes in one-photon steps; so although this state is usually only transiently populated, it is required.
What happens when you run a Floquet calculation is that WavePacket first sets up a calculation with the bare states, and then creates a new setup, dressing all states as required. In the preceding example, the initial calculation setup with two bare channels will be replaced by a new calculation with four dressed states. Matrix elements etc. are lifted appropriately, and when setting up laser fields, the central frequency is removed.
The typical way of deriving the RWA is by splitting a real-valued electric field into a sum of fields with positive and negative frequency components, and identifying these with absorption and emission processes, respectively. Then, one drops from the Hamiltonian those elements that correspond to the less likely process (e.g., excitation to a state with higher energy under emission of a photon), and obtains the RWA.
The RWA is essentially identical to a Floquet calculation, where only the groundstate dressed with n0 photons and the excited state dressed with n0−1 photons are included (n0 being a large but arbitrary photon number). The formulation with complex electric fields is included specially because it is more widely used in the context of optimal control.
To enable the RWA, set ''time.efield.complex'' to true. This enables some special treatment for complex electric fields (e.g., to ensure that the Hamiltonian stays Hermitian). Also when you interpolate an electric field from a file, the interpolation file is now assumed to consist of three columns, denoting the time, the real part and the imaginary part of the electric field (instead of just two for real-valued electric fields).
The RWA does not easily extend to more than two states, so the code throws an error if you try to use RWA with more than two (coupled) channels. Furthermore, the code assumes that the first channel is the ground state with the lower energy. Also, it only works with the split-operator propagation scheme.
Wiki: Reference.Classes.traj
Wiki: Reference.Classes.wave
Wiki: Reference.Variables.time.efield
Wiki: Users.Main