FLOOXS » Commands » device

device — Commands

21 command(s) registered from src/device/.

aschrodinger · bdg · bdgaschro · circuit · device · integrate · kaschro · kcharge · koverlap · lattice · lbte · mc · overlap · parallelSystem · picard · pod · rate · ritz · schrodinger · stress · tbaschro

aschrodinger

module: device · source: src/device/schrodinger/schrodinger.cc

Option Type Default Description
solutions String List of Hamiltonian solution names
H String Complex Hamiltonian equations (may contain i/j)
Hr String Real equations of the Hamiltonian (legacy)
Hi String Imaginary equations of the Hamiltonian (legacy)
save Boolean 1 return eigenvalues and save eigenvectors as fields
mask String Alagator string where to solve
nev Int -1 Number of eigenvalues to solve. Default is all.
half Boolean 0 return eigenvalues and save eigenvectors as fields
norm Boolean 0 Save wavefunction norm instead of raw wavefunction
ndisp Boolean 0 Get solutions assuming negative dispersion (negative meff like)
update Boolean 0 Update wavefunctions with Rayleigh iterations
geteig Boolean 0 Get eigenvalues from wavefunctions using Rayleigh quotient
n.iter Int -1 Maximum RQI iterations per eigenvector when update=1. Default -1 = unlimited (converge to tolerance). Use 1 for a single inverse-iteration step.
Raw -help output
aschrodinger
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
solutions       String                        List of Hamiltonian solution names
H               String                        Complex Hamiltonian equations (may contain i/j)
Hr              String                        Real equations of the Hamiltonian (legacy)
Hi              String                        Imaginary equations of the Hamiltonian (legacy)
save            Boolean  1                    return eigenvalues and save eigenvectors as fields
mask            String                        Alagator string where to solve
nev             Int      -1                   Number of eigenvalues to solve. Default is all.
half            Boolean  0                    return eigenvalues and save eigenvectors as fields
norm            Boolean  0                    Save wavefunction norm instead of raw wavefunction
ndisp           Boolean  0                    Get solutions assuming negative dispersion (negative meff like)
update          Boolean  0                    Update wavefunctions with Rayleigh iterations
geteig          Boolean  0                    Get eigenvalues from wavefunctions using Rayleigh quotient
n.iter          Int      -1                   Maximum RQI iterations per eigenvector when update=1. Default -1 = unlimited (converge to tolerance). Use 1 for a single inverse-iteration step.

bdg

module: device · source: src/device/bdg/bdgjj.cc

Option Type Default Description
t_nn Float 7.500000e+02 hopping energy scale (meV)
d_ratio_cutoff Float 4.000000e+00 distance ratio cutoff for neighbor interactions
d_lattice Float 3.307900e+00 lattice constant (Angstroms)
V_factor Float 2.000000e+00 order parameter scaling factor
temperature Float 1.000000e-04 temperature for Fermi factor (meV)
j_convergence_t lerance loat 1.000000e-05 current convergence tolerance
j_conservation_ olerance Float 1.000000e-0 current conservation tolerance
del_tolerance Float 1.000000e-05 order parameter convergence tolerance
pbc Boolean 0 periodic boundary conditions
Raw -help output
bdg
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
t_nn            Float    7.500000e+02         hopping energy scale (meV)
d_ratio_cutoff  Float    4.000000e+00         distance ratio cutoff for neighbor interactions
d_lattice       Float    3.307900e+00         lattice constant (Angstroms)
V_factor        Float    2.000000e+00         order parameter scaling factor
temperature     Float    1.000000e-04         temperature for Fermi factor (meV)
j_convergence_tolerance Float    1.000000e-05         current convergence tolerance
j_conservation_tolerance Float    1.000000e-03         current conservation tolerance
del_tolerance   Float    1.000000e-05         order parameter convergence tolerance
pbc             Boolean  0                    periodic boundary conditions
Examples:
  • Test/schrodinger/bdg/sim.tcl

bdgaschro

module: device · source: src/device/schrodinger/tightbinding.cc

Option Type Default Description
kx Float 0.000000e+00 Bloch kx (1/Angstrom)
ky Float 0.000000e+00 Bloch ky (1/Angstrom)
kz Float 0.000000e+00 Bloch kz (1/Angstrom)
a Float 5.431000e+00 Lattice constant in Angstroms
nn Float 0.000000e+00 Nearest-neighbor distance override (Angstroms)
temperature Float 1.000000e-04 Temperature for Fermi factors (meV)
nev Int -1 Number of eigenvalues (default all)
t.expr String Hopping as Tcl expr using $d (bond distance in Angstroms)
V.factor Float 2.000000e+00 Order parameter scaling factor
sc.maxiter Int 1000 Max self-consistency iterations
del.tolerance Float 1.000000e-05 Order parameter convergence tolerance
j.convergence.t lerance loat 1.000000e-05 Current convergence tolerance
d.lattice Float 0.000000e+00 Lattice constant for DFT overlap table (Angstroms). Set >0 to enable.
t.nn Float 0.000000e+00 Hopping energy scale for DFT overlap table (meV). Set >0 to enable.
d.ratio.cutoff Float 4.000000e+00 Distance ratio cutoff for neighbor interactions
pbc Boolean 0 Periodic boundary conditions
Raw -help output
bdgaschro
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
kx              Float    0.000000e+00         Bloch kx (1/Angstrom)
ky              Float    0.000000e+00         Bloch ky (1/Angstrom)
kz              Float    0.000000e+00         Bloch kz (1/Angstrom)
a               Float    5.431000e+00         Lattice constant in Angstroms
nn              Float    0.000000e+00         Nearest-neighbor distance override (Angstroms)
temperature     Float    1.000000e-04         Temperature for Fermi factors (meV)
nev             Int      -1                   Number of eigenvalues (default all)
t.expr          String                        Hopping as Tcl expr using $d (bond distance in Angstroms)
V.factor        Float    2.000000e+00         Order parameter scaling factor
sc.maxiter      Int      1000                 Max self-consistency iterations
del.tolerance   Float    1.000000e-05         Order parameter convergence tolerance
j.convergence.tolerance Float    1.000000e-05         Current convergence tolerance
d.lattice       Float    0.000000e+00         Lattice constant for DFT overlap table (Angstroms). Set >0 to enable.
t.nn            Float    0.000000e+00         Hopping energy scale for DFT overlap table (meV). Set >0 to enable.
d.ratio.cutoff  Float    4.000000e+00         Distance ratio cutoff for neighbor interactions
pbc             Boolean  0                    Periodic boundary conditions

circuit

module: device · source: src/device/circuit.cc

Option Type Default Description
opts Switch
clear Boolean 0 clear all elements
nodes Boolean 0 list circuit nodes
elements Boolean 0 list circuit elements
add Boolean 0 add an element
supply Boolean 0 create or update a settable node value
unsupply Boolean 0 clear the supply flag on an existing CktNode (Picard unfreeze)
warmstart Boolean 0 seed an existing node's Newton iterate without marking it as a supply
cflux Boolean 0 toggle v11 device->ckt KCL coupling (val=1 on, val=0 off); for Picard transient
test Boolean 0 debug flag
value Boolean 0 set value
name String element name
from String from node
to String to node
eq String equation of element (ddt(...) for time derivatives, `flux` for own branch current)
val String DC value for a supply node
ac.r String AC real part for a supply node
ac.i String AC imag part for a supply node
types Switch
current Boolean 1 Circuit Element
voltage Boolean 0 Circuit Element with MNA equation
acopts Switch
real Boolean
imag Boolean
mag Boolean
phase Boolean
noise Switch
Sdiff Boolean
Sgr Boolean
Sdiffi Boolean
Sgri Boolean
Raw -help output
circuit
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
opts            Switch   
	clear           Boolean  0                    clear all elements
	nodes           Boolean  0                    list circuit nodes
	elements        Boolean  0                    list circuit elements
	add             Boolean  0                    add an element
	supply          Boolean  0                    create or update a settable node value
	unsupply        Boolean  0                    clear the supply flag on an existing CktNode (Picard unfreeze)
	warmstart       Boolean  0                    seed an existing node's Newton iterate without marking it as a supply
	cflux           Boolean  0                    toggle v11 device->ckt KCL coupling (val=1 on, val=0 off); for Picard transient
	test            Boolean  0                    debug flag
	value           Boolean  0                    set value
