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
fopr_Wilson_impl.h
Go to the documentation of this file.
1
14
#ifndef FOPR_WILSON_IMPL_INCLUDED
15
#define FOPR_WILSON_IMPL_INCLUDED
16
17
#include "
fopr_Wilson.h
"
18
19
#include "
gammaMatrixSet.h
"
20
#include "
shiftField_lex.h
"
21
22
#include "
mat_SU_N.h
"
23
#include "
vec_SU_N.h
"
24
25
#include "
bridgeIO.h
"
26
using
Bridge::vout
;
27
29
44
class
Fopr_Wilson::Fopr_Wilson_impl
45
{
46
public
:
47
48
Fopr_Wilson_impl
() {}
49
50
void
init
(std::string repr);
51
52
void
set_parameters
(
const
double
kappa,
const
std::valarray<int> bc);
53
54
void
set_config
(
Field
*U)
55
{
m_U
= (
Field_G
*)U; }
56
57
void
set_mode
(std::string mode);
58
59
std::string
get_mode
()
const
;
60
61
inline
void
mult
(
Field
& v,
const
Field
& f)
62
{ (this->*
m_mult
)(v, f); }
63
64
inline
void
mult_dag
(
Field
& v,
const
Field
& f)
65
{ (this->*
m_mult_dag
)(v, f); }
66
67
inline
void
mult_gm5
(
Field
& v,
const
Field
& f)
68
{ (this->*
m_gm5
)(v, f); }
69
70
inline
void
D
(
Field
& v,
const
Field
& f)
71
{ (this->*
m_D
)(v, f); }
72
73
inline
void
Ddag
(
Field
& w,
const
Field
& f)
74
{
75
Field
w2(f.
nin
(), f.
nvol
(), f.
nex
());
76
77
mult_gm5
(w, f);
78
D
(w2, w);
79
mult_gm5
(w, w2);
80
}
81
82
inline
void
DdagD
(
Field
& w,
const
Field
& f)
83
{
84
Field
w2(f.
nin
(), f.
nvol
(), f.
nex
());
85
86
D
(w2, f);
87
mult_gm5
(w, w2);
88
D
(w2, w);
89
mult_gm5
(w, w2);
90
}
91
92
inline
void
H
(
Field
& w,
const
Field
& f)
93
{
94
Field
w2(f.
nin
(), f.
nvol
(), f.
nex
());
95
96
D
(w2, f);
97
mult_gm5
(w, w2);
98
}
99
100
inline
void
mult_undef
(
Field
&,
const
Field
& f)
101
{
102
vout
.
crucial
(
m_vl
,
"Fopr_Wilson: mode undefined.\n"
);
103
abort();
104
}
105
106
const
Field_F
mult_gm5p
(
int
mu,
const
Field_F
& w);
107
108
void
mult_up
(
int
mu,
Field
& w,
const
Field
& f);
109
void
mult_dn
(
int
mu,
Field
& w,
const
Field
& f);
110
111
inline
void
fprop_normalize
(
Field
& v)
112
{ v *= (2.0 *
m_kappa
); }
113
114
inline
void
fopr_normalize
(
Field
& v)
115
{ v *= 1.0 / (2.0 *
m_kappa
); }
116
117
118
private
:
119
120
// prohibit copy
121
Fopr_Wilson_impl
(
const
Fopr_Wilson::Fopr_Wilson_impl
&) {}
122
Fopr_Wilson_impl
&
operator=
(
const
Fopr_Wilson::Fopr_Wilson_impl
&);
123
124
125
Bridge::VerboseLevel
m_vl
;
126
127
int
m_Nvol
;
128
int
m_Ndim
;
129
130
double
m_kappa
;
131
std::valarray<int>
m_boundary
;
132
133
std::string
m_mode
;
134
std::string
m_repr
;
135
136
void (
Fopr_Wilson::Fopr_Wilson_impl
::*
m_mult
) (
Field
&,
const
Field
&);
137
void (
Fopr_Wilson::Fopr_Wilson_impl
::*
m_mult_dag
) (
Field
&,
const
Field
&);
138
void (
Fopr_Wilson::Fopr_Wilson_impl
::*
m_D
) (
Field
&,
const
Field
&);
139
void (
Fopr_Wilson::Fopr_Wilson_impl
::*
m_gm5
) (
Field
&,
const
Field
&);
140
void (
Fopr_Wilson::Fopr_Wilson_impl
::*
m_mult_tp
) (
Field
&,
const
Field
&);
141
void (
Fopr_Wilson::Fopr_Wilson_impl
::*
m_mult_tm
) (
Field
&,
const
Field
&);
142
143
const
Field_G
*
m_U
;
144
145
std::valarray<GammaMatrix>
m_GM
;
146
147
// ShiftField_lex shift;
148
// Field_F trf, trf2;
149
150
void
D_chiral
(
Field
&,
const
Field
&);
151
void
D_dirac
(
Field
&,
const
Field
&);
152
void
gm5_chiral
(
Field
&,
const
Field
&);
153
void
gm5_dirac
(
Field
&,
const
Field
&);
154
155
void
mult_p
(
int
mu,
Field_F
&,
const
Field_F
&);
156
void
mult_m
(
int
mu,
Field_F
&,
const
Field_F
&);
157
158
void
mult_xp
(
Field
&,
const
Field
&);
159
void
mult_xm
(
Field
&,
const
Field
&);
160
void
mult_yp
(
Field
&,
const
Field
&);
161
void
mult_ym
(
Field
&,
const
Field
&);
162
void
mult_zp
(
Field
&,
const
Field
&);
163
void
mult_zm
(
Field
&,
const
Field
&);
164
165
void
mult_tp_dirac
(
Field
&,
const
Field
&);
166
void
mult_tm_dirac
(
Field
&,
const
Field
&);
167
void
mult_tp_chiral
(
Field
&,
const
Field
&);
168
void
mult_tm_chiral
(
Field
&,
const
Field
&);
169
};
170
#endif
src
Fopr
Imp
fopr_Wilson_impl.h
Generated on Tue Jul 23 2013 10:48:48 for Bridge++ by
1.8.3.1