AbInitio input documentation

Initialize ab initio material.

Used to initialize class qimpy.transport.material.ab_initio.AbInitio.

YAML template:

file: [string]                  # Name of HDF5 file to load materials data from.
T: [float]                      # Temperature.
mu: 0.0                         # Chemical potential in equilbrium.
rotation: null                  # 3 x 3 rotation matrix from material to simulation frame.
orbital-zeeman: null            # Whether to include L matrix elements in Zeeman coupling.
observable-names: n             # Control which observables will be output.
relaxation-time:                # Relaxation-time approximation to scattering:
  tau-p: inf                    # Momentum relaxation time.
  tau-s: inf                    # Spin relaxation time.
  tau-e: inf                    # Conduction bands relaxation time.
  tau-h: inf                    # Valance bands relaxation time.
  tau-eh: inf                   # Relaxation time of conduction-valance off diagonal terms.
  max-dmu: 0.001                # Maximum mu change in Newton-Rhapson method.
  tau-recomb: inf               # Recombination time.
  nv: 0                         # Number of valance bands.
  eps: 1e-12                    # Precision in the determination of mu_e and mu_h.
  only-diagonal: yes            # Whether only diagonal terms change.

lindblad:                       # Ab-initio lindblad scattering:
  scale-factor: 1.0             # Overall scale factor for scattering rate.

light:                          # Light-matter interaction (coherent / Lindblad):
  coherent: yes                 # Switch between coherent and Lindbladian implementations.
  gauge: velocity               # Switch between 'velocity' or 'length' gauge.
  A0: null                      # Vector potential amplitude.
  E0: null                      # Electric-field amplitude.
  omega: 0.0                    # Angular frequency / photon energy of the light.
  t0: 0.0                       # Center of Gaussian pulse, used only if sigma is non-zero.
  sigma: 0.0                    # Time width of Gaussian pulse, if non-zero.
  smearing: 0.001               # Width of Gaussian function to represent delta function.

pulseB:                         # Magnetic field pulses:
  B0: (0.0, 0.0, 0.0)           # Magnetic field amplitude vector.
  g: 0.0                        # Gyromagnetic ratio magnitude to calculate mean Larmor frequency.
  g-flip: 0.0                   # Gyromagnetic ratio magnitude to calculate flip time.
  t-starts: (0.0,)              # Start times of oscillating magnetic field pulse.
  angles: (3.141592653589793,)  # Corresponding target spin rotation angles (in radians).

Component classes:

Parameters:

file

Type: string

Name of HDF5 file to load materials data from.

T

Type: float

Temperature.

mu

Type: float, Default: 0.0

Chemical potential in equilbrium.

rotation

Type: <class ‘torch.Tensor’> or <class ‘numpy.ndarray’> or float or list of float, or null, Default: null

3 x 3 rotation matrix from material to simulation frame. If unspecified (default), no rotation is performed.

orbital-zeeman

Type: bool or null, Default: null

Whether to include L matrix elements in Zeeman coupling. The default null amounts to using L if available in the data.

observable-names

Type: string or list of string, Default: n

Control which observables will be output. Specify either as a list of names, or a comma-separated string. Supported variables:

  • n: number density

  • jx, jy: number flux components

  • Sx, Sy, Sz: spin density components

  • jx_Sx, jx_Sy, …: spin flux, where jx_Sy = Sy flux along x direction

By default, only n (number density) is output.

relaxation-time

Type: RelaxationTime, Default: null

Relaxation-time approximation to scattering. Multiple scattering types specified will all contirbute independently.

lindblad

Type: Lindblad, Default: null

Ab-initio lindblad scattering. Multiple scattering types specified will all contirbute independently.

light

Type: Light, Default: null

Light-matter interaction (coherent / Lindblad).

pulseB

Type: PulseB, Default: null

Magnetic field pulses.