Input file documentation for qimpy.transport

QimPy uses the YAML format for input files. See below for a complete list of settings. Most settings have sensible defaults: start with the Tutorials to see the most commonly used settings and then use the following as a reference for more information on each setting.

Click on each setting to open a more detailed documentation, and also to link to the corresponding entry in the API Reference. In addition to settings listed below, the special keyword include can be used at any level to effectively load another YAML file into that level of the heirarchy.

ab-initio:                                          # Ab-initio material:
  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-e: inf                                      # Conduction bands relaxation time.
    tau-h: inf                                      # Valance bands relaxation time.
    tau-s-e: inf                                    # Electron spin relaxation time.
    tau-s-h: inf                                    # Hole spin 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.
                                                   
  emField:                                          # Electromagnetic fields:
    grad-phi: (0.0, 0.0, 0.0)                       # Scalar potential.
                                                   
  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).
                                                   
fermi-circle:                                       # Fermi-circle material for graphene/2DEG:
  kF: [float]                                       # Fermi wave vector in atomic units.
  vF: [float]                                       # Fermi velocity in atomic units.
  N-theta: [int]                                    # Number of k along Fermi circle.
  r-c: inf                                          # Cyclotron radius, corresponding to external magnetic field
  theta0: 0.0                                       # Angle of first k-point.
  specularity: 1.0                                  # Specularity of reflection at all surfaces.
                                                   
single-band:                                        # Single-band model material for energy-resolved charge transport:
  lattice:                                          # Bulk lattice vectors / unit cell definition:
    system: null                                    # Specify crystal system and geometry parameters.
    vectors: null                                   # Three lattice vectors, each with (x, y, z) in bohrs.
    Rbasis: null                                    # Real-space basis vectors in columns.
    scale: 1.0                                      # Scale factor for lattice vectors.
    compute-stress: no                              # Whether to compute and report stress.
    movable: no                                     # Whether to move lattice during geometry relaxation / dynamics.
    move-scale: (1.0, 1.0, 1.0)                     # Scale factor for moving each lattice vector.
    periodic: (yes, yes, yes)                       # Whether each lattice direction is periodic.
    center: (0.0, 0.0, 0.0)                         # Center of cell for periodicity break along non-periodic directions.
                                                   
  kmesh: [list of int, or <class 'numpy.ndarray'>]  # Uniform k-point mesh from which to select relevant k-points.
  v: 0.0                                            # Velocity specifying a linear dispersion model.
  m: 0.0                                            # Effective mass specifying a quadratic dispersion model.
  mu: [float]                                       # Backround/reference chemical potential of initial state
  T: [float]                                        # Backround/reference temperature of initial state
  nT-below: 5                                       # Include states with energies starting at this many T below mu.
  nT-above: 5                                       # Include states with energies up to this many T above mu.
  scatter:                                          # Explicit state-dependent scattering kernel:
    dE: [float]                                     # Energy conservation width.
    epsilon-bg: [float]                             # Background dielectric constant.
    lambda-D: [float]                               # Debye screening length of electrons.
    block-size: 128                                 # Number of real-space points to calculate together.
    conserve-energy: yes                            # Whether to enforce exact energy conservation of e-e scattering.
                                                   
patch-set:                                          # Geometry consisting of bicubic patches:
  svg-file: [string]                                # Path to an SVG file containing the input geometry
  svg-unit: 1.0                                     # Real length corresponding to one unit of distance in SVG.
  grid-spacing: [float]                             # Maximum spacing between grid points anywhere in the geometry.
  contacts: [string or typing.Optional[dict]]       # Dictionary of contact names to parameters.
  grid-size-max: 0                                  # Maximum grid points per dimension after quad subdvision.
  save-rho: no                                      # Whether to write the full density matrices to the checkpoint file.
  cent-diff-deriv: no                               # Whether to use the simple central-difference derivative operator.
                                                   
parameter-grid:                                     # Virtual geometry of disconnected points for batched dynamics:
  shape: [int]                                      # Dimensions of parameter grid (always 2D).
  dimension1: null                                  # Parameter names and values to sweep along dimension 1.
  dimension2: null                                  # Parameter names and values to sweep along dimension 2.
  save-rho: no                                      # Whether to write the full density matrices to the checkpoint file.
                                                   
time-evolution:                                     # Time integration options:
  dt: 0.0                                           # Time step for evolution.
  dt-save: 0.0                                      # Time interval at which to save results.
  t-max: 0.0                                        # Stop evolution at this time.
  n-collate: 0                                      # Number of save-steps to collect into each checkpoint file.
  integrator: RK2                                   # Integrator for time-stepping: RK2 or RK4.
  steady-state: null                                # Steady state options.
                                                   
checkpoint: null                                    # Checkpoint file to read at start-up.
checkpoint-out: null                                # Checkpoint file pattern to write at regular intervals.

Component classes: