Simulation Output Overview
In this section we define and provide an overview of the output generated by a DQMC simulation performed using the SmoQyDQMC.jl package.
Output Data Folder Structure
Each simulation performed with SmoQyDQMC.jl will generate a directory with a user defined name that all the output of the simulation will be written to. Here we will simply refer to this top-level directory as the datafolder
, but again, the user may call it whatever they like. Inside the datafolder
a set of files and folders resembling the structure outlined below will be found:
[datafolder]
:model_summary.toml
: A TOML file that describes the Hamiltonian that was simulated, and defines the various types of IDs that measurements are reported in terms of.simulation_info_pID*_sID*.toml
: A TOML file reporting basic information about the simulation, including the version of Julia and SmoQyDQMC.jl that was used to run the simulation. An[additional_info]
table contains the contents of a user defined dictionary as well. One such file is generated for eachpID
MPI rank if multiple simulations are being performed in parallel using MPI.global_stats.csv
: CSV file containing final average and error for all global measurements.local_stats.csv
: CSV file containing final average and error for all local measurements.[global]
: Directory contained binned global measurements written as binary JDL2 files.bin-1_pID-0.jld2
bin-2_pID-0.jld2
...
[local]
: Directory contained binned local measurements written as binary JDL2 files.bin-1_pID-0.jld2
bin-2_pID-0.jld2
...
[equal-time]
: Top-level directory containing all equal-time correlation function measurement results.[density]
: As an example, directory containing equal-time density-density correlations.density_momentum_equal-time_stats.csv
: CSV file containing average and error for density-density correlation in momentum space.density_position_equal-time_stats.csv
: CSV file containing average and error for density-density correlation in position space.[momentum]
: Directory containing binned momentum space density-density correlation data as binary JLD2 files.bin-1_pID-0.jld2
bin-2_pID-0.jld2
...
[position]
: Directory containing binned position space density-density correlation data as binary JLD2 files.bin-1_pID-0.jld2
bin-2_pID-0.jld2
...
[...]
[time-displaced]
: Top-level directory containing all time-displaced correlation function measurement results.[greens]
greens_momentum_equal-time_stats.csv
greens_position_equal-time_stats.csv
[momentum]
bin-1_pID-0.jld2
bin-2_pID-0.jld2
...
[position]
bin-1_pID-0.jld2
bin-2_pID-0.jld2
...
[...]
[integrated]
: Top-level directory containing all integrated correlation function measurement results.[density]
density_momentum_integrated_stats.csv
density_position_integrated_stats.csv
[momentum]
bin-1_pID-0.jld2
bin-2_pID-0.jld2
...
[position]
bin-1_pID-0.jld2
bin-2_pID-0.jld2
...
[...]
Model Summary
The function model_summary
is used to a TOML file named model_summary.toml
that full describes and parameterizes the Hamiltonian simulated in a DQMC simulation using SmoQyDQMC.jl
. Significantly, this method also defines the types of IDs (ORBITAL_ID
, BOND_ID
, HOPPING_ID
, PHONON_ID
, HOLSTEIN_ID
, SSH_ID
, DISPERSION_ID
) that the various measurements are reported in terms of. The type of ID used to report correlation and local measurements are recorded in the exported dictionaries CORRELATION_FUNCTIONS
and LOCAL_MEASUREMENTS
.
Uncertainty Reporting Conventions
The average value $\bar{C}$ for any measured expectation value $\langle C \rangle$ is reported as a complex number in all *_stats.csv
files, even if it is known formally to be a strictly real quantity. On the other hand, the error, or standard deviation, associated with each measurement is reported as a strictly positive real number such that the error associated with the complex expectation value $\langle C \rangle$ is given by $\Delta C = \sqrt{\Delta C_{\rm Re}^2 + \Delta C_{\rm Im}^2}$.
Global Measurements
At the end of a simulation once the measurements are processed using the process_measurements
method, a file global_stats.csv
file is created that contains the final estimates and errors for all "global" measurements. The corresponding binned global data is stored as binary JLD2 files in the directory global
inside the simulation directory. We define each global measurement below.
sgn
: The average sign $\mathcal{S} = \langle {\rm sign}( \det G_\uparrow \cdot \det G_\downarrow ) \rangle$.sgndetGup
: The average spin-up sign $\mathcal{S}_\uparrow = \langle {\rm sign}(\det G_\uparrow) \rangle$.sgndetGdn
: The average spin-up sign $\mathcal{S}_\downarrow = \langle {\rm sign}(\det G_\downarrow) \rangle$.density
: Average global total charge density $\langle n \rangle = \langle n_\uparrow \rangle + \langle n_\downarrow \rangle$.density_up
: Average global spin-up charge density $\langle n_\uparrow \rangle$.density_dn
: Average global spin-down charge density $\langle n_\downarrow \rangle$.double_occ
: Average global double occupancy $\langle n_\uparrow n_\downarrow \rangle$.Nsqrd
: Expectation value for total electron number squared $\langle N^2 \rangle$, where $\hat{N} = \sum_{\sigma,\mathbf{i},\nu} \hat{n}_{\sigma, \mathbf{i}, \nu}$.chemical_potential
: The measured chemical potential $\mu$.compressibility
: The measured compressibility $\kappa = \frac{d \langle n \rangle}{d \mu} = \frac{\beta}{\mathcal{N}}\left( \langle N^2 \rangle - \langle N \rangle^2 \right)$.
Local Measurement
At the end of a simulation once the measurements are processed using the process_measurements
method, a file local_stats.csv
file is created that contains the final estimates and errors for all "local" measurements. The corresponding binned local data is stored as binary JLD2 files in the directory local
inside the simulation directory. All "local" measurements are reported in terms of an ID type, defined in the model_summary.toml
file generated by the model_summary
function. The definition for each local measurement that may be reported, including the type of ID it is reported in terms of, is defined below.
density
: (ORBITAL_ID
) The charge density $\langle n_{\nu} \rangle = \langle n_{\uparrow,\nu} \rangle + \langle n_{\downarrow,\nu} \rangle$ for orbital $\nu$ in the unit cell.density_up
: (ORBITAL_ID
) The spin-up charge density $\langle n_{\uparrow,\nu} \rangle$ for orbital $\nu$ in the unit cell.density_dn
: (ORBITAL_ID
) The spin-down charge density $\langle n_{\downarrow,\nu} \rangle$ for orbital $\nu$ in the unit cell.double_occ
: (ORBITAL_ID
) The double-occupance $\langle n_{\uparrow,\nu} n_{\downarrow,\nu} \rangle$ for orbital $\nu$ in the unit cell.
Local Tight-Binding Measurements
onsite_energy
: (ORBITAL_ID
) The total on-site energy $\sum_\sigma (\epsilon_{\sigma,\nu} - \mu) \langle n_{\sigma,\nu} \rangle$ for orbital $\nu$ in the unit cell.onsite_energy_up
: (ORBITAL_ID
) The spin-up on-site energy $(\epsilon_{\uparrow,\nu} - \mu) \langle n_{\uparrow,\nu} \rangle$ for orbital $\nu$ in the unit cell.onsite_energy_dn
: (ORBITAL_ID
) The spin-down on-site energy $(\epsilon_{\downarrow,\nu} - \mu) \langle n_{\downarrow,\nu} \rangle$ for orbital $\nu$ in the unit cell.bare_hopping_energy
: (HOPPING_ID
) The bare hopping energy $-\sum_{\sigma} \langle t_{\sigma,(\mathbf{i}+\mathbf{r},\nu),(\mathbf{i},\gamma)} c^\dagger_{\sigma,\mathbf{i}+\mathbf{r},\nu} c^{\phantom\dagger}_{\sigma,\mathbf{i},\gamma} + {\rm h.c.} \rangle$ for a hopping connecting orbitals $\gamma$ and $\nu$ displaced $\mathbf{r}$ unit cells, where $t_{(\mathbf{i}+\mathbf{r},\nu),(\mathbf{i},\gamma)}$ is the bare hopping amplitude.bare_hopping_energy_up
: (HOPPING_ID
) The bare spin-up hopping energy $-\langle t_{\uparrow,(\mathbf{i}+\mathbf{r},\nu),(\mathbf{i},\gamma)} c^\dagger_{\uparrow,\mathbf{i}+\mathbf{r},\nu} c^{\phantom\dagger}_{\uparrow,\mathbf{i},\gamma} + {\rm h.c.} \rangle$ for a hopping connecting orbitals $\gamma$ and $\nu$ displaced $\mathbf{r}$ unit cells, where $t_{\sigma,(\mathbf{i}+\mathbf{r},\nu),(\mathbf{i},\gamma)}$ is the bare hopping amplitude.bare_hopping_energy_dn
: (HOPPING_ID
) The bare spin-up hopping energy $-\langle t_{\downarrow,(\mathbf{i}+\mathbf{r},\nu),(\mathbf{i},\gamma)} c^\dagger_{\downarrow,\mathbf{i}+\mathbf{r},\nu} c^{\phantom\dagger}_{\downarrow,\mathbf{i},\gamma} + {\rm h.c.} \rangle$ for a hopping connecting orbitals $\gamma$ and $\nu$ displaced $\mathbf{r}$ unit cells, where $t_{\downarrow,(\mathbf{i}+\mathbf{r},\nu),(\mathbf{i},\gamma)}$ is the bare hopping amplitude.hopping_energy
: (HOPPING_ID
) The total hopping energy $-\sum_{\sigma} \langle t_{l,\sigma,(\mathbf{i}+\mathbf{r},\nu),(\mathbf{i},\gamma)} c^\dagger_{\sigma,\mathbf{i}+\mathbf{r},\nu} c^{\phantom\dagger}_{\sigma,\mathbf{i},\gamma} + {\rm h.c.} \rangle$ for a hopping connecting orbitals $\gamma$ and $\nu$ displaced $\mathbf{r}$ unit cells, where $t_{l,(\mathbf{i}+\mathbf{r},\nu),(\mathbf{i},\gamma)}$ is the modulated hopping amplitude.hopping_energy_up
: (HOPPING_ID
) The spin-up hopping energy $-\langle t_{l,\uparrow,(\mathbf{i}+\mathbf{r},\nu),(\mathbf{i},\gamma)} c^\dagger_{\uparrow,\mathbf{i}+\mathbf{r},\nu} c^{\phantom\dagger}_{\uparrow,\mathbf{i},\gamma} + {\rm h.c.} \rangle$ for a hopping connecting orbitals $\gamma$ and $\nu$ displaced $\mathbf{r}$ unit cells, where $t_{l,\sigma,(\mathbf{i}+\mathbf{r},\nu),(\mathbf{i},\gamma)}$ is the modulated hopping amplitude.hopping_energy_dn
: (HOPPING_ID
) The spin-up hopping energy $-\langle t_{l,\downarrow,(\mathbf{i}+\mathbf{r},\nu),(\mathbf{i},\gamma)} c^\dagger_{\downarrow,\mathbf{i}+\mathbf{r},\nu} c^{\phantom\dagger}_{\downarrow,\mathbf{i},\gamma} + {\rm h.c.} \rangle$ for a hopping connecting orbitals $\gamma$ and $\nu$ displaced $\mathbf{r}$ unit cells, where $t_{l,\downarrow,(\mathbf{i}+\mathbf{r},\nu),(\mathbf{i},\gamma)}$ is the modulated hopping amplitude.hopping_amplitude
: (HOPPING_ID
) The average hopping amplitude $\frac{1}{2 N} \sum_{\sigma,\mathbf{i}} \langle t_{\sigma,(\mathbf{i}+\mathbf{r},\nu),(\mathbf{i},\gamma)}\rangle$.hopping_amplitude_up
: (HOPPING_ID
) The average spin-up hopping amplitude $\frac{1}{N} \sum_{\mathbf{i}} \langle t_{\uparrow,(\mathbf{i}+\mathbf{r},\nu),(\mathbf{i},\gamma)}\rangle$.hopping_amplitude_dn
: (HOPPING_ID
) The average spin-down hopping amplitude $\frac{1}{N} \sum_{\mathbf{i}} \langle t_{\downarrow,(\mathbf{i}+\mathbf{r},\nu),(\mathbf{i},\gamma)}\rangle$.hopping_inversion
: (HOPPING_ID
) Fraction of the time the overall sign of the total hopping amplitude is inverted as a result of interactions, without first averaging the hopping amplitude over imaginary time.hopping_inversion_up
: (HOPPING_ID
) Fraction of the time the overall sign of the spin-up hopping amplitude is inverted as a result of interactions, without first averaging the hopping amplitude over imaginary time.hopping_inversion_dn
: (HOPPING_ID
) Fraction of the time the overall sign of the spin-down hopping amplitude is inverted as a result of interactions, without first averaging the hopping amplitude over imaginary time.hopping_inversion_avg
: (HOPPING_ID
) Fraction of the time the overall sign of the total hopping amplitude is inverted as a result of interactions, as calculated after first averaging the hopping amplitude over imaginary time.hopping_inversion_avg_up
: (HOPPING_ID
) Fraction of the time the overall sign of the spin-up hopping amplitude is inverted as a result of interactions, as calculated after first averaging the hopping amplitude over imaginary time.hopping_inversion_avg_dn
: (HOPPING_ID
) Fraction of the time the overall sign of the spin-down hopping amplitude is inverted as a result of interactions,as calculated after first averaging the hopping amplitude over imaginary time.
Local Hubbard Measurements
hubbard_energy
: (ORBITAL_ID
) The Hubbard interaction energy $U_{\nu} \langle n_{\uparrow,\nu} n_{\downarrow,\nu} \rangle$ for orbital $\nu$ in the unit cell.
Local Phonon Measurements
phonon_kin_energy
: (PHONON_ID
) The phonon kinetic energy $\frac{1}{2 M_{n_{\nu}}} \langle P_{n_{\nu}}^2 \rangle$ for phonon mode $n_{\nu}$ in unit cell.phonon_pot_energy
: (PHONON_ID
) The phonon potential energy $\frac{1}{2}M_{n_{\nu}}\Omega_{0,n_{\nu}}^2\langle X_{n_{\nu}}^2 \rangle + \frac{1}{24}M_{n_{\nu}}\Omega_{a,n_{\nu}}^2\langle X_{n_{\nu}}^4 \rangle$ for phonon mode $n_{\nu}$ in unit cell.X
: (PHONON_ID
): The expecation values $\langle X_{n_\nu} \rangle$ for phonon mode $n_{\nu}$ in unit cell.X2
: (PHONON_ID
): The expecation values $\langle X_{n_\nu}^2 \rangle$ for phonon mode $n_{\nu}$ in unit cell.X3
: (PHONON_ID
): The expecation values $\langle X_{n_\nu}^3 \rangle$ for phonon mode $n_{\nu}$ in unit cell.X4
: (PHONON_ID
): The expecation values $\langle X_{n_\nu}^4 \rangle$ for phonon mode $n_{\nu}$ in unit cell.dispersion_energy
: (DISPERSION_ID
) The dispersion energy $\langle \mathcal{U}_{{\rm disp.}, (\mathbf{r}, n_\nu, n_\gamma)} \rangle$ between the two phonon models $n_\nu$ and $n_\gamma$ displaced $\mathbf{r}$ unit cells from eachother.
Local Electron-Phonon Interaction Measurements
holstein_energy
: (HOLSTEIN_ID
) The total Holstein interaction energy $\langle \hat{\mathcal{V}}_{{\rm hol}, n_{\mathbf{i},\nu}, (\mathbf{i}+\mathbf{r},\gamma)} \rangle$ between a phonon mode $n_{\mathbf{i},\nu}$ and total charge density on orbital $\gamma$ displaced $\mathbf{r}$ unit cells away.holstein_energy_up
: (HOLSTEIN_ID
) The spin-up Holstein interaction energy $\langle \hat{\mathcal{V}}_{{\rm hol}, \uparrow, n_{\mathbf{i},\nu}, (\mathbf{i}+\mathbf{r},\gamma)} \rangle$ between a phonon mode $n_{\mathbf{i},\nu}$ and the spin-$\uparrow$ density on orbital $\gamma$ displaced $\mathbf{r}$ unit cells away.holstein_energy_dn
: (HOLSTEIN_ID
) The spin-down Holstein interaction energy $\langle \hat{\mathcal{V}}_{{\rm hol}, \downarrow, n_{\mathbf{i},\nu}, (\mathbf{i}+\mathbf{r},\gamma)} \rangle$ between a phonon mode $n_{\mathbf{i},\nu}$ and the spin-$\downarrow$ on orbital $\gamma$ displaced $\mathbf{r}$ unit cells away.ssh_energy
: (SSH_ID
) The total SSH interaction enery $\langle \mathcal{K}_{{\rm ssh},(n_{\mathbf{i},\nu},n_{\mathbf{i}+\mathbf{r},\gamma})}\rangle$ between phonon modes $n_\nu$ and $n_\gamma$ displaced $\mathbf{r}$ unit cells from eachother.ssh_energy_up
: (SSH_ID
) The spin-up SSH interaction enery $\langle \mathcal{K}_{{\rm ssh},\uparrow,(n_{\mathbf{i},\nu},n_{\mathbf{i}+\mathbf{r},\gamma})}\rangle$ between phonon modes $n_\nu$ and $n_\gamma$ displaced $\mathbf{r}$ unit cells from eachother.ssh_energy_dn
: (SSH_ID
) The spin-down SSH interaction enery $\langle \mathcal{K}_{{\rm ssh},\downarrow,(n_{\mathbf{i},\nu},n_{\mathbf{i}+\mathbf{r},\gamma})}\rangle$ between phonon modes $n_\nu$ and $n_\gamma$ displaced $\mathbf{r}$ unit cells from eachother.
Correlation Function Measurements
Three types of correlation functions are reported by SmoQyDQMC.jl package. Let $\hat{O}_{\mathbf{i},\nu}$ represent some operator associated with unit cell $\mathbf{i}$ and ID index $\nu$. For instance, in the case of a density-density correlation, $\nu$ corresponds to an ORBITAL_ID
index. The first type of correlation that may be reported are equal-time
correlation function of the form
\[C_{\nu,\gamma}(\mathbf{r}) = \frac{1}{N} \sum_{\mathbf{i}} \langle O^{\dagger}_{\mathbf{i}+\mathbf{r},\nu} O^{\phantom\dagger}_{\mathbf{i},\gamma} \rangle\]
in position
space, where the sum over $\mathbf{i}$ runs over all unit cells, and $\mathbf{r}$ represents a displacement in unit cells. The corresponding equal-time
correlation function in momentum
space is given by
\[C_{\nu,\gamma}(\mathbf{q}) = \sum_\mathbf{r} e^{-{\rm i}\mathbf{q}\cdot(\mathbf{r}+\mathbf{r}_\nu-\mathbf{r}_\gamma)} C_{\nu,\gamma}(\mathbf{r}),\]
where $\mathbf{r}_\nu$ and $\mathbf{r}_\gamma$ are static displacement vector associated with the operators $\hat{O}_{\mathbf{i},\nu}$ and $\hat{O}_{\mathbf{i},\gamma}$. For instance, in the case of the density-density correlation, $\mathbf{r}_\nu$ is the location of the orbital $\nu$ in the unit cell.
The second type of correlation function is the time-displaced
correlation function in position
space is given by
\[C_{\nu,\gamma}(\mathbf{r},\tau) = \frac{1}{N} \sum_{\mathbf{i}} \langle O^{\dagger}_{\mathbf{i}+\mathbf{r},\nu}(\tau) O^{\phantom\dagger}_{\mathbf{i},\gamma}(0) \rangle,\]
and in momentum
space by
\[C_{\nu,\gamma}(\mathbf{q},\tau) = \sum_\mathbf{r} e^{-{\rm i}\mathbf{q}\cdot(\mathbf{r}+\mathbf{r}_\nu-\mathbf{r}_\gamma)} C_{\nu,\gamma}(\mathbf{r},\tau).\]
The last type is the integrated
correlation functions in position
space, given by
\[\chi_{\nu,\gamma}(\mathbf{r}) = \int_0^\beta d\tau \ C_{\nu,\gamma}(\mathbf{r},\tau),\]
and in momentum
space by
\[\chi_{\nu,\gamma}(\mathbf{q}) = \int_0^\beta d\tau \ C_{\nu,\gamma}(\mathbf{q},\tau).\]
Displacement Vector and Momentum Reporting Conventions
Consider a $D$ dimensional finite periodic lattice, where $\mathbf{a}_d$ and $\mathbf{b}_d$ denote the corresponding lattice vectors and reciprocal lattice vectors, where $d \in [1,D]$. The extent of the lattice in unit cells in the direction of each of the lattice vectors is denoted by $L_d$. Given these definitions, the displacement vectors are parametetized as
\[\mathbf{r} = \sum_{d=1}^D \left( \frac{\mathtt{R\_d}}{L_d} \right) \mathbf{a}_d,\]
and then reported in terms of the set of integers $\mathtt{R\_d} \in [0, L_d)$. Similarly, the set of $\mathbf{k}$-points associated with the finite lattice are given by
\[\mathbf{k} = \sum_{d=1}^D \left( \frac{\mathtt{K\_d}}{L_d} \right) \mathbf{b}_d\]
and then reported in term of the set of integers $\mathtt{K\_d} \in [0, L_d)$.
Correlation Function Reporting Conventions
In addition to reporting the set of integers $\mathtt{R\_d} \ (\mathtt{K\_d})$ used to define correlation functions in position (momentum) space, they are also identified by an ID pair $(\mathtt{*\_ID\_2}, \mathtt{*\_ID\_1})$ specifying the subscripts $\nu$ and $\gamma$. Lastly, time-displaced
correlation functions also report the displacement in imaginary time, given as an integer $\mathtt{TAU} \in [0, L_\tau]$ such that $\tau = \Delta\tau \cdot \mathtt{TAU}$ where $\beta = \Delta\tau \cdot L_\tau$.
Defined Correlation Functions
In this section we review the various correlation measurements that the SmoQyDQMC.jl package currently supports.
greens
: (ORBITAL_ID
) Measures spin averaged single-particle electron Green's functions.greens_up
: (ORBITAL_ID
) Measures spin-up single-particle electron Green's functions..greens_dn
: (ORBITAL_ID
) Measures spin-down single-particle electron Green's functions..density
: (ORBITAL_ID
) Measures total density correlation functions.spin_z
: (ORBITAL_ID
) Measures spin-z correlation functions.spin_x
: (ORBITAL_ID
) Measures spin-z correlation functions.pair
: (BOND_ID
) Measures pair correlation functions.bond
: (BOND_ID
) Measures bond correlation functions.current
: (HOPPING_ID
) Measures current correlation functions.phonon_greens
: (PHONON_ID
) Measures phonon Green's functions, parameterized as the phonon position correlation function. The position space definition is given below, with $n_\alpha$ and $n_\gamma$ specifying phonon modes associated with orbitals $\alpha$ and $\gamma$ in the unit cell respectively.
\[\mathcal{D}_{\mathbf{r}}^{n_\alpha, n_\gamma}(\tau) = \frac{1}{N} \sum_\mathbf{i} \langle \hat{X}_{n_\alpha,\mathbf{i}+\mathbf{r}}(\tau) \hat{X}_{n_\gamma,\mathbf{i}}(0) \rangle.\]
Composite Correlation Measurements
Lastly, with the initialize_composite_correlation_measurement!
it is possible to make user named composite correlation measurements, defined by a linear combination of one of the above correlation measuremesnts of the form
\[\hat{O}_\mathbf{i} = \sum_\nu c_\nu \hat{O}_{\mathbf{i},\nu},\]
where $c_\nu$ are user-specified (complex or real) coefficients. Note that all cross-terms are automatically expanded out when making the composite correlation measurement, by which we mean that
\[\langle \hat{O}^{\dagger}_{\mathbf{i}+\mathbf{r}}(\tau) \hat{O}^{\phantom\dagger}_{\mathbf{i}}(0) \rangle = \sum_{\nu',\nu} c_{\nu'}^{*} c_\nu^{\phantom *} \langle \hat{O}^{\dagger}_{\mathbf{i}+\mathbf{r},\nu'}(\tau) \hat{O}^{\phantom\dagger}_{\mathbf{i},\nu}(0) \rangle\]
is measured. Note that the ID pair $(\mathtt{*\_ID\_2}, \mathtt{*\_ID\_1})$ columns are omitted from the composite correlation CSV stat files generated at the end of a simulation.