name            String                        element name
from            String                        from node
to              String                        to node
eq              String                        equation of element (ddt(...) for time derivatives, `flux` for own branch current)
val             String                        DC value for a supply node
ac.r            String                        AC real part for a supply node
ac.i            String                        AC imag part for a supply node
types           Switch   
	current         Boolean  1                    Circuit Element
	voltage         Boolean  0                    Circuit Element with MNA equation
acopts          Switch   
	real            Boolean                      
	imag            Boolean                      
	mag             Boolean                      
	phase           Boolean                      
noise           Switch   
	Sdiff           Boolean                      
	Sgr             Boolean                      
	Sdiffi          Boolean                      
	Sgri            Boolean                      
Examples:
  • Test/Coverage/cov_circuit_ac.tcl
  • Test/Coverage/cov_circuit_dc.tcl
  • Test/Coverage/cov_circuit_ddt_ac.tcl
  • Test/Coverage/cov_circuit_inductor.tcl
  • Test/Coverage/cov_circuit_mesh_ac.tcl

device

module: device · source: src/device/device.cc

Option Type Default Description
init Boolean 0 initial solution
clear Boolean 0 clear solutions
silent Boolean
Temperature Float 3.000000e+02 set device temperature K
freq Float 0.000000e+00 frequency for ac analysis
store Boolean
restore Boolean
time Float 0.000000e+00 length of time for transient (s)
t.init Float 1.000000e-12 initial time step for transient (s)
movie String movie commands
diagnostic String diagnostic commands
userstep Float 3.402823e+38 maximum time step (s)
complex Boolean 0 use complex N×N AC solver
noise String
cross String
Raw -help output
device
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
init            Boolean  0                    initial solution
clear           Boolean  0                    clear solutions
silent          Boolean                      
Temperature     Float    3.000000e+02         set device temperature K
freq            Float    0.000000e+00         frequency for ac analysis
store           Boolean                      
restore         Boolean                      
time            Float    0.000000e+00         length of time for transient (s)
t.init          Float    1.000000e-12         initial time step for transient (s)
movie           String                        movie commands
diagnostic      String                        diagnostic commands
userstep        Float    3.402823e+38         maximum time step (s)
complex         Boolean  0                    use complex N×N AC solver
noise           String  
cross           String  
Examples:
  • Test/Coverage/cov_ac_iterative.tcl
  • Test/Coverage/cov_ac_solver.tcl
  • Test/Coverage/cov_alagator_densenn.tcl
  • Test/Coverage/cov_alagator_tspline.tcl
  • Test/Coverage/cov_bem_1d.tcl

integrate

module: device · source: src/device/pod.cc

Option Type Default Description
eqn String Alagator string, if not specified sel buffer will be used.
Raw -help output
integrate
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
eqn             String                        Alagator string, if not specified sel buffer will be used.

kaschro

module: device · source: src/device/schrodinger/kaschro.cc

