Input File Configuration
Integrator
The HiRep code uses a multilevel integrator and each integrator level has to be specified in the input file.
integrator {
level = 0
type = o2mn
steps = 10
}
Variable |
Description |
|---|---|
|
unique integrator level (level 0 is the outermost level) |
|
integrator type (see below) |
|
number of integration steps |
The table below show the different integrators implemented in the HiRep code. The last column in the table show how many times the next integrator level will be called in each iteration of the given integrator.
Type |
Description |
Next level calls |
|---|---|---|
|
leap-frog integrator |
1 |
|
2nd order minimal norm (omelyan) integrator |
2 |
|
4th order minimal norm (omelyan) integrator |
5 |
Plaquette gauge
This gauge monomial is the standard Wilson plaquette action.

The following example shows how to specify a gauge monomial in the input file.
monomial {
id = 0
type = gauge
beta = 2.0
level = 0
}
Variable |
Description |
|---|---|
|
unique monomial id |
|
monomial type |
|
bare coupling for the gauge field |
|
integrator level where the monomial force is evaluated |
Lüscher-Weisz gauge
This gauge monomial is the Lüscher-Weisz (tree-level Symanzik) gauge action, including the
plaquettes
and the
rectangular loops
.
The two coefficients below are related through
to ensure the correct continuum limit.
![S = -\frac{\beta}{N}\sum_{x,\mu>\nu} c_0\textrm{Re}~\textrm{tr}[P_{\mu\nu}(x)] + c_1\textrm{Re}~\textrm{tr}[R_{\mu\nu}(x)+R_{\nu\mu}(x)]](../_images/math/dad7a2eea55ff870e1a6d83d6ed8e90bb3a9cbdf.png)
Specify a gauge monomial in the input file as in the following example:
monomial {
id = 0
type = lw_gauge
c0 = 1.666667
beta = 2.0
level = 0
}
Variable |
Description |
|---|---|
|
unique monomial id |
|
monomial type |
|
bare coupling for the gauge field |
|
coefficient in front of the plaquette term |
|
integrator level where the monomial force is evaluated |
HMC Parameters
The HMC monomial is the standard term for simulating two mass degenerate fermions.

corresponding to the following input file configurations with example parameters:
monomial {
id = 1
type = hmc
mass = -0.750
mt_prec = 1e-14
force_prec = 1e-14
mre_past = 5
level = 1
}
Variable |
Description |
|---|---|
|
unique monomial id |
|
monomial type |
|
bare fermion mass |
|
inverter precision used in the Metropolis test |
|
inverter precision used when calculating the force |
|
number of past solutions used in the chronological inverter |
|
integrator level where the monomial force is evaluated |
Twisted Mass
In this monomial the twisted mass is added before the Dirac operator has been even/odd preconditioned. Specify as follows:
monomial {
id = 1
type = tm
mass = -0.750
mu = 0.1
mt_prec = 1e-14
force_prec = 1e-14
mre_past = 5
level = 1
}
Variable |
Description |
|---|---|
|
unique monomial id |
|
monomial type |
|
bare fermion mass |
|
bare twisted mass |
|
inverter precision used in the Metropolis test |
|
inverter precision used when calculating the force |
|
number of past solutions used in the chronological inverter |
|
integrator level where the monomial force is evaluated |
Twisted Mass Alternative
In this monomial the twisted mass is added after the Dirac operator has been even-odd preconditioned.
monomial {
id = 1
type = tm_alt
mass = -0.750
mu = 0.1
mt_prec = 1e-14
force_prec = 1e-14
mre_past = 5
level = 1
}
Variable |
Description |
|---|---|
|
unique monomial id |
|
monomial type |
|
bare fermion mass |
|
bare twisted mass |
|
inverter precision used in the Metropolis test |
|
inverter precision used when calculating the force |
|
number of past solutions used in the chronological inverter |
|
integrator level where the monomial force is evaluated |
Hasenbusch
The Hasenbusch term is a mass preconditioned term, used in connection with an HMC monomial.

monomial {
id = 1
type = hasenbusch
mass = -0.750
dm = 0.1
mt_prec = 1e-14
force_prec = 1e-14
mre_past = 2
level = 0
}
Variable |
Description |
|---|---|
|
unique monomial id |
|
monomial type |
|
bare fermion mass |
|
shift in the bare mass |
|
inverter precision used in the Metropolis test |
|
inverter precision used when calculating the force |
|
number of past solutions used in the chronological inverter |
|
integrator level where the monomial force is evaluated |
TM Hasenbusch
To include a Hasenbusch monomial with even-odd preconditioned twisted mass, adjust starting from the following template parameters
monomial {
id = 1
type = hasenbusch_tm
mass = -0.750
mu = 0
dmu = 0.1
mt_prec = 1e-14
force_prec = 1e-14
mre_past = 2
level = 0
}
Variable |
Description |
|---|---|
|
unique monomial id |
|
monomial type |
|
bare fermion mass |
|
twisted mass |
|
shift in the twisted mass |
|
inverter precision used in the Metropolis test |
|
inverter precision used when calculating the force |
|
number of past solutions used in the chronological inverter |
|
integrator level where the monomial force is evaluated |
TM Hasenbusch Alternative
For a twisted even-odd preconditioned operator use the type hasenbusch_tm_alt.
monomial {
id = 1
type = hasenbusch_tm_alt
mass = -0.750
mu = 0
dmu = 0.1
mt_prec = 1e-14
force_prec = 1e-14
mre_past = 2
level = 0
}
Variable |
Description |
|---|---|
|
unique monomial id |
|
monomial type |
|
bare fermion mass |
|
bare twisted mass |
|
shift in the twisted mass |
|
inverter precision used in the Metropolis test |
|
inverter precision used when calculating the force |
|
number of past solutions used in the chronological inverter |
|
integrator level where the monomial force is evaluated |
RHMC
The RHMC monomial uses a rational approximation to simulate an odd number of mass degenerate fermions.

Include this in the input file using the type rhmc. One further needs to specify numerator and denominator fractions in the rational approximation.
monomial {
id = 1
type = rhmc
mass = -0.750
n = 1
d = 2
mt_prec = 1e-14
md_prec = 1e-14
force_prec = 1e-14
level = 0
}
Variable |
Description |
|---|---|
|
unique monomial id |
|
monomial type |
|
bare fermion mass |
|
fraction numerator |
|
fraction denominator |
|
inverter precision used in the Metropolis test |
|
precision of the rational approximation |
|
inverter precision used when calculating the force |
|
integrator level where the monomial force is evaluated |
Chronological Inverter
When using the chronological inverter the force precision should be
or better to ensure reversibility in the algorithm. Further, masses given in monomials should include the mass shift.