Quickstart
==========
This page is the fastest path from a fresh TDSEZ run to a plotted spectrum,
wavefunction, or transition-dipole diagram.
Prepare a run directory
------------------------
TDSEZ writes outputs under a single run directory with two subdirectories:
::
run_dir/
td/
TimeEvolutionData_.h5
wfs_.h5
static/
EigenData_.h5
```` is the input filename, for example ``h2p.inp``.
Summarize a run from the terminal
---------------------------------
.. code-block:: bash
zkit summary h2p.inp --run-dir /data/run01
Sample output:
.. code-block:: text
input=h2p.inp
dimension=1
n_steps=480
time_step=0.050
final_time=24.000
evolution: dimension=1 steps=480 dipoles=(480, 4) populations=(480, 4) energies=(480, 7)
eigen: states=21
Load a run in Python
--------------------
.. code-block:: python
from zkit.simulation import Run
run = Run("/data/run01", "h2p.inp")
print(run)
print("dimension:", run.dim)
print("eigenvalues:", run.eigen.values)
print("evolution:", run.evolution)
Plot a wavefunction snapshot
----------------------------
.. code-block:: bash
zkit plot-wfs td/wfs_h2p.inp.h5 --step 0 --outdir figures
.. code-block:: python
from zkit.viz import plot_wavefunction
path = plot_wavefunction(
"td/wfs_h2p.inp.h5",
step=0,
outdir="figures",
npoints=240,
dpi=150,
)
print(path)
Plot transition-dipole diagrams
-------------------------------
.. code-block:: bash
zkit tdm-plot static/EigenData_h2p.inp.h5 --axes x,z --outdir figures
.. code-block:: python
from zkit.viz import plot_tdm
out = plot_tdm(
"static/EigenData_h2p.inp.h5",
outdir="figures",
axes=["x", "z"],
min_mu=1e-3,
color_by="strength",
prefix="h2p",
)
print(out["diagram"])
print(out["matrix"])
Read time-evolution data
------------------------
.. code-block:: python
from zkit.io.evolution import read_evolution
evolution = read_evolution("td/TimeEvolutionData_h2p.inp.h5")
print(evolution.time.shape)
print(evolution.dipoles.shape)
print(evolution.energies.shape)
print(evolution.autocorrelation.shape)
Read eigenstates
----------------
.. code-block:: python
from zkit.io.eigen import read_eigen
from zkit.io.tdm import tdm_of_state
eigen = read_eigen("static/EigenData_h2p.inp.h5")
print(eigen.values.shape)
print(eigen.vectors.shape)
# transitions out of state 0 along x
row = tdm_of_state("static/EigenData_h2p.inp.h5", 0, axes="x")
print(row["tdm_x"].shape)
Reconstruct a spatial wavefunction
----------------------------------
.. code-block:: python
from zkit.io.eigen import read_eigen
eigen = read_eigen("static/EigenData_h2p.inp.h5")
res = eigen.reconstruct(istate=0, npoints=240)
print(res["psi"].shape)
print(res["axes"][0].min(), res["axes"][0].max())