Option Type Default Description
solutions String List of Hamiltonian solution names (per-component prefixes for multi-band H)
H String Hamiltonian equations (may contain i/j for complex). References kx/ky/kz fields broadcast from the kgrid each k-iteration.
mask String Alagator string on the spatial mesh selecting solve nodes
nev Int -1 Number of eigenvalues per k-node. Default is all.
half Boolean 0 Return half of max eigenvalues per k-node
ndisp Boolean 0 Negative dispersion (negative meff like)
kgrid String Name of the k-grid FieldServer (required)
kx String kx Name of the kx field on the kgrid FS; also broadcast onto spatial for H-expression evaluation
ky String ky Name of the ky field on the kgrid FS
kz String kz Name of the kz field on the kgrid FS
wavebase String Basename for kgrid output fields (E and idx). Default: first solutions= entry.
k.solver String full Per-k solver chain (+-separated). Recognized stages: full | rqi | ritz | gs. Valid combinations: full | rqi | ritz | ritz+rqi | gs+ritz | gs+ritz+rqi. full = DoAlagator at every k-node. rqi = Rayleigh-quotient iteration warm-started from the previous-k stored wavefunctions. ritz = Rayleigh-Ritz projection on a basis copied from those wavefunctions. gs = B-orthogonal modified Gram-Schmidt on the ritz basis before projection (controls error accumulation across k-points). +rqi appended polishes ritz output via RQI.
k.full String k-nodes that get a full solve when k.solver=rqi. Comma list of indices ('0,5,10,15') or 'stride:N' for every Nth node. Default: 0.
n.iter Int -1 Maximum RQI iterations per eigenvector at non-full k-nodes. -1 (default) = unlimited (converge to tolerance).
track String proximity Sub-band tracking across k: proximity (greedy match by eigenvalue distance to previous k) | none (write in returned order).
firm.basis Int -1 k-node index of previously-stored wavefunctions to use as the ritz basis source for EVERY non-full k-node, locking the basis through the sweep. Only meaningful when k.solver includes ritz; ignored for full / rqi modes. -1 (default) = disabled (basis advances with last_full).
basis Int -1 k-node index of previously-stored wavefunctions (under the <sols[s]>_b<j>_<n> naming convention from a prior kaschro run) to use as the RQI seed at the FIRST k-node instead of a full solve. Default -1 = disabled (full solve at the first k-node).
cutoff Float 0.000000e+00 Energy-window width (eV) relative to the per-band extremum across the kgrid (min for ndisp=0/electron, max for ndisp=1/hole). Bands at a given k whose E falls outside the window get IntData index = -1 and are flagged for downstream skip. Default 0 = disabled.
interp.skip Int 0 Skip every (interp.skip + 1)-th k-node along the kgrid axis and fill in the eigenvalues + wavefunctions via 4-point cubic Lagrange interpolation after the main sweep. 0 (default) computes every node; 1 computes every other (n=0,2,4,...) and interpolates the rest; N skips N nodes between each computed. Currently 1D kgrid only — N-D tensor cubic deferred. Use to speed up kaschro on a fine kgrid where LBTE quadrature wants the dense output but per-node solves are cheap to interpolate from sparse samples.
mirror.kgrid Int 0 Time-reversal symmetry: when 1, kaschro computes only on the positive half of the kgrid (lexicographic kz>0, with kz=0 tiebreaker on ky then kx) and mirrors the eigenvalues + Idxdata to the negative half via (kx,ky,kz)→(-kx,-ky,-kz). Wavefunctions are stored only at the +half kgrid index; -half Idxdata points at the same +half slot so kcharge reads the same <sol>_b<j>_<n> field. For complex ψ this gives the right |ψ|² (TR-symmetric) but not ψ itself — downstream consumers that need ψ(-k) for matrix elements must apply complex conjugation themselves. Currently 1D kgrid only; N-D tensor mirror deferred. Stacks with interp.skip multiplicatively (skip applies stride within the +half).
mirror.mode String same Which band the -half kgrid partner gets written to under mirror.kgrid. 'same' (default): the j-th eigenvalue at -k is written to band j at -half (current behavior — correct for zone-centered bands like LK at Γ or [100] X-valley with kz_dev=0). 'new': output 2·nev bands instead of nev — bands [0, nev) carry the +half values (-half nodes pruned via Idxdata=-1), bands [nev, 2·nev) carry the -half partner values (+half nodes pruned). Use 'new' when the +k and -k partners are physically distinct valleys (e.g., off-zone-center X-valley at kz_dev=±k0/√2) so downstream rate filters can separate them with band.classes=. Wavefunctions for bands [nev, 2·nev) are duplicated from the matching slot of the source band — TR phase / spinor-swap not yet applied (treat FF[j][j+nev]=1 as an upper bound for now). Requires mirror.kgrid=1.
Raw -help output
kaschro
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
solutions       String                        List of Hamiltonian solution names (per-component prefixes for multi-band H)
H               String                        Hamiltonian equations (may contain i/j for complex). References kx/ky/kz fields broadcast from the kgrid each k-iteration.
mask            String                        Alagator string on the spatial mesh selecting solve nodes
nev             Int      -1                   Number of eigenvalues per k-node. Default is all.
half            Boolean  0                    Return half of max eigenvalues per k-node
ndisp           Boolean  0                    Negative dispersion (negative meff like)
kgrid           String                        Name of the k-grid FieldServer (required)
kx              String   kx                   Name of the kx field on the kgrid FS; also broadcast onto spatial for H-expression evaluation
ky              String   ky                   Name of the ky field on the kgrid FS
kz              String   kz                   Name of the kz field on the kgrid FS
wavebase        String                        Basename for kgrid output fields (E and idx). Default: first solutions= entry.
k.solver        String   full                 Per-k solver chain (+-separated).  Recognized stages: full | rqi | ritz | gs.  Valid combinations: full | rqi | ritz | ritz+rqi | gs+ritz | gs+ritz+rqi.  full = DoAlagator at every k-node.  rqi = Rayleigh-quotient iteration warm-started from the previous-k stored wavefunctions.  ritz = Rayleigh-Ritz projection on a basis copied from those wavefunctions.  gs = B-orthogonal modified Gram-Schmidt on the ritz basis before projection (controls error accumulation across k-points).  +rqi appended polishes ritz output via RQI.
k.full          String                        k-nodes that get a full solve when k.solver=rqi.  Comma list of indices ('0,5,10,15') or 'stride:N' for every Nth node.  Default: 0.
n.iter          Int      -1                   Maximum RQI iterations per eigenvector at non-full k-nodes.  -1 (default) = unlimited (converge to tolerance).
track           String   proximity            Sub-band tracking across k: proximity (greedy match by eigenvalue distance to previous k) | none (write in returned order).
firm.basis      Int      -1                   k-node index of previously-stored wavefunctions to use as the ritz basis source for EVERY non-full k-node, locking the basis through the sweep.  Only meaningful when k.solver includes ritz; ignored for full / rqi modes.  -1 (default) = disabled (basis advances with last_full).
basis           Int      -1                   k-node index of previously-stored wavefunctions (under the <sols[s]>_b<j>_<n> naming convention from a prior kaschro run) to use as the RQI seed at the FIRST k-node instead of a full solve.  Default -1 = disabled (full solve at the first k-node).
cutoff          Float    0.000000e+00         Energy-window width (eV) relative to the per-band extremum across the kgrid (min for ndisp=0/electron, max for ndisp=1/hole).  Bands at a given k whose E falls outside the window get IntData index = -1 and are flagged for downstream skip.  Default 0 = disabled.
interp.skip     Int      0                    Skip every (interp.skip + 1)-th k-node along the kgrid axis and fill in the eigenvalues + wavefunctions via 4-point cubic Lagrange interpolation after the main sweep.  0 (default) computes every node; 1 computes every other (n=0,2,4,...) and interpolates the rest; N skips N nodes between each computed.  Currently 1D kgrid only — N-D tensor cubic deferred.  Use to speed up kaschro on a fine kgrid where LBTE quadrature wants the dense output but per-node solves are cheap to interpolate from sparse samples.
mirror.kgrid    Int      0                    Time-reversal symmetry: when 1, kaschro computes only on the positive half of the kgrid (lexicographic kz>0, with kz=0 tiebreaker on ky then kx) and mirrors the eigenvalues + Idxdata to the negative half via (kx,ky,kz)→(-kx,-ky,-kz).  Wavefunctions are stored only at the +half kgrid index; -half Idxdata points at the same +half slot so kcharge reads the same <sol>_b<j>_<n> field.  For complex ψ this gives the right |ψ|² (TR-symmetric) but not ψ itself — downstream consumers that need ψ(-k) for matrix elements must apply complex conjugation themselves.  Currently 1D kgrid only; N-D tensor mirror deferred.  Stacks with interp.skip multiplicatively (skip applies stride within the +half).
mirror.mode     String   same                 Which band the -half kgrid partner gets written to under mirror.kgrid.  'same' (default): the j-th eigenvalue at -k is written to band j at -half (current behavior — correct for zone-centered bands like LK at Γ or [100] X-valley with kz_dev=0).  'new': output 2·nev bands instead of nev — bands [0, nev) carry the +half values (-half nodes pruned via Idxdata=-1), bands [nev, 2·nev) carry the -half partner values (+half nodes pruned).  Use 'new' when the +k and -k partners are physically distinct valleys (e.g., off-zone-center X-valley at kz_dev=±k0/√2) so downstream rate filters can separate them with band.classes=.  Wavefunctions for bands [nev, 2·nev) are duplicated from the matching slot of the source band — TR phase / spinor-swap not yet applied (treat FF[j][j+nev]=1 as an upper bound for now).  Requires mirror.kgrid=1.
Examples:
  • Test/Coverage/cov_kaschro_basic.tcl
  • Test/Coverage/cov_kaschro_mirror.tcl
  • Test/Coverage/cov_kaschro_prune.tcl
  • Test/Coverage/cov_kaschro_ritz.tcl
  • Test/Coverage/cov_kaschro_rqi.tcl

kcharge

module: device · source: src/device/schrodinger/kcharge.cc

Option Type Default Description
solutions String List of Hamiltonian solution names — must match the `sol=` list passed to the prior kaschro call. Spatial-FS wavefunction fields are looked up as <sols[s]>_b<j>_<idx>.
nev Int -1 Number of bands to integrate — must match the `nev=` of the prior kaschro call.
kgrid String Name of the k-grid FieldServer holding the kaschro outputs (<wavebase>_E_b<j>, <wavebase>_idx_b<j>). Required.
wavebase String kaschro wavebase used by the prior kaschro call. Defaults to first solutions= entry.
out String QuantumCharge Name of the spatial-FS RealData field that receives the integrated charge density. The user's Poisson PDE for DevPsi should reference this field in its quantum-region branch.
Ef String Fermi-level alagator expression evaluated on the spatial FS. May depend on position — the Fermi factor uses Ef(r) per spatial node. For equilibrium pass a constant; for quasi-Fermi-level setups pass a position-dependent expression. Required.
T String 300.0 Temperature alagator expression (K) evaluated on the spatial FS. May depend on position. Default '300.0'.
ndisp Boolean 0 Negative dispersion (hole-like). ndisp=0 uses the Fermi function f; ndisp=1 uses 1 - f.
jacobian String 1 Alagator expression for the BZ change-of-variables Jacobian, evaluated on the kgrid. Multiplied into the integrand so the FEM `integrate` returns ∫f(k) dk. Default '1' assumes the kgrid mesh coordinates ARE physical k. For a normalized kgrid where kz = x*kmax, pass jacobian= 'GradX(kz)'.
spin.factor Float 1.000000e+00 Extra weight per (band, k) entry. LK 6-band Kramers-paired uses 1; spinless 2-band valley models use 2.
Raw -help output
kcharge
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
solutions       String                        List of Hamiltonian solution names — must match the `sol=` list passed to the prior kaschro call.  Spatial-FS wavefunction fields are looked up as <sols[s]>_b<j>_<idx>.
nev             Int      -1                   Number of bands to integrate — must match the `nev=` of the prior kaschro call.
kgrid           String                        Name of the k-grid FieldServer holding the kaschro outputs (<wavebase>_E_b<j>, <wavebase>_idx_b<j>).  Required.
wavebase        String                        kaschro wavebase used by the prior kaschro call.  Defaults to first solutions= entry.
out             String   QuantumCharge        Name of the spatial-FS RealData field that receives the integrated charge density.  The user's Poisson PDE for DevPsi should reference this field in its quantum-region branch.
Ef              String                        Fermi-level alagator expression evaluated on the spatial FS.  May depend on position — the Fermi factor uses Ef(r) per spatial node.  For equilibrium pass a constant; for quasi-Fermi-level setups pass a position-dependent expression.  Required.
T               String   300.0                Temperature alagator expression (K) evaluated on the spatial FS.  May depend on position.  Default '300.0'.
ndisp           Boolean  0                    Negative dispersion (hole-like).  ndisp=0 uses the Fermi function f; ndisp=1 uses 1 - f.
jacobian        String   1                    Alagator expression for the BZ change-of-variables Jacobian, evaluated on the kgrid.  Multiplied into the integrand so the FEM `integrate` returns ∫f(k) dk.  Default '1' assumes the kgrid mesh coordinates ARE physical k.  For a normalized kgrid where kz = x*kmax, pass jacobian= 'GradX(kz)'.
spin.factor     Float    1.000000e+00         Extra weight per (band, k) entry.  LK 6-band Kramers-paired uses 1; spinless 2-band valley models use 2.
Examples:
  • Test/Coverage/cov_kcharge.tcl
  • Test/Coverage/cov_kcharge_multicomp.tcl

