TLS driver

The TLS driver implements a minimal closed two-level system with a single transition frequency and dipole moment. It is provided by maxwelllink.mxl_drivers.python.models.TLSModel and ships with MaxwellLink for lightweight regression tests and benchmark scenarios.

Note

The TLS driver advances the two-level density matrix through

\[\frac{d}{dt}\hat{\rho}(t) = -\frac{i}{\hbar}\Bigl[\hat{H}_0 - \widetilde{\mathbf{E}}(t)\cdot \hat{\boldsymbol{\mu}},\, \hat{\rho}(t)\Bigr],\]

where \(\hat{H}_0 = \mathrm{diag}(0, \hbar\omega_0)\) and \(\hat{\boldsymbol{\mu}} = \mu_{12}\,\mathbf{e}_{i}\,\hat{\sigma}_x\). \(\mathbf{e}_i\) denotes the orientation unit vector of the dipole. The emitted dipole current is evaluated analytically as

\[\frac{d}{dt}\langle \hat{\boldsymbol{\mu}} \rangle = -2\,\omega_0\,\mu_{12}\,\operatorname{Im}\!\bigl(\rho_{12}\bigr)\,\mathbf{e}_{i},\]

which is passed directly to Maxwell’s equations.

Requirements

  • No additional packages are required beyond MaxwellLink’s dependencies.

  • scipy (already bundled) is used for the short-time propagator.

Usage

Socket mode

mxl_driver --model tls --port 31415 \
  --param "omega=0.242, mu12=187, orientation=2, pe_initial=1e-4, \
           checkpoint=false, restart=false"

Non-socket mode

mxl.Molecule(
    driver="tls",
    driver_kwargs={
        "omega": 0.242,
        "mu12": 187.0,
        "orientation": 2,
        "pe_initial": 1e-4,
    },
    # ...
)

Parameters

Name

Description

omega

Transition frequency in atomic units. Default: 2.4188843e-1, corresponding to 1.0 in Meep units when time_units_fs=0.1.

mu12

Transition dipole moment in atomic units; scaling with the emitted source amplitude. Default: 1.870819866e2, corresponding to 0.1 in Meep units when time_units_fs=0.1.

orientation

Dipole orientation: 0 couples to E_x, 1 to E_y, 2 to E_z. Default: 2.

pe_initial

Initial excited-state population. Default: 0.0.

checkpoint

When True write tls_checkpoint_id_<n>.npz after each step. Default: False.

restart

When True resume from the latest checkpoint if present. Default: False.

verbose

When True print field values and density-matrix diagnostics each step. Default: False.

Returned data

  • time_au – Simulation time in atomic units.

  • energy_au – Instantaneous TLS energy.

  • mux_au, muy_au, muz_au – Dipole vector components (non-zero along the selected orientation) in atomic units.

  • Pe / Pg – Excited- and ground-state populations.

  • Pge_real / Pge_imag – Real and imaginary parts of the coherence.

Notes

  • The driver exposes a deterministic analytic evolution; see tests/test_tls/test_meep_2d_socket_tls1_relaxation.py for reference output.

  • The QuTiP driver replicates this model when preset=tls; use the TLS driver for the lightest-weight option.