USAGE: qdyn_prop_traj [OPTIONS] RUNFOLDER [RUNFOLDERS ...]
This program is part of QDYN.
Look for CONFIGFILE inside RUNFOLDER (or file "config" if no CONFIGFILE
is given). Initialize a system (dynamical generator, pulses, grid,
initial state, eigensystem (optional)) from the specification in the
CONFIGFILE (using the default, empty, label). Propagate the initial
state over the time grid defined in the config file while writing out
any observables defined in the CONFIGFILE.
If additional RUNFOLDERS are given, propagate the system described by
each runfolder. By default, this is eqivalent to calling qdyn_prop_traj
once for each of the runfolders.
If the propagation is set up to use the Monte-Carlo-Wave-Function (MCWF,
"quantum jump" method, an arbitrary number of randomized trajectories
can be propagated (--n-trajs option). In this case, the observables
are averaged over all trajectories. If compiled with MPI support,
qdyn_prop_traj may be run in parallel (using mpirun or an equivalent
MPI runner) to significantly speed up the simulation of a large number
of trajectories.
OPTIONS
-h, --help Print this help message and exit.
-v, --version Print version information and exit
--n-trajs=N Number of trajectories to propagate.
--rho Propagate in Liouville space. Implies --n-trajs=1
The initial state is the pure-state density matrix
for the state defined in the CONFIGFILE.
--keep-all Keep expectation values from all trajectories
--write-statistical-squares
For every expectation values output file, write
an additional file with extension .statsq that
contains the square root of the the average over
the squares of all expectation values, i.e.
sqrt(E(x^2)) for all expectation values x. Together
with the original averaged expectation values
E(x), the statistical variance can be calculated as
[sqrt(E(x^2))]^2 - E(x)^2. The variance should
converge to a constant value, and depend only
weakly on N. The statistical error of an observable
x is sqrt(var(x)/N) and thus go as 1/sqrt(N).
--write-all-states=STATESFILE
Write all propagated states to STATESFILE.<N>,
where <N> is the trajectory number
--write-final-state=STATESFILE
Write only the final state of each trajectory to
STATESFILE.<N>, where <N> is the trajectory number
--write-jump-record=JUMPRECORDFILE
Write a list of jump times and the index of the
Lindblad operator that was used in the jump to
JUMPRECORDFILE.<N>, where <N> is the trajectory
number
--states-file-format=FORMAT
The format in which to write states to file, via
--write-all-states, and --write-final-state.
Acceped values for FORMAT are "full", "vectorized",
and "indexed", see NOTES. Defaults to "indexed".
--lab-states Write the states (--write-final-state,
--write-all-states) in the lab frame, using the
transformation defined in RWA_VECTORFILE
--rwa-vector=RWA_VECTORFILE
Enable the conversion of propagated states from
the rotating frame to the lab frame. This is
required for the --lab-states option, as well as
if any observable in the CONFIGFILE has
`in_lab_frame` set to True
--time-unit=UNIT Physical unit for time column in JUMPRECORDFILE,
as well as for writing out states
--config=CONFIGFILE Name of the config file inside RUNFOLDER. Defaults
to "config"
--seed=SEED Seed for the random number generator
--backwards Performs a backwards propagation
--propagate-series If given in combination with multiple RUNFOLDERS,
ignore the initial state (--state-label) for all
but the first runfolder, and use the state
resulting from the propagation of the previous
runfolder as the initial state for the propagation
in the next runfolder.
--use-oct-pulses For every pulse that defines an "oct_outfile" in
the config file, if that file exists, use it to
load the data for the pulse, instead of the
"normal" initialization. This allows to propagate
the pulses resulting from an optimization, instead
of the guess pulses.
--debug Write para.debug, grid.debug, gen.debug,
state0.debug, prop_work.debug containing ascii
dumps of the config file data, the spatial grid,
the dynamical generator, the intial state, and the
propagation scratch data. The files are written in
the RUNFOLDER.
--internal-units=UNITS_FILE
Specify a file containing conversion factors
between internal units and physical units. See
"Notes on the Units Systems" in the QDYN
documentation for details. The file must be located
in the current working directory, in the directory
specficied by the QDYN_UNITS environment variable,
or the QDYN installation directory.
--state-label=STATELABEL
Label in the config file of the initial state. By
default, the state is initialized from the empty
label (same as the rest of the system). Specifying
a different label is useful for e.g. propgating
the different initial states of an optimization.
NOTES
The value for FORMAT in the --states-file-format results in the
the following output. If a Hilbert space states is propagated (--rho
not given), then the output file will contain three columns (index,
real part, imaginary part of the wave function amplitude) If FORMAT is
"indexed", zero amplitudes are omitted. If a density matrix is
propagate, then if FORMAT is "indexed", the output file will have four
columns (row, col, real part, imaginary part of density matrix entry);
if FORMAT is "full", then the density matrix of dimension n will be
written in n rows, and 2*n+1 columns, with the row index in the first
column, and all the real and imaginary part of all the density matrix
entries in that row; if the FORMAT is "vectorized", the output file will
have three columns (index, real and imaginary part of the density matrix
entries), where the index numbers all entries in column-major mode.
In the output for --write-all-states, the output for states at different
points in time is separated by two blank lines (plus two comment lines).
Most options may also be set in the config file as use-defined values.
The corresponding keyname replaces dashes with underscores. That is,
instead of specifying "--write-jump-record=jump_record.dat" as a command
line option, the value "write_jump_record = jump_record.dat" may be
added to the "user_strings" section of the CONFIGFILE. Any filenames
in this case are relative to the CONFIGFILE, not the current working
directory.