koverlap

module: device · source: src/device/schrodinger/koverlap.cc

Option Type Default Description
solutions String List of Hamiltonian solution names — must match the `sol=` list passed to the prior kaschro call. Spatial-FS wavefunction fields are looked up as <sols[s]>_b<j>_<idx>. Multi-component spinors are auto-summed inside each pair.
nev Int -1 Number of bands the prior kaschro call produced. Used only for a lightweight sanity check on bands.v1/bands.v2 entries.
kgrid String Name of the k-grid FieldServer holding the kaschro outputs. Required.
wavebase String kaschro wavebase used by the prior kaschro call. Defaults to first solutions= entry.
bands.v1 String Tcl list of bra band indices. Length must match bands.v2=. Example: '0 0 1 1' for the upper-triangular pairs of a 2-band system.
bands.v2 String Tcl list of ket band indices, parallel to bands.v1=.
V String Alagator string for a scalar potential. The kernel computes <ψ_i|V|ψ_j>. Mutually exclusive with H=.
H String Alagator string for an operator H acting on the variable 'overlap'. The kernel computes <ψ_i|H|ψ_j>. Same syntax as aschro H= / ritz H=. Mutually exclusive with V=.
kx String kx Name of the kx field on the kgrid FS; broadcast onto the spatial FS so the V= / H= expression can reference k.
ky String ky Name of the ky field on the kgrid FS.
kz String kz Name of the kz field on the kgrid FS.
out String koverlap Basename for kgrid output fields. One field is written per pair, named <out>_<bands.v1[l]>_<bands.v2[l]>. RealData for real wavefunctions, ComplexData for complex.
k.shift String Optional 'qx qy qz' 3-list (units: same as kx/ky/kz fields, i.e. 1/cm by convention). When set, the kernel computes the inter-k Bloch overlap <ψ_v1(k+k.shift)|V|ψ_v2(k)> at each kgrid node by snapping k+k.shift to the nearest kgrid node on the bra side. The bra-side k is NOT broadcast onto the spatial FS — only the ket-side k is — so V= expressions that reference $kx/$ky/$kz see the ket-side k. Default: intra-k overlap <ψ_v1(k)|V|ψ_v2(k)>.
Raw -help output
koverlap
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
solutions       String                        List of Hamiltonian solution names — must match the `sol=` list passed to the prior kaschro call.  Spatial-FS wavefunction fields are looked up as <sols[s]>_b<j>_<idx>.  Multi-component spinors are auto-summed inside each pair.
nev             Int      -1                   Number of bands the prior kaschro call produced.  Used only for a lightweight sanity check on bands.v1/bands.v2 entries.
kgrid           String                        Name of the k-grid FieldServer holding the kaschro outputs.  Required.
wavebase        String                        kaschro wavebase used by the prior kaschro call.  Defaults to first solutions= entry.
bands.v1        String                        Tcl list of bra band indices.  Length must match bands.v2=.  Example: '0 0 1 1' for the upper-triangular pairs of a 2-band system.
bands.v2        String                        Tcl list of ket band indices, parallel to bands.v1=.
V               String                        Alagator string for a scalar potential.  The kernel computes <ψ_i|V|ψ_j>.  Mutually exclusive with H=.
H               String                        Alagator string for an operator H acting on the variable 'overlap'.  The kernel computes <ψ_i|H|ψ_j>.  Same syntax as aschro H= / ritz H=.  Mutually exclusive with V=.
kx              String   kx                   Name of the kx field on the kgrid FS; broadcast onto the spatial FS so the V= / H= expression can reference k.
ky              String   ky                   Name of the ky field on the kgrid FS.
kz              String   kz                   Name of the kz field on the kgrid FS.
out             String   koverlap             Basename for kgrid output fields.  One field is written per pair, named <out>_<bands.v1[l]>_<bands.v2[l]>.  RealData for real wavefunctions, ComplexData for complex.
k.shift         String                        Optional 'qx qy qz' 3-list (units: same as kx/ky/kz fields, i.e. 1/cm by convention).  When set, the kernel computes the inter-k Bloch overlap <ψ_v1(k+k.shift)|V|ψ_v2(k)> at each kgrid node by snapping k+k.shift to the nearest kgrid node on the bra side.  The bra-side k is NOT broadcast onto the spatial FS — only the ket-side k is — so V= expressions that reference $kx/$ky/$kz see the ket-side k.  Default: intra-k overlap <ψ_v1(k)|V|ψ_v2(k)>.
Examples:
  • Test/Coverage/cov_koverlap.tcl

lattice

module: device · source: src/device/schrodinger/lattice.cc

Option Type Default Description
a Float 5.431000e+00 Lattice constant in Angstroms
n Int 10 Number of atoms along a single direction
dim Int 3 Number of cartesian dimensions
system Switch assumed lattice symmetry
cubic Boolean
fcc Boolean
bcc Boolean
diamond Boolean
mater Switch material specification
Gas Boolean 0 a material
gas Boolean 0 a material
SiO2 Boolean 0 a material
sio2 Boolean 0 a material
Oxide Boolean 0 a material
oxide Boolean 0 a material
SpOx Boolean 0 a material
GateOx Boolean 0 a material
HfO2 Boolean 0 a material
hfo2 Boolean 0 a material
Si3N4 Boolean 0 a material
si3n4 Boolean 0 a material
Nitride Boolean 0 a material
nitride Boolean 0 a material
Silicon Boolean 0 a material
silicon Boolean 0 a material
Si Boolean 0 a material
Germanium Boolean 0 a material
Germanium Boolean 0 a material
Ge Boolean 0 a material
SiGe Boolean 0 a material
sige Boolean 0 a material
SiliconGermaniu Boolean 0 a material
SiliconGe Boolean 0 a material
SiGermanium Boolean 0 a material
4HSiC Boolean 0 a material
4hsic Boolean 0 a material
6HSiC Boolean 0 a material
6hsic Boolean 0 a material
3CSiC Boolean 0 a material
3csic Boolean 0 a material
GaN Boolean 0 a material
gan Boolean 0 a material
AlGaN Boolean 0 a material
algan Boolean 0 a material
AlN Boolean 0 a material
aln Boolean 0 a material
Polysilicon Boolean 0 a material
poly Boolean 0 a material
Poly Boolean 0 a material
polySilicon Boolean 0 a material
PolySilicon Boolean 0 a material
polySi Boolean 0 a material
PolySi Boolean 0 a material
Polysi Boolean 0 a material
Oxynitride Boolean 0 a material
oxynitride Boolean 0 a material
Photoresist Boolean 0 a material
PR Boolean 0 a material
pr Boolean 0 a material
photoresist Boolean 0 a material
Metal Boolean 0 a material
metal Boolean 0 a material
Niobium Boolean 0 a material
Nb Boolean 0 a material
niobium Boolean 0 a material
niob Boolean 0 a material
NiobiumOxide Boolean 0 a material
NbOx Boolean 0 a material
nioboxide Boolean 0 a material
niobOxide Boolean 0 a material
niobiumOxide Boolean 0 a material
niobiumoxide Boolean 0 a material
Aluminum Boolean 0 a material
Al Boolean 0 a material
Alum Boolean 0 a material
alum Boolean 0 a material
aluminum Boolean 0 a material
AluminumOxide Boolean 0 a material
AlOx Boolean 0 a material
alumoxide Boolean 0 a material
alumOxide Boolean 0 a material
aluminumOxide Boolean 0 a material
aluminumoxide Boolean 0 a material
semi Boolean 0 a material
Invisible Boolean 0 a material
Insulator Boolean 0 a material
Raw -help output
lattice
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
a               Float    5.431000e+00         Lattice constant in Angstroms
n               Int      10                   Number of atoms along a single direction
dim             Int      3                    Number of cartesian dimensions
system          Switch                        assumed lattice symmetry
	cubic           Boolean                      
	fcc             Boolean                      
	bcc             Boolean                      
	diamond         Boolean                      
