Skip to content

Units and conventions

Spinfinity uses ordinary numerical values and NumPy arrays. Units are not attached to these objects and are not converted automatically. Inputs must therefore use the units specified below.

This page describes the active Python implementation. Conventions from other programs, including the Scilab code, should not be assumed to match without checking operator definitions and prefactors.

Parameter units

Attribute or argument Unit Meaning
Spins Dimensionless Spin quantum numbers, for example 0.5, 1, or 2.5.
ReadoutSpin Dimensionless index Zero-based index of the spin used for readout and RF excitation.
gfactorvector Dimensionless Signed g-factors used with the Bohr magneton.
B, BTip T Cartesian magnetic-field vectors in the order [x, y, z].
T K Bath temperature. See the zero-temperature note below.
Dvector, EvectorX, EvectorY meV Coefficients of the quadratic anisotropy terms.
Jvector meV Diagonal pair-exchange coefficients [Jxx, Jyy, Jzz].
Jxy, Jxz, Jyz, Jyx, Jzx, Jzy meV Off-diagonal pair-exchange coefficients.
Avector meV Diagonal pairwise hyperfine coefficients [Axx, Ayy, Azz].
Qvector meV Quadrupolar Hamiltonian coefficients [Qxx, Qyy, Qzz], not physical quadrupole moments.
Stevens meV Coefficients multiplying the package's dimensionless Stevens operators.
DipoleVector meV Dipolar coupling strengths D0, one value per spin pair.
AtomPositions Dimensionless Cartesian lattice coordinates, not positions directly in nm.
latticeLengthXY nm Three componentwise lattice spacings [ax, ay, az], despite the historical attribute name.
V_DC, V_array mV Bias voltage and voltage-sweep values.
G_st A/V = S Conductance scale used to normalize tip–sample scattering.
G_ss A/V = S Conductance-equivalent substrate-scattering parameters, one per spin.
G_tt Dimensionless Switch: 0 disables and 1 enables tip–tip scattering. It is not a conductance.
U Dimensionless Potential-scattering amplitude relative to the spin-exchange scattering amplitude.
b0 Dimensionless Fraction assigned to the spin-independent background channel.
TipPolarization, SamplePolarization Dimensionless Cartesian polarization vectors. Zero denotes an unpolarized reservoir; vector norm one denotes full polarization.
J Dimensionless Signed substrate exchange per spin in the legacy spin-code normalization; negative denotes antiferromagnetic exchange. Not Jvector.
J_tip Dimensionless Signed virtual tip exchange attribute of Spinsysused in third-order functions; default zero. Independent phenomenological parameter, not inferred from G_tt.
w, lt meV Electronic bandwidth and positive lifetime broadening used in third-order spectroscopy.
energy_step meV Internal integration spacing for third-order calculations; verify convergence by reducing it.
B1 T Peak amplitude of the linearly oscillating RF magnetic field in the ESR-rate model.
T2 ns Total transverse coherence time used in the ESR-rate model.
T_phi ns Phenomenological local pure-dephasing time, not total T2. Positive infinity disables this contribution.
freq, freq_array, f_RF GHz Ordinary frequency, not angular frequency.
RabiRate GHz Ordinary Rabi frequency used in coherent-control routines. The ESR-rate routines instead use B1.
lw GHz Lorentzian full width at half maximum in ESR.calc_FreqSweep.
time_array, pulsewidth_array, tau ns Evolution times, pulse durations, and delays in Lindblad and coherent-control routines.

All Zeeman terms use the Bohr magneton. The code does not automatically distinguish electronic and nuclear spins. When modeling a nucleus using a nuclear g-factor defined with the nuclear magneton, use the equivalent coefficient:

g_effective = g_nuclear * mu_N / mu_B

Calculated quantities

Quantity Unit Convention
H meV Hamiltonian in the product-spin basis.
E_sort meV Sorted eigenenergies before subtracting the ground-state energy.
E_All meV Sorted eigenenergies relative to the ground state.
E_All_inGHz GHz Relative eigenenergies divided by Planck's constant.
eigVectors Dimensionless Normalized eigenvectors stored as columns.
Sx, Sy, Sz Dimensionless Spin operators with the factor of hbar removed.
Populations, pop_0 Dimensionless Eigenstate occupation probabilities.
Density matrices Dimensionless Trace-one matrices.
calc_RateIntegrals(...) meV Electron phase-space integrals, not transition rates.
MatrixST, MatrixTS, MatrixSS, MatrixTT Dimensionless Squared scattering amplitudes before conductance and phase-space prefactors.
Rates, Rates_Summed, ESRRates 1/s Population-transition or scattering-event rates.
K 1/s Classical population-rate generator.
T_state_tot, T_state_ss s Inverse total or substrate-only inelastic escape rates of individual eigenstates.
elastic_dephasing_rates 1/s Pairwise coherence-decay rates, not population-transfer rates.
collapse_ops, elastic_collapse_ops 1/sqrt(ns) Collapse operators prepared for evolution with time in ns.
H_RF rad/ns Rotating-frame generator used by the time-evolution solver.
Tunnel currents, I_off A Signed currents.
Unnormalized rate-based ESR signal A Current difference I_RF_on - I_RF_off.
Unnormalized second-order dI/dV A/V = S Differential conductance.
Mag, Mag_tot Dimensionless Spin expectation values, not magnetic moments in SI units.
Fourier frequencies GHz When the supplied sampling times are in ns.

Physical constants and conversions

Ordinary frequency versus angular frequency

Public frequency inputs are ordinary frequencies:

omega [rad/ns] = 2*pi * f [GHz]

For time evolution, the Hamiltonian is converted from energy into an angular-frequency generator:

H_generator = H * meVtoGHzConversion * 2 * np.pi

Do not apply this conversion twice. In particular, H_RF is already in rad/ns.

Bath rates are converted separately:

rate [1/ns] = rate [1/s] * 1e-9

Consequently, an inelastic collapse operator is constructed as:

L_ij = sqrt(rate_ij [1/s] * 1e-9) * |j><i|

Rates are multiplied by 1e-9; collapse amplitudes are multiplied by its square root.

Spin and Hamiltonian conventions

Spin operators

The matrices represent dimensionless angular momentum:

Sz |m> = m |m>
[Sx, Sy] = i Sz

For spin one-half:

Sx = sigma_x / 2
Sy = sigma_y / 2
Sz = sigma_z / 2

Do not insert an additional factor of hbar into Hamiltonian terms that already use the package constants and coefficients.

Zeeman term convention

The external-field contribution is:

H_Z = -sum_i g_i * muB * B.S_i