Transport input documentation ============================= Compose a System to calculate from its pieces. Each piece could be provided as an object or a dictionary of parameters suitable for initializing that object. Used to initialize class :class:`qimpy.transport.Transport`. YAML template: -------------- .. parsed-literal:: :yamlparam:`qimpy.transport.Transport:ab-initio`: :yamlcomment:`# Ab-initio material:` :yamlparam:`qimpy.transport.material.ab_initio.AbInitio:file`: [:yamltype:`string`] :yamlcomment:`# Name of HDF5 file to load materials data from.` :yamlparam:`qimpy.transport.material.ab_initio.AbInitio:T`: [:yamltype:`float`] :yamlcomment:`# Temperature.` :yamlparam:`qimpy.transport.material.ab_initio.AbInitio:mu`: 0.0 :yamlcomment:`# Chemical potential in equilbrium.` :yamlparam:`qimpy.transport.material.ab_initio.AbInitio:rotation`: :yamlkey:`null` :yamlcomment:`# 3 x 3 rotation matrix from material to simulation frame.` :yamlparam:`qimpy.transport.material.ab_initio.AbInitio:orbital-zeeman`: :yamlkey:`null` :yamlcomment:`# Whether to include L matrix elements in Zeeman coupling.` :yamlparam:`qimpy.transport.material.ab_initio.AbInitio:observable-names`: n :yamlcomment:`# Control which observables will be output.` :yamlparam:`qimpy.transport.material.ab_initio.AbInitio:relaxation-time`: :yamlcomment:`# Relaxation-time approximation to scattering:` :yamlparam:`qimpy.transport.material.ab_initio.RelaxationTime:tau-e`: inf :yamlcomment:`# Conduction bands relaxation time.` :yamlparam:`qimpy.transport.material.ab_initio.RelaxationTime:tau-h`: inf :yamlcomment:`# Valance bands relaxation time.` :yamlparam:`qimpy.transport.material.ab_initio.RelaxationTime:tau-s-e`: inf :yamlcomment:`# Electron spin relaxation time.` :yamlparam:`qimpy.transport.material.ab_initio.RelaxationTime:tau-s-h`: inf :yamlcomment:`# Hole spin relaxation time.` :yamlparam:`qimpy.transport.material.ab_initio.RelaxationTime:tau-eh`: inf :yamlcomment:`# Relaxation time of conduction-valance off diagonal terms.` :yamlparam:`qimpy.transport.material.ab_initio.RelaxationTime:max-dmu`: 0.001 :yamlcomment:`# Maximum mu change in Newton-Rhapson method.` :yamlparam:`qimpy.transport.material.ab_initio.RelaxationTime:tau-recomb`: inf :yamlcomment:`# Recombination time.` :yamlparam:`qimpy.transport.material.ab_initio.RelaxationTime:nv`: 0 :yamlcomment:`# Number of valance bands.` :yamlparam:`qimpy.transport.material.ab_initio.RelaxationTime:eps`: 1e-12 :yamlcomment:`# Precision in the determination of mu_e and mu_h.` :yamlparam:`qimpy.transport.material.ab_initio.RelaxationTime:only-diagonal`: :yamlkey:`yes` :yamlcomment:`# Whether only diagonal terms change.` :yamlparam:`qimpy.transport.material.ab_initio.AbInitio:lindblad`: :yamlcomment:`# Ab-initio lindblad scattering:` :yamlparam:`qimpy.transport.material.ab_initio.Lindblad:scale-factor`: 1.0 :yamlcomment:`# Overall scale factor for scattering rate.` :yamlparam:`qimpy.transport.material.ab_initio.AbInitio:light`: :yamlcomment:`# Light-matter interaction (coherent / Lindblad):` :yamlparam:`qimpy.transport.material.ab_initio.Light:coherent`: :yamlkey:`yes` :yamlcomment:`# Switch between coherent and Lindbladian implementations.` :yamlparam:`qimpy.transport.material.ab_initio.Light:gauge`: velocity :yamlcomment:`# Switch between 'velocity' or 'length' gauge.` :yamlparam:`qimpy.transport.material.ab_initio.Light:A0`: :yamlkey:`null` :yamlcomment:`# Vector potential amplitude.` :yamlparam:`qimpy.transport.material.ab_initio.Light:E0`: :yamlkey:`null` :yamlcomment:`# Electric-field amplitude.` :yamlparam:`qimpy.transport.material.ab_initio.Light:omega`: 0.0 :yamlcomment:`# Angular frequency / photon energy of the light.` :yamlparam:`qimpy.transport.material.ab_initio.Light:t0`: 0.0 :yamlcomment:`# Center of Gaussian pulse, used only if sigma is non-zero.` :yamlparam:`qimpy.transport.material.ab_initio.Light:sigma`: 0.0 :yamlcomment:`# Time width of Gaussian pulse, if non-zero.` :yamlparam:`qimpy.transport.material.ab_initio.Light:smearing`: 0.001 :yamlcomment:`# Width of Gaussian function to represent delta function.` :yamlparam:`qimpy.transport.material.ab_initio.AbInitio:emField`: :yamlcomment:`# Electromagnetic fields:` :yamlparam:`qimpy.transport.material.ab_initio.EMField:grad-phi`: (0.0, 0.0, 0.0) :yamlcomment:`# Scalar potential.` :yamlparam:`qimpy.transport.material.ab_initio.AbInitio:pulseB`: :yamlcomment:`# Magnetic field pulses:` :yamlparam:`qimpy.transport.material.ab_initio.PulseB:B0`: (0.0, 0.0, 0.0) :yamlcomment:`# Magnetic field amplitude vector.` :yamlparam:`qimpy.transport.material.ab_initio.PulseB:g`: 0.0 :yamlcomment:`# Gyromagnetic ratio magnitude to calculate mean Larmor frequency.` :yamlparam:`qimpy.transport.material.ab_initio.PulseB:g-flip`: 0.0 :yamlcomment:`# Gyromagnetic ratio magnitude to calculate flip time.` :yamlparam:`qimpy.transport.material.ab_initio.PulseB:t-starts`: (0.0,) :yamlcomment:`# Start times of oscillating magnetic field pulse.` :yamlparam:`qimpy.transport.material.ab_initio.PulseB:angles`: (3.141592653589793,) :yamlcomment:`# Corresponding target spin rotation angles (in radians).` :yamlparam:`qimpy.transport.Transport:fermi-circle`: :yamlcomment:`# Fermi-circle material for graphene/2DEG:` :yamlparam:`qimpy.transport.material.FermiCircle:kF`: [:yamltype:`float`] :yamlcomment:`# Fermi wave vector in atomic units.` :yamlparam:`qimpy.transport.material.FermiCircle:vF`: [:yamltype:`float`] :yamlcomment:`# Fermi velocity in atomic units.` :yamlparam:`qimpy.transport.material.FermiCircle:N-theta`: [:yamltype:`int`] :yamlcomment:`# Number of k along Fermi circle.` :yamlparam:`qimpy.transport.material.FermiCircle:r-c`: inf :yamlcomment:`# Cyclotron radius, corresponding to external magnetic field` :yamlparam:`qimpy.transport.material.FermiCircle:theta0`: 0.0 :yamlcomment:`# Angle of first k-point.` :yamlparam:`qimpy.transport.material.FermiCircle:specularity`: 1.0 :yamlcomment:`# Specularity of reflection at all surfaces.` :yamlparam:`qimpy.transport.Transport:single-band`: :yamlcomment:`# Single-band model material for energy-resolved charge transport:` :yamlparam:`qimpy.transport.material.single_band.SingleBand:lattice`: :yamlcomment:`# Bulk lattice vectors / unit cell definition:` :yamlparam:`qimpy.lattice.Lattice:system`: :yamlkey:`null` :yamlcomment:`# Specify crystal system and geometry parameters.` :yamlparam:`qimpy.lattice.Lattice:vectors`: :yamlkey:`null` :yamlcomment:`# Three lattice vectors, each with (x, y, z) in bohrs.` :yamlparam:`qimpy.lattice.Lattice:Rbasis`: :yamlkey:`null` :yamlcomment:`# Real-space basis vectors in columns.` :yamlparam:`qimpy.lattice.Lattice:scale`: 1.0 :yamlcomment:`# Scale factor for lattice vectors.` :yamlparam:`qimpy.lattice.Lattice:compute-stress`: :yamlkey:`no` :yamlcomment:`# Whether to compute and report stress.` :yamlparam:`qimpy.lattice.Lattice:movable`: :yamlkey:`no` :yamlcomment:`# Whether to move lattice during geometry relaxation / dynamics.` :yamlparam:`qimpy.lattice.Lattice:move-scale`: (1.0, 1.0, 1.0) :yamlcomment:`# Scale factor for moving each lattice vector.` :yamlparam:`qimpy.lattice.Lattice:periodic`: (:yamlkey:`yes`, :yamlkey:`yes`, :yamlkey:`yes`) :yamlcomment:`# Whether each lattice direction is periodic.` :yamlparam:`qimpy.lattice.Lattice:center`: (0.0, 0.0, 0.0) :yamlcomment:`# Center of cell for periodicity break along non-periodic directions.` :yamlparam:`qimpy.transport.material.single_band.SingleBand:kmesh`: [:yamltype:`list` of :yamltype:`int`, or ] :yamlcomment:`# Uniform k-point mesh from which to select relevant k-points.` :yamlparam:`qimpy.transport.material.single_band.SingleBand:v`: 0.0 :yamlcomment:`# Velocity specifying a linear dispersion model.` :yamlparam:`qimpy.transport.material.single_band.SingleBand:m`: 0.0 :yamlcomment:`# Effective mass specifying a quadratic dispersion model.` :yamlparam:`qimpy.transport.material.single_band.SingleBand:mu`: [:yamltype:`float`] :yamlcomment:`# Backround/reference chemical potential of initial state` :yamlparam:`qimpy.transport.material.single_band.SingleBand:T`: [:yamltype:`float`] :yamlcomment:`# Backround/reference temperature of initial state` :yamlparam:`qimpy.transport.material.single_band.SingleBand:nT-below`: 5 :yamlcomment:`# Include states with energies starting at this many T below mu.` :yamlparam:`qimpy.transport.material.single_band.SingleBand:nT-above`: 5 :yamlcomment:`# Include states with energies up to this many T above mu.` :yamlparam:`qimpy.transport.material.single_band.SingleBand:scatter`: :yamlcomment:`# Explicit state-dependent scattering kernel:` :yamlparam:`qimpy.transport.material.single_band.Scatter:dE`: [:yamltype:`float`] :yamlcomment:`# Energy conservation width.` :yamlparam:`qimpy.transport.material.single_band.Scatter:epsilon-bg`: [:yamltype:`float`] :yamlcomment:`# Background dielectric constant.` :yamlparam:`qimpy.transport.material.single_band.Scatter:lambda-D`: [:yamltype:`float`] :yamlcomment:`# Debye screening length of electrons.` :yamlparam:`qimpy.transport.material.single_band.Scatter:block-size`: 128 :yamlcomment:`# Number of real-space points to calculate together.` :yamlparam:`qimpy.transport.material.single_band.Scatter:conserve-energy`: :yamlkey:`yes` :yamlcomment:`# Whether to enforce exact energy conservation of e-e scattering.` :yamlparam:`qimpy.transport.Transport:patch-set`: :yamlcomment:`# Geometry consisting of bicubic patches:` :yamlparam:`qimpy.transport.geometry.PatchSet:svg-file`: [:yamltype:`string`] :yamlcomment:`# Path to an SVG file containing the input geometry` :yamlparam:`qimpy.transport.geometry.PatchSet:svg-unit`: 1.0 :yamlcomment:`# Real length corresponding to one unit of distance in SVG.` :yamlparam:`qimpy.transport.geometry.PatchSet:grid-spacing`: [:yamltype:`float`] :yamlcomment:`# Maximum spacing between grid points anywhere in the geometry.` :yamlparam:`qimpy.transport.geometry.PatchSet:contacts`: [:yamltype:`string` or typing.Optional[dict]] :yamlcomment:`# Dictionary of contact names to parameters.` :yamlparam:`qimpy.transport.geometry.PatchSet:grid-size-max`: 0 :yamlcomment:`# Maximum grid points per dimension after quad subdvision.` :yamlparam:`qimpy.transport.geometry.PatchSet:save-rho`: :yamlkey:`no` :yamlcomment:`# Whether to write the full density matrices to the checkpoint file.` :yamlparam:`qimpy.transport.geometry.PatchSet:cent-diff-deriv`: :yamlkey:`no` :yamlcomment:`# Whether to use the simple central-difference derivative operator.` :yamlparam:`qimpy.transport.Transport:parameter-grid`: :yamlcomment:`# Virtual geometry of disconnected points for batched dynamics:` :yamlparam:`qimpy.transport.geometry.ParameterGrid:shape`: [:yamltype:`int`] :yamlcomment:`# Dimensions of parameter grid (always 2D).` :yamlparam:`qimpy.transport.geometry.ParameterGrid:dimension1`: :yamlkey:`null` :yamlcomment:`# Parameter names and values to sweep along dimension 1.` :yamlparam:`qimpy.transport.geometry.ParameterGrid:dimension2`: :yamlkey:`null` :yamlcomment:`# Parameter names and values to sweep along dimension 2.` :yamlparam:`qimpy.transport.geometry.ParameterGrid:save-rho`: :yamlkey:`no` :yamlcomment:`# Whether to write the full density matrices to the checkpoint file.` :yamlparam:`qimpy.transport.Transport:time-evolution`: :yamlcomment:`# Time integration options:` :yamlparam:`qimpy.transport.TimeEvolution:dt`: 0.0 :yamlcomment:`# Time step for evolution.` :yamlparam:`qimpy.transport.TimeEvolution:dt-save`: 0.0 :yamlcomment:`# Time interval at which to save results.` :yamlparam:`qimpy.transport.TimeEvolution:t-max`: 0.0 :yamlcomment:`# Stop evolution at this time.` :yamlparam:`qimpy.transport.TimeEvolution:n-collate`: 0 :yamlcomment:`# Number of save-steps to collect into each checkpoint file.` :yamlparam:`qimpy.transport.TimeEvolution:integrator`: RK2 :yamlcomment:`# Integrator for time-stepping: RK2 or RK4.` :yamlparam:`qimpy.transport.TimeEvolution:steady-state`: :yamlkey:`null` :yamlcomment:`# Steady state options.` :yamlparam:`qimpy.transport.Transport:checkpoint`: :yamlkey:`null` :yamlcomment:`# Checkpoint file to read at start-up.` :yamlparam:`qimpy.transport.Transport:checkpoint-out`: :yamlkey:`null` :yamlcomment:`# Checkpoint file pattern to write at regular intervals.` Component classes: ------------------ .. toctree:: :maxdepth: 1 AbInitio FermiCircle SingleBand PatchSet ParameterGrid TimeEvolution Parameters: ----------- ab-initio +++++++++ *Type:* :doc:`AbInitio `, *Default:* :yamlkey:`null` Ab-initio material. Exactly one supported material type must be specified. fermi-circle ++++++++++++ *Type:* :doc:`FermiCircle `, *Default:* :yamlkey:`null` Fermi-circle material for graphene/2DEG. Exactly one supported material type must be specified. single-band +++++++++++ *Type:* :doc:`SingleBand `, *Default:* :yamlkey:`null` Single-band model material for energy-resolved charge transport. Exactly one supported material type must be specified. patch-set +++++++++ *Type:* :doc:`PatchSet `, *Default:* :yamlkey:`null` Geometry consisting of bicubic patches. Exactly one supported geometry type must be specified. parameter-grid ++++++++++++++ *Type:* :doc:`ParameterGrid `, *Default:* :yamlkey:`null` Virtual geometry of disconnected points for batched dynamics. Exactly one supported geometry type must be specified. time-evolution ++++++++++++++ *Type:* :doc:`TimeEvolution `, *Default:* :yamlkey:`null` Time integration options. checkpoint ++++++++++ *Type:* :yamltype:`string` or :yamltype:`null`, *Default:* :yamlkey:`null` Checkpoint file to read at start-up. checkpoint-out ++++++++++++++ *Type:* :yamltype:`string` or :yamltype:`null`, *Default:* :yamlkey:`null` Checkpoint file pattern to write at regular intervals. The pattern should contain an integer format eg. '{:04d}' that can be replaced with the frame number.