4.2.1. Parameter files

The parameter file specifies calculation conditions and parameters for H-wave in TOML format. It is composed of the following three sections.

  1. mode section for specifying calculation conditions,

  2. log section for setting standard outputs,

  3. file section for setting file paths: It contains input and output subsections.

An example of the file is shown below:

[log]
  print_level = 1

[mode]
  mode = "RPA"

[mode.param]
  T = 0.5
  # mu = 0.0
  CellShape = [32,32,1]
  SubShape = [1,1,1]
  nmat = 1024
  # Ncond = 1024
  filling = 0.5
  matsubara_frequency = "all"

[file]
[file.input]
  path_to_input = "input"
  # initial = "initial.dat"
  # chi0q_init = "chi0q.npz"

[file.input.interaction]
  path_to_input = "input"
  Geometry = "geom.dat"
  Transfer = "transfer.dat"
  CoulombIntra = "coulombintra.dat"
  CoulombInter = "coulombinter.dat"

[file.output]
  path_to_output = "output"
  chiq = "chiq"
  chi0q = "chi0q"

File format

TOML format

Parameters

mode section

  • mode

    Type : String

    Description : This parameter specifies the calculation mode. Set to "RPA" for calculations of the Random Phase Approximation.

  • enable_spin_orbital (default value is false)

    Type : Boolean

    Description : This parameter specifies whether to allow spin-orbital interaction. If it is set to true, the orbital indices in Transfer term are interpreted in the way that they include the orbital index \(\alpha\) and the spin index \(s\) by \(\alpha + N_\text{orb} \cdot s\).

  • calc_scheme (default value is "auto")

    Type : String

    Description : This parameter specifies how the spin and orbitals are treated in the calculation. The parameter takes one of the following options.

    • general: Generalized orbitals combining spins and orbitals are considered. The susceptibility matrix takes the most general form, with the size of \(N_\text{orb}^4 N_\text{spin}^4 N_k N_\omega\).

    • reduced: Generalized orbitals combining spins and orbitals are considered. The components of the susceptibility matrix with \(\alpha=\alpha^\prime\) and \(\beta=\beta^\prime\) are considered. The size of the matrix turns to \(N_\text{orb}^2 N_\text{spin}^2 N_k N_\omega\). For the two-body interaction terms, only CoulombIntra, CoulombInter, Ising and Hund are allowed.

    • squashed: Spins and orbitals are separately treated, and for the orbitals \(\alpha=\alpha^\prime\) and \(\beta=\beta^\prime\) are considered. The size of the susceptilibity matrix becomes \(N_\text{orb}^2 N_\text{spin}^4 N_k N_\omega\). See Algorithms for details.

    • auto: scheme is automatically chosen according to the specifications of interaction terms. This option is not available when only chi0q is to be calculated.

mode.param section