mater           Switch                        material specification
	Gas             Boolean  0                    a material
	gas             Boolean  0                    a material
	SiO2            Boolean  0                    a material
	sio2            Boolean  0                    a material
	Oxide           Boolean  0                    a material
	oxide           Boolean  0                    a material
	SpOx            Boolean  0                    a material
	GateOx          Boolean  0                    a material
	HfO2            Boolean  0                    a material
	hfo2            Boolean  0                    a material
	Si3N4           Boolean  0                    a material
	si3n4           Boolean  0                    a material
	Nitride         Boolean  0                    a material
	nitride         Boolean  0                    a material
	Silicon         Boolean  0                    a material
	silicon         Boolean  0                    a material
	Si              Boolean  0                    a material
	Germanium       Boolean  0                    a material
	Germanium       Boolean  0                    a material
	Ge              Boolean  0                    a material
	SiGe            Boolean  0                    a material
	sige            Boolean  0                    a material
	SiliconGermanium Boolean  0                    a material
	SiliconGe       Boolean  0                    a material
	SiGermanium     Boolean  0                    a material
	4HSiC           Boolean  0                    a material
	4hsic           Boolean  0                    a material
	6HSiC           Boolean  0                    a material
	6hsic           Boolean  0                    a material
	3CSiC           Boolean  0                    a material
	3csic           Boolean  0                    a material
	GaN             Boolean  0                    a material
	gan             Boolean  0                    a material
	AlGaN           Boolean  0                    a material
	algan           Boolean  0                    a material
	AlN             Boolean  0                    a material
	aln             Boolean  0                    a material
	Polysilicon     Boolean  0                    a material
	poly            Boolean  0                    a material
	Poly            Boolean  0                    a material
	polySilicon     Boolean  0                    a material
	PolySilicon     Boolean  0                    a material
	polySi          Boolean  0                    a material
	PolySi          Boolean  0                    a material
	Polysi          Boolean  0                    a material
	Oxynitride      Boolean  0                    a material
	oxynitride      Boolean  0                    a material
	Photoresist     Boolean  0                    a material
	PR              Boolean  0                    a material
	pr              Boolean  0                    a material
	photoresist     Boolean  0                    a material
	Metal           Boolean  0                    a material
	metal           Boolean  0                    a material
	Niobium         Boolean  0                    a material
	Nb              Boolean  0                    a material
	niobium         Boolean  0                    a material
	niob            Boolean  0                    a material
	NiobiumOxide    Boolean  0                    a material
	NbOx            Boolean  0                    a material
	nioboxide       Boolean  0                    a material
	niobOxide       Boolean  0                    a material
	niobiumOxide    Boolean  0                    a material
	niobiumoxide    Boolean  0                    a material
	Aluminum        Boolean  0                    a material
	Al              Boolean  0                    a material
	Alum            Boolean  0                    a material
	alum            Boolean  0                    a material
	aluminum        Boolean  0                    a material
	AluminumOxide   Boolean  0                    a material
	AlOx            Boolean  0                    a material
	alumoxide       Boolean  0                    a material
	alumOxide       Boolean  0                    a material
	aluminumOxide   Boolean  0                    a material
	aluminumoxide   Boolean  0                    a material
	semi            Boolean  0                    a material
	Invisible       Boolean  0                    a material
	Insulator       Boolean  0                    a material
Examples:
  • Test/process/lattice/lattice.tcl
  • Test/schrodinger/tb/test_tb_bdg.tcl
  • Test/schrodinger/tb/test_tb_heterostructure.tcl
  • Test/schrodinger/tb/test_tb_lattice_mesh.tcl
  • Test/schrodinger/tb/test_tb_unfold.tcl

lbte

module: device · source: src/device/lbte/lbte_solve.cc

