16 #ifdef USE_PARAMETERS_FACTORY
29 #ifdef USE_PARAMETERS_FACTORY
55 for (
int site = 0; site <
Svol; ++site) {
56 for (
int cc = 0; cc <
m_Nc *
m_Nc; ++cc) {
82 for (
int cc = 0; cc <
m_Nc *
m_Nc; ++cc) {
106 for (
int site = 0; site <
Svol; ++site) {
107 for (
int cc = 0; cc < 2 *
m_Nc *
m_Nc; ++cc) {
128 for (
int mn = 0; mn < 3; ++mn) {
129 for (
int site = 0; site <
Svol; ++site) {
130 for (
int cc = 0; cc < 2 *
m_Nc *
m_Nc; ++cc) {
154 int ini =
Nx *
Ny *
Nz * t;
155 int fin =
Nx *
Ny *
Nz * (t + 1);
158 for (
int site = ini; site < fin; ++site) {
159 for (
int cc = 0; cc < 2 *
m_Nc *
m_Nc; ++cc) {
182 assert(f.
nex() == 1);
184 for (
int site = 0; site <
Svol; ++site) {
206 assert(f.
nex() == 1);
230 assert(f.
nex() == 1);
232 for (
int site = 0; site <
Svol; ++site) {
233 for (
int cc = 0; cc <
m_Nc *
m_Nc; ++cc) {
234 f.
set_ri(cc, site, mn, 0.0, 0.0);
254 assert(f.
nex() >= 3);
256 for (
int mn = 0; mn < 3; ++mn) {
257 for (
int site = 0; site <
Svol; ++site) {
258 for (
int cc = 0; cc <
m_Nc *
m_Nc; ++cc) {
259 f.
set_ri(cc, site, mn, 0.0, 0.0);
279 const std::valarray<double>& phipr)
284 for (
int i = 0; i < 3; ++i) {
286 aphipr[i] = phipr[i];
297 double c0r, c0i, c1r, c1i, c2r, c2i;
299 c0r = cos(phi[0] / Lx);
300 c0i = sin(phi[0] / Lx);
301 c1r = cos(phi[1] / Lx);
302 c1i = sin(phi[1] / Lx);
303 c2r = cos(phi[2] / Lx);
304 c2i = sin(phi[2] / Lx);
307 wk.
set(0, 0, c0r, c0i);
308 wk.
set(1, 1, c1r, c1i);
309 wk.
set(2, 2, c2r, c2i);
311 c0r = cos(phipr[0] / Lx);
312 c0i = sin(phipr[0] / Lx);
313 c1r = cos(phipr[1] / Lx);
314 c1i = sin(phipr[1] / Lx);
315 c2r = cos(phipr[2] / Lx);
316 c2i = sin(phipr[2] / Lx);
void set_boundary_zero()
Set the boundary matrix to 0 for SF bc.
void set_boundary_wkpr(const Mat_SU_N &U)
Set the boundary spatial link at t=Nt-1 for SF bc.
SU(N) gauge field class in which a few functions are added for the SF.
static int ipe(const int dir)
logical coordinate of current proc.
void mult_ct_boundary(int t, double ct)
Multiply the boundary improvement factor ct or ctr to an SU(N) matrix object which belongs to a site ...
void set_boundary_spatial_link_zero()
Set the boundary spatial link to 0 for SF bc.
void set_boundary_wk(const Mat_SU_N &U)
Set the boundary spatial link at t=0 for SF bc.
std::valarray< double > get_double_vector(const string &key) const
Mat_SU_N wk
SF boundary condition at t=0.
std::valarray< double > field
int m_Nc
number of color elements
void set_parameters(const Parameters_Field_G_SF ¶ms)
Set the parameter with Parameters_Field_G_SF class.
static bool Register(const std::string &realm, const creator_callback &cb)
int m_Nvol
number of sites
void Register_double(const string &, const double)
void set(int c, double re, const double &im)
void set_mat(const int site, const int mn, const Mat_SU_N &U)
int myindex(const int jin, const int site, const int jex) const
Mat_SU_N wkpr
SF boundary condition at t=Nt.
void set_ri(const int cc, const int site, const int mn, const double re, const double im)