@@ -17,84 +17,94 @@ polynomial.
17
17
------------------------------------
18
18
19
19
Well, this should be quite automatic. However, you need lapack and
20
- blas in order to build the phmc_tm executable. Make sure that you have
20
+ blas in order to build the executable. Make sure that you have
21
21
both available and configure/make the hmc code accordingly. If
22
- successful, you will find the executable phmc_tm in your build
22
+ successful, you will find the executable hmc_tm in your build
23
23
directory.
24
24
25
25
1. Setup the "hmc.input" file
26
26
------------------------------------
27
27
28
- Set the parameters for your desired simulation (only 2+1+1 specific parameters are
29
- discussed here) :
30
- hmc.input:
31
-
32
- # hopping parameter
33
- # set this to kappa_critical for maximum twist
34
- kappa = 0.1234
35
-
36
- # twisted mass, set this parameter to
37
- # 2*kappa*mu_desired
38
- # where mu_desired is the quark mass you want to simulate
39
- # in the LIGHT quark sector
40
- mu = 0.00005
41
-
42
- # twisted mass for the heavy sector
43
- # set this to the mean value of the mass of the HEAVY quarks
44
- # you want to simulate e.g. M_s=0.02 M_c=0.2 ==>
45
- PhmcMubar = 0.11
46
-
47
- # split of the mass in the HEAVY quark sector
48
- # set this to (M_c-M_s)/2
49
- # such that you get finally:
50
- # M_s=PhmcMubar - PhmcEpsbar
51
- # M_c=PhmcMubar + PhmcEpsbar
52
- PhmcEpsbar = 0.09
53
-
54
- # As we want to simulate "2+1+1" we have to say this to the program
55
- PhmcNoFlavours = 2+1+1
56
-
57
- # If you want to calculate the eigenvalues every n'th trajectory
58
- # then set this parameter to n if you want no eigenvalues set this to 0
59
- # during thermalization you should set this to 1 or 2 to follow the evolution
60
- # of smallest and largest eigenvalue to adjust the approximation interval
61
- # of the polynomial (see below)
62
- PhmcRecEVInterval = 1
63
-
64
- # Setting the polynomial parameters:
65
- # ---------------------------------
66
- # you should have a first estimate for the smallest and largest eigenvalue
67
- # of the HEAVY quark operator. as an estimate you can take
68
- # PhmcStildeMin = 2*(PhmcMubar^2-PhmcEpsbar^2) and
69
- # PhmcStildeMax = 1/2/sqrt(PhmcMubar^2 + PhmcEpsbar^2) (taken from
70
- # [1] )
71
- # set the following parameter to your estimate of the smallest eigenvalue
72
- PhmcStildeMin = 0.008
73
-
74
- # and this to an upper bound of all eigenvalues
75
- #
76
- PhmcStildeMax = 3.6
77
-
78
- # an estimate for the error of an approximation of 1/sqrt(x) by a chebycheff
79
- # polynomial is given by (found in [2]):
80
- # delta = 2*((1-sqrt(ratio))/(1+sqrt(ratio)))^(n+1)
81
- # where ratio = PhmcStildeMin/PhmcStildeMax
82
- # and "n" is the degree of the chebycheff polynomial
83
- # e.g.: if you take the values from above and want an delta of 0.0001
84
- # you have to set the degree to 104:
85
- PhmcDegreeOfP = 104
86
-
87
- # To make the calculation of the hamiltonian more precise the program uses
88
- # a second polynomial Ptilde.
89
- # with the following parameter you can adjust the
90
- # precision of the whole approximation of 1/sqrt(x)= Ptilde(x)*P(x)*(1+Rtilde(x))
91
- # with |Rtilde(x)| ~ PhmcPrecisionPtilde (see also [1])
92
-
93
- PhmcPrecisionPtilde = 1.0e-9
94
-
95
- # end of hmc.input
96
-
97
- Now you should have a proper hmc.input file
28
+ Set the parameters for your desired simulation (only 1+1 specific parameters are
29
+ discussed here) :
30
+ hmc.input:
31
+
32
+ # hopping parameter
33
+ # set this to kappa_critical for maximum twist
34
+ kappa = 0.1234
35
+
36
+ # twisted mass, set this parameter to
37
+ # 2*kappa*mu_desired
38
+ # where mu_desired is the quark mass you want to simulate
39
+ # in the LIGHT quark sector
40
+ mu = 0.00005
41
+
42
+ # twisted mass for the heavy sector
43
+ # set this to the mean value of the mass of the HEAVY quarks
44
+ # you want to simulate e.g. M_s=0.02 M_c=0.2 ==>
45
+ 2KappaMubar = 0.11
46
+
47
+ # split of the mass in the HEAVY quark sector
48
+ # set this to (M_c-M_s)/2
49
+ # such that you get finally:
50
+ # M_s=PhmcMubar - PhmcEpsbar
51
+ # M_c=PhmcMubar + PhmcEpsbar
52
+ 2KappaEpsbar = 0.09
53
+
54
+ # Setting the polynomial parameters:
55
+ # create a NDPOLY monomial first (see docu)
56
+ BeginMonomial NDPOLY
57
+
58
+ # If you want to calculate the eigenvalues every n'th trajectory
59
+ # then set this parameter to n if you want no eigenvalues set this to 0
60
+ # during thermalization you should set this to 1 or 2 to follow the evolution
61
+ # of smallest and largest eigenvalue to adjust the approximation interval
62
+ # of the polynomial (see below)
63
+ ComputeEVFreq = 1
64
+
65
+ # ---------------------------------
66
+ # you should have a first estimate for the smallest and largest eigenvalue
67
+ # of the HEAVY quark operator. as an estimate you can take
68
+ # StildeMin = 2*(PhmcMubar^2-PhmcEpsbar^2) and
69
+ # StildeMax = 1/2/sqrt(PhmcMubar^2 + PhmcEpsbar^2) (taken from
70
+ # [1] )
71
+ # set the following parameter to your estimate of the smallest eigenvalue
72
+ # or a little below
73
+ #
74
+ StildeMin = 0.008
75
+
76
+ # and this to an upper bound of all eigenvalues
77
+ #
78
+ StildeMax = 3.6
79
+
80
+ # an estimate for the error of an approximation of 1/sqrt(x) by a chebycheff
81
+ # polynomial is given by (found in [2]):
82
+ # delta = 2*((1-sqrt(ratio))/(1+sqrt(ratio)))^(n+1)
83
+ # where ratio = PhmcStildeMin/PhmcStildeMax
84
+ # and "n" is the degree of the chebycheff polynomial
85
+ # e.g.: if you take the values from above and want an delta of 0.0001
86
+ # you have to set the degree to 104:
87
+ DegreeOfMDPolynomial = 104
88
+
89
+ # To make the calculation of the hamiltonian more precise the program uses
90
+ # a second polynomial Ptilde.
91
+ # with the following parameter you can adjust the
92
+ # precision of the whole approximation of 1/sqrt(x)= Ptilde(x)*P(x)*(1+Rtilde(x))
93
+ # with |Rtilde(x)| ~ PhmcPrecisionPtilde (see also [1])
94
+
95
+ PrecisionPtilde = 1.0e-9
96
+
97
+ # and you have to specify on which timescale to integrate the 1+1 part
98
+ Timescale = 1
99
+
100
+ EndMonomial
101
+ # you will need other monomials and an integrator, see docu
102
+ # end of hmc.input
103
+
104
+ Now you should have a proper hmc.input file. For a complete example
105
+ see the file
106
+ hmc/sample-input/sample-hmc2.input
107
+ and the comments therein.
98
108
99
109
2. Creating a polynomial
100
110
-----------------------------------
@@ -146,11 +156,11 @@ During the thermalization you should keep track of the lowest and largest
146
156
eigenvalue. this can be done by filtering the job output file.
147
157
cat job.12345.out|grep -A6 LAMBDA
148
158
. Alternating you get the (actually) four smallest and four largest
149
- eigenvalues normalized to the value of PhmcStildeMax you set in
159
+ eigenvalues normalized to the value of StildeMax you set in
150
160
hmc.input file. To get the unscaled eigenvalue you have to multiply the
151
- values by PhmcStildeMax .
161
+ values by StildeMax .
152
162
If the eigenvalues you measured are outside the approximation interval
153
- [PhmcStildeMin,PhmcStildeMax ] you have to re-adjust these values (in hmc.input) and
163
+ [StildeMin, StildeMax ] you have to re-adjust these values (in hmc.input) and
154
164
also regenerate the files
155
165
156
166
Square_root_BR_roots.dat
0 commit comments