Option Type Default Description
fs.name String Name of the k-fieldserver carrying the dispersion fields
bands String Per-band field-name tuples on fs.name=. Each entry is one of:
{Ek Vk Fk Fpk — plain band: (k), transport-axis v(k), Fermi occupation f(k), and Fpk = -df/dE = f(1-f)/kT. All four are deck-painted scalar fields on the kgrid. The walker is unit-agnostic: numerical values for E, v, f, Fpk follow whatever convention the deck chose.
{Ek Vk Fk Fpk Idx Psi} — same plus k- ependent ψ for on-the-fly form-factor computation. Idx is the IntData index field on the kgrid (kaschro's <wavebase>_idx_b<j>); Psi is the spatial-FS ψ prefix where the wavefunction at k-node n is the field named '<Psi>_<idx_value>'. For multi-component spinor Hamiltonians (k.p, LK) Psi is a Tcl list of per-component prefixes — e.g. {LK1V LK2V LK3V LK4V LK5V LK6V} — and the walker sums Σ_s ⟨ψ_b,s|V|ψ_bp,s⟩ coherently before squaring. RealData vs ComplexData storage is auto-detected at solve start from the first non-pruned slot. IntData index = -1 marks the band as pruned (skip in scattering integrals).
spatial.fs String Name of the spatial FieldServer holding the per-(band, k) wavefunctions. Required iff any bands= entry uses the 4-tuple k-dependent form. Defaults to the active FieldServer.
grid.fs String Real-space FieldServer name. Must match the grid_fs each rate in rates= was registered against (defaults to "Main" if both sides agree on "Main"). The walker validates the match at solve start and errors on disagreement, so a rate painted against a cross-section grid can never be silently evaluated against a different grid.
kgrid.fs String k-space FieldServer name. Must match the kgrid_fs each rate in rates= was registered against. Defaults to fs.name=.
grad.cache Int 1 Use closed-form linear-tet ∇E cached once per (band, simplex) before the assembly loop, instead of evaluating MagGrad(Ek) via alagator's FE shape functions at every root. ~3× faster, but uses the linear-within-simplex gradient model that is only self-consistent with find_root's cross_pts on tet meshes (hex elements decomposed into Kuhn tets give a slight mu shift vs the trilinear-hex gradient). Set 0 to fall back to the FE eval for cross-checking.
combos String Subset-enumeration mode. Output is a Tcl list of {rate_names_subset I_sigma I_carrier} triples (one per subset). Accepted values:
unset — sing e solve with all rat s.
all — ever non-empty subset of rates= (2^N − 1).
individual — tota + each rate alone ( + 1 subsets).
{{0} {0 1}… — ex licit Tcl list of ra e-index lists; each inner list specifies which rate indices are active for that subset.
force.symmetry Int 0 After assembling A, replace it with (A + A^T)/2 before the solve. Detailed balance for elastic scattering implies r(α→β) = r(β→α), so A should be symmetric in the continuum limit; on a discrete kgrid the off-diagonal triplets land asymmetrically because find_root picks per-(α,β) simplices that differ between α's row and β's row. Symmetrizing forces detailed balance numerically. Set 1 to enable; default 0 (legacy assembly as-is).
triplet.floor Float 1.000000e+00 Absolute floor for off-diagonal triplet emission (in 1/s). Channels with dS < floor are dropped before emplace_back, so the triplet vector never holds them — reducing setFromTriplets' peak memory. Diagonal A_diag accumulation is unaffected (out-scattering rate stays intact); only the in-scattering coefficient for that channel is lost, a physically mild approximation when dS is many decades below the bulk of A. Default 1.0 /s — well below typical phonon rates (~1e10-1e16) so the dropped channels are the long-tail Boltzmann-suppressed ones. Set 0 to disable.
solver String Sparse linear-system solver backend. Options:
lscg (d fault) â ” Least-Squares Conj gate Gradient. Iterative LSQR-style method that minimises ‖Ax-b‖² without forming A^T A explicitly. Handles the ill-conditioned / near-rank-deficient LBTE matrices that production NMOS sweeps produce at high Vg, where the direct solvers (umfpack, sparselu) fail factorization. Typical ~5-7× faster per Vg than umfpack on the points where umfpack still works.
umfpack €” SuiteSparse UMFPA K direct LU, fast for moderate well-conditioned N, single-threaded. Fails on ill-conditioned matrices.
sparselu €” Eigen built-in di ect LU, no extra deps, single-threaded.
sparseqr €” Eigen rank-reveal ng sparse QR with COLAMD ordering. Solves rank-deficient systems via the minimum-norm pseudo-inverse; reports numerical rank. Heavier memory than LU but stable when A is near-singular.
bicgstab €” Eigen iterative B CGSTAB with diagonal preconditioner. Doesn't materialize L+U so memory drops 10-100× on 3D problems; slower per solve. Eigen threads the inner SpMV via OpenMP when the build has -fopenmp.
bicgstab_ilut €” BiCGSTAB with Inc mpleteLUT preconditioner. Stronger preconditioning, fewer iterations, more setup memory.
cg €” Conjugate Gradien with diagonal preconditioner. Requires A symmetric positive-definite; pair with force.symmetry=1. Cheapest iterative path for SPD systems.
solver.tol Float 1.000000e-04 Convergence tolerance for iterative solvers (bicgstab, bicgstab_ilut, cg). Default 1e-4 — sensible for transport mu calculations. Eigen's library default is machine epsilon (~2e-16), which gives 100s-1000s of needless iterations. Ignored by direct solvers (umfpack, sparselu).
solver.max_iter Int 0 Maximum iteration count for iterative solvers. Default 0 = use Eigen's default of 2·N (matrix size). Lower for faster fail-out when the preconditioner is too weak; raise for hard problems.
rates String Tcl list of registered rate names to apply
diag.rate String Drude-style relaxation rate 1/τ (1/s): added once to every diagonal
before the solv . Used t express `constant`- ype mechanisms that
have no k' stru ture. De aults to 0.
sparsity.tol String Relative drop threshold for off-diagonal triplets, as a fraction of
mean(A_diag). E tries wi h |dS| below this th eshold are dropped
before the spar e solve €” fewer non-zeros â ’ faster UmfPackLU. Keeps
the diagonal in act, so he dropped scatterin channel is lost as
an in-scatter t rm only its out-scatter cont ibution to A_diag is
preserved). Def ults to e-6. Set 0 to disabl .
relevant.field String Optional RealData field on fs.name= marking k-points that can
participate in scatter ng event (non-zero = live). When set, the
walker drops si plices w ose vertices are all zero — skipping
high-|k| shells that lie far above every occu ied state. Speeds
up the assembly without hanging the result t within tolerance.
Raw -help output
lbte
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
fs.name         String                        Name of the k-fieldserver carrying the dispersion fields
bands           String                        Per-band field-name tuples on fs.name=. Each entry is one of:
  {Ek Vk Fk Fpk}             — plain band: E(k), transport-axis v(k), Fermi occupation f(k), and Fpk = -df/dE = f(1-f)/kT.  All four are deck-painted scalar fields on the kgrid.  The walker is unit-agnostic: numerical values for E, v, f, Fpk follow whatever convention the deck chose.
  {Ek Vk Fk Fpk Idx Psi}     — same plus k-dependent ψ for on-the-fly form-factor computation.  Idx is the IntData index field on the kgrid (kaschro's <wavebase>_idx_b<j>); Psi is the spatial-FS ψ prefix where the wavefunction at k-node n is the field named '<Psi>_<idx_value>'.  For multi-component spinor Hamiltonians (k.p, LK) Psi is a Tcl list of per-component prefixes — e.g. {LK1V LK2V LK3V LK4V LK5V LK6V} — and the walker sums Σ_s ⟨ψ_b,s|V|ψ_bp,s⟩ coherently before squaring.  RealData vs ComplexData storage is auto-detected at solve start from the first non-pruned slot.  IntData index = -1 marks the band as pruned (skip in scattering integrals).
spatial.fs      String                        Name of the spatial FieldServer holding the per-(band, k) wavefunctions. Required iff any bands= entry uses the 4-tuple k-dependent form. Defaults to the active FieldServer.
grid.fs         String                        Real-space FieldServer name.  Must match the grid_fs each rate in rates= was registered against (defaults to "Main" if both sides agree on "Main").  The walker validates the match at solve start and errors on disagreement, so a rate painted against a cross-section grid can never be silently evaluated against a different grid.
kgrid.fs        String                        k-space FieldServer name.  Must match the kgrid_fs each rate in rates= was registered against.  Defaults to fs.name=.
grad.cache      Int      1                    Use closed-form linear-tet ∇E cached once per (band, simplex) before the assembly loop, instead of evaluating MagGrad(Ek) via alagator's FE shape functions at every root.  ~3× faster, but uses the linear-within-simplex gradient model that is only self-consistent with find_root's cross_pts on tet meshes (hex elements decomposed into Kuhn tets give a slight mu shift vs the trilinear-hex gradient).  Set 0 to fall back to the FE eval for cross-checking.
combos          String                        Subset-enumeration mode.  Output is a Tcl list of {rate_names_subset I_sigma I_carrier} triples (one per subset). Accepted values:
  unset         — single solve with all rates.
  all           — every non-empty subset of rates= (2^N − 1).
  individual    — total + each rate alone (N + 1 subsets).
  {{0} {0 1}…}  — explicit Tcl list of rate-index lists; each inner list specifies which rate indices are active for that subset.
force.symmetry  Int      0                    After assembling A, replace it with (A + A^T)/2 before the solve. Detailed balance for elastic scattering implies r(α→β) = r(β→α), so A should be symmetric in the continuum limit; on a discrete kgrid the off-diagonal triplets land asymmetrically because find_root picks per-(α,β) simplices that differ between α's row and β's row.  Symmetrizing forces detailed balance numerically. Set 1 to enable; default 0 (legacy assembly as-is).
triplet.floor   Float    1.000000e+00         Absolute floor for off-diagonal triplet emission (in 1/s).  Channels with dS < floor are dropped before emplace_back, so the triplet vector never holds them — reducing setFromTriplets' peak memory.  Diagonal A_diag accumulation is unaffected (out-scattering rate stays intact); only the in-scattering coefficient for that channel is lost, a physically mild approximation when dS is many decades below the bulk of A.  Default 1.0 /s — well below typical phonon rates (~1e10-1e16) so the dropped channels are the long-tail Boltzmann-suppressed ones.  Set 0 to disable.
solver          String                        Sparse linear-system solver backend.  Options:
  lscg       (default) — Least-Squares Conjugate Gradient.  Iterative LSQR-style method that minimises ‖Ax-b‖² without forming A^T A explicitly.  Handles the ill-conditioned / near-rank-deficient LBTE matrices that production NMOS sweeps produce at high Vg, where the direct solvers (umfpack, sparselu) fail factorization.  Typical ~5-7× faster per Vg than umfpack on the points where umfpack still works.
  umfpack               — SuiteSparse UMFPACK direct LU, fast for moderate well-conditioned N, single-threaded.  Fails on ill-conditioned matrices.
  sparselu              — Eigen built-in direct LU, no extra deps, single-threaded.
  sparseqr              — Eigen rank-revealing sparse QR with COLAMD ordering.  Solves rank-deficient systems via the minimum-norm pseudo-inverse; reports numerical rank.  Heavier memory than LU but stable when A is near-singular.
  bicgstab              — Eigen iterative BiCGSTAB with diagonal preconditioner.  Doesn't materialize L+U so memory drops 10-100× on 3D problems; slower per solve.  Eigen threads the inner SpMV via OpenMP when the build has -fopenmp.
  bicgstab_ilut         — BiCGSTAB with IncompleteLUT preconditioner.  Stronger preconditioning, fewer iterations, more setup memory.
  cg                    — Conjugate Gradient with diagonal preconditioner.  Requires A symmetric positive-definite; pair with force.symmetry=1.  Cheapest iterative path for SPD systems.
solver.tol      Float    1.000000e-04         Convergence tolerance for iterative solvers (bicgstab, bicgstab_ilut, cg).  Default 1e-4 — sensible for transport mu calculations.  Eigen's library default is machine epsilon (~2e-16), which gives 100s-1000s of needless iterations.  Ignored by direct solvers (umfpack, sparselu).
solver.max_iter Int      0                    Maximum iteration count for iterative solvers.  Default 0 = use Eigen's default of 2·N (matrix size).  Lower for faster fail-out when the preconditioner is too weak; raise for hard problems.
rates           String                        Tcl list of registered rate names to apply
diag.rate       String                        Drude-style relaxation rate 1/τ (1/s): added once to every diagonal
before the solve. Used to express `constant`-type mechanisms that
have no k' structure. Defaults to 0.
sparsity.tol    String                        Relative drop threshold for off-diagonal triplets, as a fraction of
mean(A_diag). Entries with |dS| below this threshold are dropped
before the sparse solve — fewer non-zeros → faster UmfPackLU. Keeps
the diagonal intact, so the dropped scattering channel is lost as
an in-scatter term only (its out-scatter contribution to A_diag is
preserved). Defaults to 1e-6. Set 0 to disable.
relevant.field  String                        Optional RealData field on fs.name= marking k-points that can
participate in a scattering event (non-zero = live). When set, the
walker drops simplices whose vertices are all zero — skipping
high-|k| shells that lie far above every occupied state. Speeds
up the assembly without changing the result to within tolerance.
Examples:
  • Test/Coverage/cov_lbte_kpsi.tcl

mc

module: device · source: src/device/mc.cc

Option Type Default Description
store Boolean
restore Boolean
time Float 0.000000e+00 simulation time (s)
t.init Float 1.000000e-12 initial time step (s)
userstep Float 3.402823e+38 maximum time step (s)
movie String Tcl command(s) eval'd every movie.interval= steps. Before evaluating, mc sets the variables `mc_step` (0-indexed step counter), `mc_t` (current sim time, s), and `mc_dt` (step size, s). Typical use: paint rates with `rate paint`, dump fields with `sel z= ... > $f`, log particle counts, ...
movie.interval Int 1 Run the movie= hook every Nth time step (default 1 = every step). Set higher for cheap periodic snapshots without paying the hook cost on every step.
vx String 0 x velocity Alagator expression
vy String 0 y velocity Alagator expression
vz String 0 z velocity Alagator expression
nparticles Int 0 soft target particle count; also seeds t=0 IC
ic String 1 Alagator density distribution for t=0 seeding
rng.seed Int 0 RNG seed (0 = random)
scatter.rates String Tcl list of Alagator rate expressions [1/s]
scatter.speeds String Tcl list of Alagator final-speed expressions
scatter.differe tial Str ng Tcl list of differential rate expressions S(ParticleSpeed,FinalSpeed,x); non-empty entry overrides rate+speed for that mechanism
scatter.vfgrid String Tcl list of velocity-grid FieldServer names for Phase 3
gamma.max Float 0.000000e+00 override maximum total scattering rate [1/s]; skips the automatic node scan when > 0
scatter.tabulat d String Tcl list of registered rate names (see `rate register`). Each name's eqn is fetched from the rate registry, has its walker-internal symbols substituted via scatter.tabulated.scratch=, and is then compiled exactly like a scatter.rates= entry. Composes with scatter.rates= (both lists are concatenated).
scatter.tabulat d.scratc String Even-length Tcl key/value list applied as word-boundary substitution to every scatter.tabulated= entry before compilation. Use to map LBTE-walker scratch symbols (E_alpha, meas, grad_E, q_k, FF, ...) to MC-relevant expressions (e.g. E_alpha 0.5*m*ParticleSpeed^2/q).
scatter.tabulat d.speeds String Tcl list of final-speed expressions, one per scatter.tabulated= entry. Defaults to ParticleSpeed (elastic) when omitted or shorter than scatter.tabulated=.
Raw -help output
mc
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
store           Boolean                      
restore         Boolean                      
time            Float    0.000000e+00         simulation time (s)
t.init          Float    1.000000e-12         initial time step (s)
userstep        Float    3.402823e+38         maximum time step (s)
movie           String                        Tcl command(s) eval'd every movie.interval= steps.  Before evaluating, mc sets the variables `mc_step` (0-indexed step counter), `mc_t` (current sim time, s), and `mc_dt` (step size, s).  Typical use: paint rates with `rate paint`, dump fields with `sel z= ... > $f`, log particle counts, ...
movie.interval  Int      1                    Run the movie= hook every Nth time step (default 1 = every step).  Set higher for cheap periodic snapshots without paying the hook cost on every step.
vx              String   0                    x velocity Alagator expression
vy              String   0                    y velocity Alagator expression
vz              String   0                    z velocity Alagator expression
nparticles      Int      0                    soft target particle count; also seeds t=0 IC
ic              String   1                    Alagator density distribution for t=0 seeding
rng.seed        Int      0                    RNG seed (0 = random)
scatter.rates   String                        Tcl list of Alagator rate expressions [1/s]
scatter.speeds  String                        Tcl list of Alagator final-speed expressions
scatter.differential String                        Tcl list of differential rate expressions S(ParticleSpeed,FinalSpeed,x); non-empty entry overrides rate+speed for that mechanism
scatter.vfgrid  String                        Tcl list of velocity-grid FieldServer names for Phase 3
gamma.max       Float    0.000000e+00         override maximum total scattering rate [1/s]; skips the automatic node scan when > 0
scatter.tabulated String                        Tcl list of registered rate names (see `rate register`).  Each name's eqn is fetched from the rate registry, has its walker-internal symbols substituted via scatter.tabulated.scratch=, and is then compiled exactly like a scatter.rates= entry.  Composes with scatter.rates= (both lists are concatenated).
scatter.tabulated.scratch String                        Even-length Tcl key/value list applied as word-boundary substitution to every scatter.tabulated= entry before compilation.  Use to map LBTE-walker scratch symbols (E_alpha, meas, grad_E, q_k, FF, ...) to MC-relevant expressions (e.g. E_alpha 0.5*m*ParticleSpeed^2/q).
scatter.tabulated.speeds String                        Tcl list of final-speed expressions, one per scatter.tabulated= entry.  Defaults to ParticleSpeed (elastic) when omitted or shorter than scatter.tabulated=.
Examples:
  • Test/Coverage/cov_mc_implant.tcl
  • Test/Coverage/cov_mc_movie_interval.tcl
  • Test/Coverage/cov_mc_tabulated_rates.tcl
  • Test/mc/mc_1d.tcl
  • Test/mc/mc_2d.tcl

overlap

module: device · source: src/device/schrodinger/overlap.cc

Option Type Default Description
v1 String First tcl list of input vectors
v2 String Second tcl list of input vectors
eqn String 1 Equation to scale the overlap <v2|eqn|v1>
Raw -help output
overlap
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
v1              String                        First tcl list of input vectors
v2              String                        Second tcl list of input vectors
eqn             String   1                    Equation to scale the overlap <v2|eqn|v1>

parallelSystem

module: device · source: src/device/parallelexec.cc

Option Type Default Description
cmdList String list of system commands to run in parallel
Raw -help output
parallelSystem
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
cmdList         String                        list of system commands to run in parallel
Examples:
  • Test/device/picard/picard_master.tcl

picard

module: device · source: src/device/picard.cc

Option Type Default Description
decompose Boolean
N Int 16 Number of regions to decompose into
Nov Int 1 Number of overlap steps
basename String Base structure name
Raw -help output
picard
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
decompose       Boolean                      
N               Int      16                   Number of regions to decompose into
Nov             Int      1                    Number of overlap steps
basename        String                        Base structure name
Examples:
  • Test/device/picard/picard-single.tcl
  • Test/device/picard/picard_master.tcl

pod

module: device · source: src/device/pod.cc

Option Type Default Description
data String tcl list of training data
bias String tcl list of bias points to fit
mode_name String Mode Base name to use for the mode names
modes String tcl list of modes to use to compute solution
cutoff Float 1.000000e-08 error cutoff for pod modes
solve String tcl dict { solution_name {ModeField1 ModeField2 ...} ... } -- run a Galerkin POD-projected Newton solve using the given per-variable basis
Raw -help output
pod
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
data            String                        tcl list of training data
bias            String                        tcl list of bias points to fit
mode_name       String   Mode                 Base name to use for the mode names
modes           String                        tcl list of modes to use to compute solution
cutoff          Float    1.000000e-08         error cutoff for pod modes
solve           String                        tcl dict { solution_name {ModeField1 ModeField2 ...} ... } -- run a Galerkin POD-projected Newton solve using the given per-variable basis

rate

module: device · source: src/device/rate/rate_tcl.cc

Examples:
  • Test/Coverage/cov_lbte_2d.tcl
  • Test/Coverage/cov_lbte_kpsi.tcl
  • Test/Coverage/cov_lbte_lk_overlap.tcl
  • Test/Coverage/cov_mc_tabulated_rates.tcl
  • Test/Coverage/cov_rate_errors.tcl

ritz

module: device · source: src/device/schrodinger/ritz.cc

Option Type Default Description
solutions String List of Hamiltonian solution names
basis String Data name of basis eigenvectors without index
evals String List of basis eigenvalues
V String Alagator string for the updated real potential
H String Alagator string(s) for the full Hamiltonian operator (one per basis solution; same syntax as aschro H=)
nev Int -1 Number of eigenvalues to solve. Default is all.
nbasis Int -1 Number of basis vectors to use. Default is all.
tol Float 1.000000e-20 Tolerance for basis weight to include eigenvalue
ndisp Boolean 0 Get solutions assuming negative dispersion (negative meff like)
Raw -help output
ritz
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
solutions       String                        List of Hamiltonian solution names
basis           String                        Data name of basis eigenvectors without index
evals           String                        List of basis eigenvalues
V               String                        Alagator string for the updated real potential
H               String                        Alagator string(s) for the full Hamiltonian operator (one per basis solution; same syntax as aschro H=)
nev             Int      -1                   Number of eigenvalues to solve. Default is all.
nbasis          Int      -1                   Number of basis vectors to use. Default is all.
tol             Float    1.000000e-20         Tolerance for basis weight to include eigenvalue
ndisp           Boolean  0                    Get solutions assuming negative dispersion (negative meff like)

schrodinger

module: device · source: src/device/schrodinger/schrodinger.cc

Option Type Default Description
potential String Name of potential
meff String 1 Effective Mass (unitless)
mask String SchroSolveMask Real data field where to solve
save Boolean 1 return eigenvalues and save eigenvectors as fields
evbasename String EigenVector base name of eigenvectors (Default: EigenVector)
nev Int -1 Number of eigenvalues to solve. Default is all. Only applies to standard eigenvalue problem.
half Boolean 0 return eigenvalues and save eigenvectors as fields
forcestandard Boolean 0 Forces the use of the standard instead of generalized eigenvalue problem
update Boolean 0 Update eigenvectors to new potential
computeenergies Boolean 0 Only compute energies from wavefunctions
Raw -help output
schrodinger
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
potential       String                        Name of potential
meff            String   1                    Effective Mass (unitless)
mask            String   SchroSolveMask       Real data field where to solve
save            Boolean  1                    return eigenvalues and save eigenvectors as fields
evbasename      String   EigenVector          base name of eigenvectors (Default: EigenVector)
nev             Int      -1                   Number of eigenvalues to solve. Default is all. Only applies to standard eigenvalue problem.
half            Boolean  0                    return eigenvalues and save eigenvectors as fields
forcestandard   Boolean  0                    Forces the use of the standard instead of generalized eigenvalue problem
update          Boolean  0                    Update eigenvectors to new potential
computeenergies Boolean  0                    Only compute energies from wavefunctions

stress

module: device · source: src/device/stress.cc

stress

Option Type Default Description
calcstress Boolean
Raw -help output
Stress command started with memory usage: 0 MB TotSolTime 0
stress
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
calcstress      Boolean                      
Examples:
  • Test/Coverage/cov_elastic_3d.tcl
  • Test/Coverage/cov_elastic_stress.tcl
  • Test/Coverage/cov_stress_2d.tcl
  • Test/Coverage/cov_stress_eqnmap.tcl
  • Test/Coverage/cov_stress_extended.tcl

tbaschro

module: device · source: src/device/schrodinger/tightbinding.cc

Option Type Default Description
kx Float 0.000000e+00 Bloch kx (1/Angstrom)
ky Float 0.000000e+00 Bloch ky (1/Angstrom)
kz Float 0.000000e+00 Bloch kz (1/Angstrom)
a Float 5.431000e+00 Lattice constant in Angstroms
nn Float 0.000000e+00 Nearest-neighbor distance override (Angstroms)
temperature Float 1.000000e-04 Temperature for Fermi factors (meV)
nev Int -1 Number of eigenvalues (default all)
t.expr String Hopping as Tcl expr using $d (bond distance in Angstroms)
soc Boolean 0 Spin-orbit coupling
primitive Boolean 0 Use 2-atom primitive cell
unfold.kx Float 1.000000e+30 Unfold target kx
unfold.ky Float 1.000000e+30 Unfold target ky
unfold.kz Float 1.000000e+30 Unfold target kz
anion String Anion atom name (for primitive mode)
cation String Cation atom name (for primitive mode)
strain Boolean 0 Enable Harrison strain scaling
a0 Float 0.000000e+00 Unstrained lattice constant (Angstroms). Required with strain.
eta Float 2.000000e+00 Harrison scaling exponent (default 2)
Raw -help output
tbaschro
Length Scale Default is microns which can be changed with the option command
Name            Type     Default               Information
kx              Float    0.000000e+00         Bloch kx (1/Angstrom)
ky              Float    0.000000e+00         Bloch ky (1/Angstrom)
kz              Float    0.000000e+00         Bloch kz (1/Angstrom)
a               Float    5.431000e+00         Lattice constant in Angstroms
nn              Float    0.000000e+00         Nearest-neighbor distance override (Angstroms)
temperature     Float    1.000000e-04         Temperature for Fermi factors (meV)
nev             Int      -1                   Number of eigenvalues (default all)
t.expr          String                        Hopping as Tcl expr using $d (bond distance in Angstroms)
soc             Boolean  0                    Spin-orbit coupling
primitive       Boolean  0                    Use 2-atom primitive cell
unfold.kx       Float    1.000000e+30         Unfold target kx
unfold.ky       Float    1.000000e+30         Unfold target ky
unfold.kz       Float    1.000000e+30         Unfold target kz
anion           String                        Anion atom name (for primitive mode)
cation          String                        Cation atom name (for primitive mode)
strain          Boolean  0                    Enable Harrison strain scaling
a0              Float    0.000000e+00         Unstrained lattice constant (Angstroms). Required with strain.
eta             Float    2.000000e+00         Harrison scaling exponent (default 2)