mode.param section contains the parameters for the calculation.

  • CellShape

    Type : Integer array

    Description : This parameter specifies the shape of the lattice Lx, Ly, Lz.

  • SubShape

    Type : Integer array (default value is [ Lx, Ly, Lz ])

    Description : This parameter specifies the shape of the sublattice Bx, By, Bz.

  • T

    Type : Float (default value is 0)

    Description : This parameter specifies the temperature. It must be greater than or equal to zero.

  • mu

    Type : Float or None (default value is None)

    Description : This parameter specifies the chemical potential \(\mu\). If it is not specified, the value of \(\mu\) will be calculated so that the expectation value of the number of electrons equals to Ncond. If both mu and Ncond or filling are specified, the program terminates with error.

  • Ncond

    Type : Integer

    Description : This parameter specifies the number of conduction electrons. It must be greater than or equal to one.

  • filling

    Type : Float

    Description : This parameter specifies the filling ratio of electrons with respect to the number of states. Both Ncond and filling are specified, the program will be terminated with error.

  • Ncond_round_mode

    Type : String (default value is "strict")

    Description : This parameter specifies how the number of electrons calculated from the filling parameter is rounded to an integer value when the temperature is zero. The parameter must take one of the following values.

    • as-is: the value is not rounded to an integer. (returns a floating-point number)

    • round-up: the value is rounded up.

    • round-down: the value is rounded down.

    • round-off: the value is rounded to the closest integer. (0.5 is rounded up.)

    • round: the value is rounded by round function. (0.5 is rounded down.)

    • strict: if the value is not an integer value, the program terminates with error.

    • exact: if the value is not an integer value, a warning message will be shown and the value is rounded to an integer as round.

  • Nmat

    Type : Integer (default value is 1024)

    Description : This parameter specifies the cut-off of Matsubara frequency. It must be an even number greater than zero. Matsubara frequency is defined as follows:

    • Boson: \(\omega_n = \dfrac{2\pi (n-\texttt{Nmat}/2)}{\beta}\)

    • Fermion: \(\omega_n = \dfrac{\pi (2n+1-\texttt{Nmat})}{\beta}\)

    with the indices \(n\) between 0 and Nmat-1.

  • coeff_tail

    Type : Float (default value is 0.0)

    Description : This parameter specifies the magnitude of the correction when correcting the tails of the Fourier transformation. After Fourier transforming the diagonalized one-body Green function to the imaginary time representation by subtracting \(\texttt{coeff\_tail}/(i \omega_n)\), the term \(-\beta/2\cdot\texttt{coeff\_tail}\) is added to the one-body Green function.

  • matsubara_frequency

    Type : Integer, List of Integers, or String (default value is "all")

    Description : This parameter specifies the indices of Matsubara frequency for which the susceptibility matrix \(\chi(\vec{q})\) is calculated. The value must be one of the following:

    • an integer value : a single index value.

    • [ min, max (, step) ] : every step index from min to max. If step is omitted, it is assumed to be 1.

    • all : all indices

    • center : corresponds to Nmat/2.

    • none : nothing will be calculated.

    When the susceptibility matrix \(\chi(\vec{q})\) or the irreducible susceptibility matrix \(\chi_0(\vec{q})\) are stored to files, the values at the specified freqneucy are exported.

  • coeff_extern

    Type : Float (default value is 0.0)

    Description : This parameter specifies the coefficient \(h\) of the external field given by the form \(\pm h H_{\alpha\beta}(r_{ij})\). The definition of the matrix \(H_{\alpha\beta}(r_{ij})\) will be provided by an input file. The sign \(+\) and \(-\) correspond to spin up and down, respectively.

  • RndSeed

    Type : Integer (default value is 1234)

    Description : This parameter specifies the seed of the random number generator.

  • ene_cutoff

    Type : Float (default value is 100.0)

    Description : This parameter specifies the upper cutoff of the exponent in the Fermi distribution function to avoid overflow during the calculation.

log section

  • print_level

    Type : Integer (default value is 1)

    Description : This parameter specifies the verbosity of the standard output. If it is set to 1, a detailed information will be shown.

file section

This section consists of input and output subsections. They specify the settings of the input and output files, respectively, on the types of files, the directories to be located or stored, and the names of the files.

file.input section

  • path_to_input

    Type : String (default value is "" (blank string))

    Description : This parameter specifies the directory in which the input files are located.

  • chi0q_init

    Type : String

    Description : This parameter specifies the filename of the pre-calculated irreducible susceptibility \(\chi_0(\vec{q})\) to be used for the calculation of the susceptibility matrix. The input file is in NumPy binary format that corresponds to the output format of chi0q in file.output section.

  • trans_mod

    Type : String

    Description : This parameter specifies the filename of the initial configuration exported from UHFk by the parameter file.output.rpa. It contains the one-body interaction term involving the approximated two-body interaction terms via UHF method.

  • green_init

    Type : String

    Description : This parameter specifies the filename of the initial Green’s function for RPA calculation. The file format corresponds to the output file of green of UHFk. When trans_mod is specified, green_init is not used.

file.input.interaction section

This section describes the relation of the interaction types and geometry information to the definition files.

  • path_to_input

    Type : String

    Description : This parameter specifies the directory in which the input files are located. It is independent from path_to_input in file.input section.

  • Geometry

    Type : String

    Description : This parameter specifies the filename for the geometry information.

  • Transfer, CoulombIntra, CoulombInter, Hund, Ising, Exchange, PairLift, PairHop, Extern

    Type : String

    Description : These parameters specify the filenames for the definitions of the corresponding interaction terms. If none of two-body interaction term (CoulombIntra, CoulombInter, Hund, Ising, Exchange, PairLift, or PairHop) is specified, the program only calculates chi0q and exits.

file.output section

  • path_to_output

    Type : String (default value is "output")

    Description : This parameter specifies the directory in which the output files are stored.

  • chi0q

    Type : String

    Description :

    This parameter specifies the name of the file to store the irreducible susceptibility matrix \(\chi_0(\vec{q})\). If it is not set, no output will be generated.

  • chiq

    Type : String

    Description : This parameter specifies the name of the file to store the susceptibility matrix \(\chi(\vec{q})\). If it is not set, no output will be generated.