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
field_G_SF.h
Go to the documentation of this file.
1
15
#ifndef FIELD_G_SF_INCLUDED
16
#define FIELD_G_SF_INCLUDED
17
18
#include "
parameters.h
"
19
#include "
field_G.h
"
20
22
32
//- parameters class
34
class
Parameters_Field_G_SF
:
virtual
public
Parameters
35
{
36
public
:
37
Parameters_Field_G_SF
();
38
};
39
//- end
40
41
class
Field_G_SF
:
public
Field_G
42
{
43
private
:
45
int
m_Nc
;
47
int
m_Ndf
;
49
int
m_Nvol
;
51
int
m_Nex
;
52
53
int
Nx
,
Ny
,
Nz
,
Nt
,
Svol
;
54
int
NPEt
;
55
57
Mat_SU_N
wk
;
59
Mat_SU_N
wkpr
;
60
61
public
:
62
63
// Field_G_SF(){}
64
Field_G_SF
(
const
int
Nvol =
CommonParameters::Nvol
(),
const
int
Nex = 1) :
65
m_Nc
(
CommonParameters
::Nc()),
m_Nvol
(Nvol),
m_Nex
(Nex),
66
wk
(
m_Nc
),
wkpr
(
m_Nc
)
67
{
68
Nx
=
CommonParameters::Nx
();
69
Ny
=
CommonParameters::Ny
();
70
Nz
=
CommonParameters::Nz
();
71
Nt
=
CommonParameters::Nt
();
72
NPEt
=
CommonParameters::NPEt
();
73
Svol
=
Nx
*
Ny
*
Nz
;
74
m_Ndf
= 2 *
m_Nc
*
m_Nc
;
75
Field::reset
(
m_Ndf
,
m_Nvol
,
m_Nex
);
76
}
77
78
Field_G_SF
(
const
Field
& x) :
79
Field_G
(x),
80
m_Nc
(
CommonParameters
::Nc()),
m_Ndf
(x.
nin
()),
m_Nvol
(x.
nvol
()),
m_Nex
(x.
nex
()),
81
wk
(
m_Nc
),
wkpr
(
m_Nc
)
82
{
83
assert(
m_Ndf
== 2 *
m_Nc
*
m_Nc
);
84
Nx
=
CommonParameters::Nx
();
85
Ny
=
CommonParameters::Ny
();
86
Nz
=
CommonParameters::Nz
();
87
Nt
=
CommonParameters::Nt
();
88
NPEt
=
CommonParameters::NPEt
();
89
Svol
=
Nx
*
Ny
*
Nz
;
90
}
91
92
Field_G_SF
(
double
*phi,
double
*phipr) :
93
m_Nc
(
CommonParameters
::Nc()),
wk
(
m_Nc
),
wkpr
(
m_Nc
)
94
{
95
int
Lx =
CommonParameters::Lx
();
96
97
m_Nex
= 1;
98
m_Nvol
=
CommonParameters::Nvol
();
99
Nx
=
CommonParameters::Nx
();
100
Ny
=
CommonParameters::Ny
();
101
Nz
=
CommonParameters::Nz
();
102
Nt
=
CommonParameters::Nt
();
103
NPEt
=
CommonParameters::NPEt
();
104
Svol
=
Nx
*
Ny
*
Nz
;
105
m_Ndf
= 2 *
m_Nc
*
m_Nc
;
106
107
double
c0r, c0i, c1r, c1i, c2r, c2i;
108
c0r = cos(phi[0] / Lx);
109
c0i = sin(phi[0] / Lx);
110
c1r = cos(phi[1] / Lx);
111
c1i = sin(phi[1] / Lx);
112
c2r = cos(phi[2] / Lx);
113
c2i = sin(phi[2] / Lx);
114
wk
.
zero
();
115
wk
.
set
(0, 0, c0r, c0i);
116
wk
.
set
(1, 1, c1r, c1i);
117
wk
.
set
(2, 2, c2r, c2i);
118
119
c0r = cos(phipr[0] / Lx);
120
c0i = sin(phipr[0] / Lx);
121
c1r = cos(phipr[1] / Lx);
122
c1i = sin(phipr[1] / Lx);
123
c2r = cos(phipr[2] / Lx);
124
c2i = sin(phipr[2] / Lx);
125
wkpr
.
zero
();
126
wkpr
.
set
(0, 0, c0r, c0i);
127
wkpr
.
set
(1, 1, c1r, c1i);
128
wkpr
.
set
(2, 2, c2r, c2i);
129
}
130
132
void
set_parameters
(
const
Parameters_Field_G_SF
& params);
133
135
void
set_parameters
(
const
std::valarray<double>& phi,
136
const
std::valarray<double>& phipr);
137
139
void
set_parameters
(
double
*phi,
double
*phipr);
140
142
void
set_boundary_wk
(
const
Mat_SU_N
& U);
143
145
void
set_boundary_wkpr
(
const
Mat_SU_N
& U);
146
148
void
set_boundary_zero
();
149
151
void
set_boundary_spatial_link_zero
();
152
154
void
mult_ct_boundary
(
int
t,
double
ct);
155
156
158
void
set_boundary_wk
(
Field_G
& f);
159
161
void
set_boundary_wkpr
(
Field_G
& f);
162
164
void
set_boundary_zero
(
Field_G
& f);
165
167
void
set_boundary_spatial_link_zero
(
Field_G
& f);
168
};
169
#endif
src
Field
field_G_SF.h
Generated on Tue Jul 23 2013 10:48:48 for Bridge++ by
1.8.3.1