Observables

In the normal case, the following observables are calculated

Description

This module calculates a series of observables, and stores them in aptly named plain-text files. ed_mode = normal

Quick access

Variables:

dens, dens_up, dens_dw, docc, magz, n2, sz2, exct_s0, exct_tz, zimp, simp, dens_ph, s2tot, prob_ph, pdf_ph, pdf_part, w_ph

Routines:

observables_normal(), local_energy_normal(), get_szr(), write_legend(), write_energy_info(), write_observables(), write_energy(), write_pdf(), prob_distr_ph(), hermite()

Used modules

  • sf_constants

  • sf_iotools

  • sf_arrays

  • sf_linalg

  • ed_input_vars: Contains all global input variables which can be set by the user through the input file. A specific preocedure ed_read_input() should be called to read the input file using parse_input_variable() procedure from SciFortran. All variables are automatically set to a default, looked for and updated by reading into the file and, sequentially looked for and updated from command line (std.input) using the notation variable_name=variable_value(s) (case independent).

  • ed_vars_global: Contains all variables, arrays and derived types instances shared throughout the code. Specifically, it contains definitions of the effective_bath, the gfmatrix and the sector data structures.

  • ed_aux_funx: Hosts a number of auxiliary procedures required in different parts of the code. Specifically, it implements: creation/annihilation fermionic operators, binary decomposition of integer representation of Fock states and setup the local impurity Hamiltonian

  • ed_eigenspace: A class implementing a data structure to efficiently store the low part of the Fock space spectrum, automatically spreading and retrieving the eigenstates among/from MPI threads.

  • ed_setup: Contains procedures to set up the Exact Diagonalization calculation, executing all internal consistency checks and allocation of the global memory.

  • ed_sector: Contains procedures to construct the symmetry sectors corresponding to a given set of quantum numbers \(\vec{Q}\), in particular it allocated and build the sector_map connecting the states of a given sector with the corresponding Fock ones.

  • ed_bath: Contains routines for setting, accessing, manipulating and clearing the bath of the Impurity problem.

  • ed_hamiltonian_normal: Setup and build the sector Hamiltonian, returns the correct dimension of the vectors in the Arpack/Lanczos procedure in each thread and provides an interface to Tri-Diagonalize the Hamiltonian on a Krylov basis given a starting vector.

Variables

  • ed_observables_normal/dens () [real,private/allocatable]

    orbital-resolved charge density

  • ed_observables_normal/dens_dw () [real,private/allocatable]

    orbital-resolved spin-\(\downarrow\) electron density

  • ed_observables_normal/dens_ph [real,private]

    phonon density

  • ed_observables_normal/dens_up () [real,private/allocatable]

    orbital-resolved spin-\(\uparrow\) electron density

  • ed_observables_normal/docc () [real,private/allocatable]

    orbital-resolved double occupation

  • ed_observables_normal/exct_s0 (•, ) [real,private/allocatable]

    excitonic order parameter \(\langle c^{\dagger}_{is}\sigma^{0}c_{js^{'}} \rangle\)

  • ed_observables_normal/exct_tz (•, ) [real,private/allocatable]

    excitonic order parameter \(\langle c^{\dagger}_{is}\sigma^{z}c_{js^{'}} \rangle\)

  • ed_observables_normal/magz () [real,private/allocatable]

    orbital-resolved magnetization ( z component )

  • ed_observables_normal/n2 (•, ) [real,private/allocatable]

    \(\langle n_{i} n_{j} \rangle\) for i,j orbitals

  • ed_observables_normal/pdf_part (•, ) [real,private/allocatable]

    Lattice probability distribution as obtained by prob_distr_ph()

  • ed_observables_normal/pdf_ph () [real,private/allocatable]

    Phonon probability distribution prob_distr_ph()

  • ed_observables_normal/prob_ph () [real,private/allocatable]

    Phonon probability

  • ed_observables_normal/s2tot [real,private]

    \(\langle S_{z}^{2} \rangle\)

  • ed_observables_normal/simp (•, ) [real,private/allocatable]

    scattering rate

  • ed_observables_normal/sz2 (•, ) [real,private/allocatable]

    \(\langle S^{z}_{i} S^{z}_{j} \rangle\) for i,j orbitals

  • ed_observables_normal/w_ph [real,private]

    Renormalized phonon frequency

  • ed_observables_normal/zimp (•, ) [real,private/allocatable]

    quasiparticle weight

Subroutines and functions

subroutine  ed_observables_normal/observables_normal()

Calculate the values of the local observables

subroutine  ed_observables_normal/local_energy_normal()

Calculate the value of the local energy components

subroutine  ed_observables_normal/get_szr()

Calculate the values of the scattering rate and quasiparticle weight

subroutine  ed_observables_normal/write_legend()

Write a plain-text file called observables_info.ed detailing the names and contents of the observable output files

subroutine  ed_observables_normal/write_energy_info()

Write a plain-text file called energy_info.ed containing a legend for the energy output file

subroutine  ed_observables_normal/write_observables()

Write the observable output files. Filenames with suffix _all contain values for all DMFT interations, those with suffix _last only values for the last iteration

subroutine  ed_observables_normal/write_energy()

Write the latest iteration values of energy observables

subroutine  ed_observables_normal/write_pdf()

Write the lattice probability distribution function

subroutine  ed_observables_normal/prob_distr_ph(vec, val)

Compute the local lattice probability distribution function (PDF), i.e. the local probability of displacement as a function of the displacement itself

Parameters:
  • vec (•) [real]

  • val [integer]

subroutine  ed_observables_normal/hermite(x, psi)

Compute the Hermite functions (i.e. harmonic oscillator eigenfunctions) the output is a vector with the functions up to order Dimph-1 evaluated at position x

Parameters:
  • x [real, in]

  • psi (dimph) [real, out]