Bridge++  Ver. 2.0.2
shiftField_eo.h
Go to the documentation of this file.
1 
14 #ifndef SHIFTFIELD_EO_INCLUDED
15 #define SHIFTFIELD_EO_INCLUDED
16 
17 #include <iostream>
18 
19 #include "field.h"
20 #include "index_eo.h"
21 
22 #include "IO/bridgeIO.h"
23 using Bridge::vout;
24 
26 
50  public:
51  static const std::string class_name;
52 
53  private:
54  int m_Nin;
55  int m_Nx, m_Ny, m_Nz, m_Nt;
56  int m_Nvol;
57  int m_Nx2, m_Nvol2;
58 
60 
62 
63  std::vector<int> m_yzt_eo;
64 
69 
73 
74  public:
75 
76  ShiftField_eo(const int Nin) { init(Nin); }
77 
79 
80  private:
81  // non-copyable
84 
85  public:
86  // forward shift (mu: direction, ieo = 0: even<-odd, 1: odd<-even)
87  void forward_h(Field&, const Field&, const int mu, const int ieo);
88 
89  // backward shift (mu: direction, ieo = 0: even<-odd, 1: odd<-even)
90  void backward_h(Field&, const Field&, const int mu, const int ieo);
91 
92  // forward shift with boundary condition
93  void forward_h(Field&, const Field&, const int boundary_condition,
94  const int mu, const int ieo);
95 
96  // backward shift with boundary condition
97  void backward_h(Field&, const Field&, const int boundary_condition,
98  const int mu, const int ieo);
99 
100  void forward(Field&, const Field&, const int mu);
101  void backward(Field&, const Field&, const int mu);
102 
103  void forward(Field&, const Field&,
104  const int boundary_condition, const int mu);
105  void backward(Field&, const Field&,
106  const int boundary_condition, const int mu);
107 
108  private:
109 
110  void init(const int Nin = 0);
111 
112  void up_xh(Field&, const Field&, const int, const int);
113  void up_yh(Field&, const Field&, const int, const int);
114  void up_zh(Field&, const Field&, const int, const int);
115  void up_th(Field&, const Field&, const int, const int);
116 
117  void dn_xh(Field&, const Field&, const int, const int);
118  void dn_yh(Field&, const Field&, const int, const int);
119  void dn_zh(Field&, const Field&, const int, const int);
120  void dn_th(Field&, const Field&, const int, const int);
121 };
122 #endif
ShiftField_eo::dn_th
void dn_th(Field &, const Field &, const int, const int)
Definition: shiftField_eo.cpp:912
ShiftField_eo::forward_h
void forward_h(Field &, const Field &, const int mu, const int ieo)
Definition: shiftField_eo.cpp:109
ShiftField_eo::forward
void forward(Field &, const Field &, const int mu)
Definition: shiftField_eo.cpp:175
bridgeIO.h
ShiftField_eo::m_Nx2
int m_Nx2
Definition: shiftField_eo.h:57
ShiftField_eo
Methods to shift the even-odd field.
Definition: shiftField_eo.h:49
ShiftField_eo::m_Nt
int m_Nt
Definition: shiftField_eo.h:55
ShiftField_eo::m_Nin
int m_Nin
Definition: shiftField_eo.h:54
ShiftField_eo::m_wt_x
Field m_wt_x
Definition: shiftField_eo.h:65
ShiftField_eo::m_vo
Field m_vo
working field (even/odd)
Definition: shiftField_eo.h:71
ShiftField_eo::m_vl
Bridge::VerboseLevel m_vl
Definition: shiftField_eo.h:61
ShiftField_eo::dn_zh
void dn_zh(Field &, const Field &, const int, const int)
Definition: shiftField_eo.cpp:732
ShiftField_eo::m_w1
Field m_w1
working field (lexical)
Definition: shiftField_eo.h:72
Index_eo
Even-odd site index.
Definition: index_eo.h:44
ShiftField_eo::m_vt_y
Field m_vt_y
comm. buffer in y-direction
Definition: shiftField_eo.h:66
ShiftField_eo::up_yh
void up_yh(Field &, const Field &, const int, const int)
Definition: shiftField_eo.cpp:457
ShiftField_eo::up_th
void up_th(Field &, const Field &, const int, const int)
Definition: shiftField_eo.cpp:825
ShiftField_eo::ShiftField_eo
ShiftField_eo()
Definition: shiftField_eo.h:78
ShiftField_eo::up_xh
void up_xh(Field &, const Field &, const int, const int)
Definition: shiftField_eo.cpp:277
ShiftField_eo::m_wt_t
Field m_wt_t
Definition: shiftField_eo.h:68
ShiftField_eo::init
void init(const int Nin=0)
Definition: shiftField_eo.cpp:21
ShiftField_eo::dn_yh
void dn_yh(Field &, const Field &, const int, const int)
Definition: shiftField_eo.cpp:548
ShiftField_eo::operator=
ShiftField_eo & operator=(const ShiftField_eo &)
ShiftField_eo::class_name
static const std::string class_name
Definition: shiftField_eo.h:51
ShiftField_eo::m_ve
Field m_ve
Definition: shiftField_eo.h:71
ShiftField_eo::m_vt_t
Field m_vt_t
comm. buffer in t-direction
Definition: shiftField_eo.h:68
ShiftField_eo::m_index_eo
Index_eo m_index_eo
Definition: shiftField_eo.h:59
ShiftField_eo::m_wo
Field m_wo
working field (even/odd)
Definition: shiftField_eo.h:70
ShiftField_eo::m_vt_x
Field m_vt_x
comm. buffer in x-direction
Definition: shiftField_eo.h:65
ShiftField_eo::ShiftField_eo
ShiftField_eo(const int Nin)
Definition: shiftField_eo.h:76
ShiftField_eo::backward_h
void backward_h(Field &, const Field &, const int mu, const int ieo)
Definition: shiftField_eo.cpp:88
ShiftField_eo::up_zh
void up_zh(Field &, const Field &, const int, const int)
Definition: shiftField_eo.cpp:639
field.h
ShiftField_eo::m_wt_y
Field m_wt_y
Definition: shiftField_eo.h:66
ShiftField_eo::m_Ny
int m_Ny
Definition: shiftField_eo.h:55
ShiftField_eo::m_vt_z
Field m_vt_z
comm. buffer in z-direction
Definition: shiftField_eo.h:67
ShiftField_eo::m_Nvol2
int m_Nvol2
Definition: shiftField_eo.h:57
ShiftField_eo::dn_xh
void dn_xh(Field &, const Field &, const int, const int)
Definition: shiftField_eo.cpp:367
index_eo.h
ShiftField_eo::backward
void backward(Field &, const Field &, const int mu)
Definition: shiftField_eo.cpp:168
ShiftField_eo::m_Nz
int m_Nz
Definition: shiftField_eo.h:55
ShiftField_eo::m_we
Field m_we
Definition: shiftField_eo.h:70
Field
Container of Field-type object.
Definition: field.h:46
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:42
ShiftField_eo::m_Nvol
int m_Nvol
Definition: shiftField_eo.h:56
ShiftField_eo::m_Nx
int m_Nx
Definition: shiftField_eo.h:55
ShiftField_eo::m_yzt_eo
std::vector< int > m_yzt_eo
Definition: shiftField_eo.h:63
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512
ShiftField_eo::m_wt_z
Field m_wt_z
Definition: shiftField_eo.h:67