Bridge++
Ver. 1.1.x
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
gaugeFixing_Landau.h
Go to the documentation of this file.
1
14
#ifndef GAUGEFIXING_LANDAU_INCLUDED
15
#define GAUGEFIXING_LANDAU_INCLUDED
16
17
#include "
gaugeFixing.h
"
18
19
#include "
index_eo.h
"
20
#include "
shiftField_eo.h
"
21
22
#include "
randomNumbers.h
"
23
24
#include "
bridgeIO.h
"
25
using
Bridge::vout
;
26
27
//- parameters class
28
class
Parameters_GaugeFixing_Landau
:
virtual
public
Parameters
29
{
30
public
:
31
Parameters_GaugeFixing_Landau
();
32
};
33
//- end
34
36
37
/*
38
This class fix the gauge of configuration to the Landau gauge.
39
The algorithm is that developed by the Los Alamos group [see the
40
implementation note].
41
Overrelaxation is incorporated.
42
To escape the Gribov copy, if convergence is not reached within
43
the iterations specified by Nreset, random gauge transformation
44
is performed to reset the configuration.
45
This is the reason that random number generator is needed at the
46
construction of this class.
47
48
The implementation is not complete:
49
- only applies to SU(3) case: because of specific implementation
50
of maxTr function (Cabibbo-Marinari maximization).
51
This should be improved in the version beyond test phase.
52
[16 Feb 2012 H.Matsufuru]
53
(Coding history will be recovered from trac.)
54
YAML is implemented. [14 Nov 2012 Y.Namekawa]
55
*/
56
57
class
GaugeFixing_Landau
:
public
GaugeFixing
58
{
59
private
:
60
61
int
m_Niter
;
// max iteration number
62
int
m_Nnaive
;
// number of naive iterations
63
int
m_Nmeas
;
// interval of measurements
64
int
m_Nreset
;
// Number of iteration to reset the config.
65
double
m_Enorm
;
// convergence criterion
66
double
m_wp
;
// overrelaxation parameter
67
RandomNumbers
*
m_rand
;
68
Index_eo
m_index
;
69
70
public
:
71
72
GaugeFixing_Landau
(
RandomNumbers
*rand)
73
:
GaugeFixing
(),
m_Niter
(0),
m_rand
(rand) {}
74
75
~GaugeFixing_Landau
() {}
76
77
void
set_parameters
(
const
Parameters
& params);
78
void
set_parameters
(
int
Niter,
int
Nnaive,
int
Nmeas,
79
int
Nreset,
double
Enorm,
double
wp);
80
81
void
fix
(
Field_G
& Ufix,
const
Field_G
& Uorg);
82
83
void
gauge_trans_eo
(
Field_G
& Ue,
Field_G
& Uo,
Field_G
& Geo,
int
Ieo);
84
85
void
set_randomGaugeTrans
(
Field_G
& Geo);
86
88
void
gfix_step
(
Field_G
& Ue,
Field_G
& Uo,
double
wp);
89
90
void
calc_SG
(
double
& sg,
double
& Fval,
Field_G
& Ue,
Field_G
& Uo);
91
void
calc_W
(
Field_G
& Weo,
Field_G
& Ue,
Field_G
& Uo,
int
Ieo);
92
void
calc_DLT
(
Field_G
& Weo,
Field_G
& Ue,
Field_G
& Uo,
int
Ieo);
93
94
void
maxTr
(
Field_G
&,
Field_G
&);
95
void
maxTr1
(
Field_G
&,
Field_G
&);
96
void
maxTr2
(
Field_G
&,
Field_G
&);
97
void
maxTr3
(
Field_G
&,
Field_G
&);
98
};
99
#endif
src
Measurements
Gauge
gaugeFixing_Landau.h
Generated on Tue Jul 23 2013 10:48:49 for Bridge++ by
1.8.3.1