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);
53
void
set_parameters
(
const
double
kappa,
const
std::valarray<int> bc);
54
55
void
set_config
(
Field
*U)
56
{
m_U
= (
Field_G
*)U; }
57
58
void
set_mode
(std::string mode);
59
60
std::string
get_mode
()
const
;
61
62
inline
void
mult
(
Field
& v,
const
Field
& f)
63
{ (this->*
m_mult
)(v, f); }
64
65
inline
void
mult_dag
(
Field
& v,
const
Field
& f)
66
{ (this->*
m_mult_dag
)(v, f); }
67
68
void
mult_gm5
(
Field
& v,
const
Field
& f);
69
70
void
D
(
Field
& v,
const
Field
& f);
71
72
inline
void
Ddag
(
Field
& w,
const
Field
& f)
73
{
74
Field
w2(f.
nin
(), f.
nvol
(), f.
nex
());
75
76
mult_gm5
(w, f);
77
D
(w2, w);
78
mult_gm5
(w, w2);
79
}
80
81
inline
void
DdagD
(
Field
& w,
const
Field
& f)
82
{
83
Field
w2(f.
nin
(), f.
nvol
(), f.
nex
());
84
85
D
(w2, f);
86
mult_gm5
(w, w2);
87
D
(w2, w);
88
mult_gm5
(w, w2);
89
}
90
91
inline
void
H
(
Field
& w,
const
Field
& f)
92
{
93
Field
w2(f.
nin
(), f.
nvol
(), f.
nex
());
94
95
D
(w2, f);
96
mult_gm5
(w, w2);
97
}
98
99
inline
void
mult_undef
(
Field
&,
const
Field
& f)
100
{
101
vout
.
crucial
(
m_vl
,
"Fopr_Wilson: mode undefined.\n"
);
102
abort();
103
}
104
105
const
Field_F
mult_gm5p
(
int
mu,
const
Field_F
& w);
106
107
void
mult_up
(
int
mu,
Field
& w,
const
Field
& f);
108
void
mult_dn
(
int
mu,
Field
& w,
const
Field
& f);
109
110
inline
void
fprop_normalize
(
Field
& v)
111
{ v *= (2.0 *
m_kappa
); }
112
113
inline
void
fopr_normalize
(
Field
& v)
114
{ v *= 1.0 / (2.0 *
m_kappa
); }
115
116
117
private
:
118
//- prohibit copy
119
Fopr_Wilson_impl
(
const
Fopr_Wilson::Fopr_Wilson_impl
&) {}
120
Fopr_Wilson_impl
&
operator=
(
const
Fopr_Wilson::Fopr_Wilson_impl
&);
121
122
123
Bridge::VerboseLevel
m_vl
;
124
125
int
m_Nvol
;
126
int
m_Ndim
;
127
128
double
m_kappa
;
129
std::valarray<int>
m_boundary
;
130
131
std::string
m_mode
;
132
std::string
m_repr
;
133
134
void (
Fopr_Wilson::Fopr_Wilson_impl
::*
m_mult
) (
Field
&,
const
Field
&);
135
void (
Fopr_Wilson::Fopr_Wilson_impl
::*
m_mult_dag
) (
Field
&,
const
Field
&);
136
137
const
Field_G
*
m_U
;
138
139
std::valarray<GammaMatrix>
m_GM
;
140
141
ShiftField_lex
shift
;
142
Field_F
trf
,
trf2
;
143
144
// void mult_p (int mu, Field_F&, const Field_F&);
145
// void mult_m (int mu, Field_F&, const Field_F&);
146
};
147
#endif
src
Fopr
Org
fopr_Wilson_impl.h
Generated on Tue Jul 23 2013 10:48:48 for Bridge++ by
1.8.3.1