The Parameter file

The parameter files used to specify the details of the Monte Carlo simulations are in the json format. This file format is convinient, readable and also ubiquitous. While reading the following descriptions, please open up the file ‘test/Simulations/holstein_DMFT_T0.3/params1.json’ to follow along. The name of the parameters follow the simple camelCase convention.

You can also reference the parameter file here: Example Parameter file

monteCarlo

The parameters in this sub-json specify the monte carlo specific details:

measurementTime (float)

The time in minutes each processor measures.

thermalizationTime (float)

The time in minutes for which each processor will thermalize. It is difficult to give a good optimal value. I would say, ~10% of the measurement time.

seed (int)

The seed for the random number generator.

thermalizeFromConfig (bool)

Should the program thermalize or simply start measuring format the previously saved configuraion. If true thermalizes from the previously saved configuration.

model

beta (float)

The inverse temperature in Hartree units.

hybUpFile (string)

The name of the hybridization file for the current iteration.

modelFile (string)

The name of the model file that states the symmetries for the green function.

J_H (float)

The interaction value for different orbitals and same spin.

nkpts (int)

The number of k points used in the selfconsistency and to calculate the local hopping matrix.

nOrb (int)

The number of orbitals.

U (float)

The interaction value for same orbitals but different spin.

UPrime (float)

The interaction value for different orbitals and different spin.

delta (float)

Mathematical value to avoid sign probelm. This value enters in the auxiliary Ising spin variables. Value should be near 0.01.

gPhonon (float)

The value for electron-phonon coupling.

w0Phonon (float)

The value for the phonon frequency.

mu (float)

The value of the chemical potentiel.

cluster (List[int])
  • Nx: Cluster lenght in x.
  • Ny: Cluster lenght in y.
  • Nz: Cluster lenght in z.
tParameters (List[List[float]])

For each independant orbital, one should specify the hopping matrix. For an example with one orbital, please refer to the Example Parameter file. For an example with two orbitals, please refer to test/Simulations/2x2Sqaure_2Orb’.

  • tx: hopping nearest-neighbor in x.
  • t2x: hopping second neighbor in x.
  • t3: Third nearest-neighbor hopping.
  • tx=y: hopping along x = y diagonal
  • tx=-y: hopping along x = -y diagonal
  • etc.

solver

cleanUpdate (int)

The number of updates before calculating the Green matrixs from scratch. A good value is around 20000-50000.

updateMeas (int)

The number of updates before performing a measurement.

averageOrbitals (bool)

true if the orbitals are “identical”, you then want to average the results over the orbitals. If the orbitals are different, then set to false

isOrbitalDiagonal (bool)

true if orbitals don’t interact bewteen one another.

eCutGreen (int)

Cut-off energy for the measurement of the green function.

ntau (int)

The number of tau points for the green function entering in the solver. A minimal value is taken by default if the value given here is too small.

n_tau_sampling (int)

The number of time-translational invariant configurations to take for each measurement. The value of 5 seems optimal in many cases.

selfCon

eCutSelfCon (int)

The cut-off energy to use in the selfconsistency (not used for now).

weightsR (int)

The mixing value used for the selfconsistency for the real part of the hybridization.

weightsI (int)

The mixing value used for the selfconsistency for the imaginary part of the hybridization.

logging

level (string)

The logging level of the program. The options are as follows, with increasing verbosity:

  • warn # the less verbose
  • info
  • debug
  • trace # The most verbose
logToFile (bool)

true if the program should log to a file.

file (string)

The name of the file to log to.