Bridge++  Ver.2.1.3
ShiftAField_lex< AFIELD > Class Template Reference

Shift of a field in the lexical site index. More...

#include <shiftAField_lex.h>

Public Types

typedef AFIELD::real_t real_t
 
typedef AFIELD::real_t real_t
 

Public Member Functions

 ShiftAField_lex (int nin)
 
 ShiftAField_lex (int nin, std::vector< int > &bc)
 
 ~ShiftAField_lex ()
 
void forward (AFIELD &, const AFIELD &, const int mu)
 
void backward (AFIELD &, const AFIELD &, const int mu)
 
void forward (AFIELD &, const int, const AFIELD &, const int, const int mu)
 
void backward (AFIELD &, const int, const AFIELD &, const int, const int mu)
 
 ShiftAField_lex (int nin)
 
 ShiftAField_lex (int nin, std::vector< int > &bc)
 
 ~ShiftAField_lex ()
 
void forward (AFIELD &, const AFIELD &, const int mu)
 
void backward (AFIELD &, const AFIELD &, const int mu)
 
void forward (AFIELD &, const int, const AFIELD &, const int, const int mu)
 
void backward (AFIELD &, const int, const AFIELD &, const int, const int mu)
 
const std::string class_name
 
const std::string class_name
 
const std::string class_name
 

Static Public Attributes

static const std::string class_name
 

Private Types

using Channel = Channel_impl< std::allocator< real_t > >
 
using allocator_t = typename AFIELD::template aligned_allocator< char >
 
using Channel = Channel_impl< allocator_t >
 

Private Member Functions

 ShiftAField_lex (const ShiftAField_lex &)
 
ShiftAField_lex & operator= (const ShiftAField_lex &)
 
void setup_channels ()
 setup channels for communication. More...
 
void init (int Nin)
 
void init (int Nin, std::vector< int > &bc)
 
void tidyup ()
 
void up_x (real_t *, real_t *)
 
void up_y (real_t *, real_t *)
 
void up_z (real_t *, real_t *)
 
void up_t (real_t *, real_t *)
 
void dn_x (real_t *, real_t *)
 
void dn_y (real_t *, real_t *)
 
void dn_z (real_t *, real_t *)
 
void dn_t (real_t *, real_t *)
 
 ShiftAField_lex (const ShiftAField_lex &)
 
ShiftAField_lex & operator= (const ShiftAField_lex &)
 
void setup_channels ()
 setup channels for communication. More...
 
void init (int Nin)
 
void init (int Nin, std::vector< int > &bc)
 
void tidyup ()
 
void up_x (real_t *, real_t *)
 
void up_y (real_t *, real_t *)
 
void up_z (real_t *, real_t *)
 
void up_t (real_t *, real_t *)
 
void dn_x (real_t *, real_t *)
 
void dn_y (real_t *, real_t *)
 
void dn_z (real_t *, real_t *)
 
void dn_t (real_t *, real_t *)
 
void up_x_nv (real_t *, real_t *)
 
void up_y_nv (real_t *, real_t *)
 
void up_z_nv (real_t *, real_t *)
 
void up_t_nv (real_t *, real_t *)
 
void dn_x_nv (real_t *, real_t *)
 
void dn_y_nv (real_t *, real_t *)
 
void dn_z_nv (real_t *, real_t *)
 
void dn_t_nv (real_t *, real_t *)
 

Private Attributes

int m_Nin
 internal degree of freedom. More...
 
int m_Nvol
 
int m_Ndim
 
int m_Nx
 
int m_Ny
 
int m_Nz
 
int m_Nt
 
int m_Nxv
 
int m_Nstv
 
std::vector< int > m_boundary
 
Bridge::VerboseLevel m_vl
 
int do_comm [4]
 
int do_comm_any
 
int m_Nsize [4]
 
int m_bc [4]
 
int m_bc2 [4]
 
std::vector< int > m_Nbdsize
 
std::vector< Channel > chsend_up
 
std::vector< Channel > chrecv_up
 
std::vector< Channel > chsend_dn
 
std::vector< Channel > chrecv_dn
 
ChannelSet chset_send
 
ChannelSet chset_recv
 
int m_Nyv
 

Detailed Description

template<typename AFIELD>
class ShiftAField_lex< AFIELD >

Shift of a field in the lexical site index.

Methods to shift a field in the lexical site index.

This class is an Accel version of the ShiftField in the Bridge core libirary. [08 Aug 2025 H.Matsufuru]

This template class is an alternative to the ShiftField class in the core libirary. This implementation assumes the QXS site oerdering. [29 Aug 2021 H.Matsufuru]

Uses aligned channel. [5 May 2022 I.anamori]

Definition at line 28 of file shiftAField_lex.h.

Member Typedef Documentation

◆ allocator_t

template<typename AFIELD >
using ShiftAField_lex< AFIELD >::allocator_t = typename AFIELD::template aligned_allocator<char>
private

Definition at line 51 of file shiftAField_lex.h.

◆ Channel [1/2]

template<typename AFIELD >
using ShiftAField_lex< AFIELD >::Channel = Channel_impl<std::allocator<real_t> >
private

Definition at line 51 of file shiftAField_lex.h.

◆ Channel [2/2]

template<typename AFIELD >
using ShiftAField_lex< AFIELD >::Channel = Channel_impl<allocator_t>
private

Definition at line 52 of file shiftAField_lex.h.

◆ real_t [1/2]

template<typename AFIELD >
typedef AFIELD::real_t ShiftAField_lex< AFIELD >::real_t

Definition at line 31 of file shiftAField_lex.h.

◆ real_t [2/2]

template<typename AFIELD >
typedef AFIELD::real_t ShiftAField_lex< AFIELD >::real_t

Definition at line 35 of file shiftAField_lex.h.

Constructor & Destructor Documentation

◆ ShiftAField_lex() [1/6]

template<typename AFIELD >
ShiftAField_lex< AFIELD >::ShiftAField_lex ( int  nin)
inline

Definition at line 56 of file shiftAField_lex.h.

◆ ShiftAField_lex() [2/6]

template<typename AFIELD >
ShiftAField_lex< AFIELD >::ShiftAField_lex ( int  nin,
std::vector< int > &  bc 
)
inline

Definition at line 58 of file shiftAField_lex.h.

◆ ~ShiftAField_lex() [1/2]

template<typename AFIELD >
ShiftAField_lex< AFIELD >::~ShiftAField_lex ( )
inline

Definition at line 61 of file shiftAField_lex.h.

◆ ShiftAField_lex() [3/6]

template<typename AFIELD >
ShiftAField_lex< AFIELD >::ShiftAField_lex ( const ShiftAField_lex< AFIELD > &  )
private

◆ ShiftAField_lex() [4/6]

template<typename AFIELD >
ShiftAField_lex< AFIELD >::ShiftAField_lex ( int  nin)
inline

Definition at line 57 of file shiftAField_lex.h.

◆ ShiftAField_lex() [5/6]

template<typename AFIELD >
ShiftAField_lex< AFIELD >::ShiftAField_lex ( int  nin,
std::vector< int > &  bc 
)
inline

Definition at line 59 of file shiftAField_lex.h.

◆ ~ShiftAField_lex() [2/2]

template<typename AFIELD >
ShiftAField_lex< AFIELD >::~ShiftAField_lex ( )
inline

Definition at line 62 of file shiftAField_lex.h.

◆ ShiftAField_lex() [6/6]

template<typename AFIELD >
ShiftAField_lex< AFIELD >::ShiftAField_lex ( const ShiftAField_lex< AFIELD > &  )
private

Member Function Documentation

◆ backward() [1/4]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::backward ( AFIELD &  v,
const AFIELD &  w,
const int  mu 
)

Definition at line 173 of file shiftAField_lex-tmpl.h.

◆ backward() [2/4]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::backward ( AFIELD &  ,
const AFIELD &  ,
const int  mu 
)

◆ backward() [3/4]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::backward ( AFIELD &  v,
const int  ex1,
const AFIELD &  w,
const int  ex2,
const int  mu 
)

Definition at line 207 of file shiftAField_lex-tmpl.h.

◆ backward() [4/4]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::backward ( AFIELD &  ,
const int  ,
const AFIELD &  ,
const int  ,
const int  mu 
)

◆ class_name() [1/3]

const std::string ShiftAField_lex< AField< float, ACCEL > >::class_name

Definition at line 34 of file shiftAField_lex_float.cpp.

◆ class_name() [2/3]

const std::string ShiftAField_lex< AField< float, QXS > >::class_name

Definition at line 41 of file shiftAField_lex_float.cpp.

◆ class_name() [3/3]

const std::string ShiftAField_lex< AField< double, QXS > >::class_name

Definition at line 41 of file shiftAField_lex_double.cpp.

◆ dn_t() [1/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::dn_t ( real_t *  ,
real_t *   
)
private

◆ dn_t() [2/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::dn_t ( real_t *  v2,
real_t *  v1 
)
private

Definition at line 548 of file shiftAField_lex-tmpl.h.

◆ dn_t_nv()

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::dn_t_nv ( real_t *  vp,
real_t *  wp 
)
private

Definition at line 1638 of file shiftAField_lex-tmpl.h.

◆ dn_x() [1/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::dn_x ( real_t *  ,
real_t *   
)
private

◆ dn_x() [2/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::dn_x ( real_t *  v2,
real_t *  v1 
)
private

Definition at line 343 of file shiftAField_lex-tmpl.h.

◆ dn_x_nv()

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::dn_x_nv ( real_t *  vp,
real_t *  wp 
)
private

Definition at line 558 of file shiftAField_lex-tmpl.h.

◆ dn_y() [1/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::dn_y ( real_t *  ,
real_t *   
)
private

◆ dn_y() [2/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::dn_y ( real_t *  v2,
real_t *  v1 
)
private

Definition at line 411 of file shiftAField_lex-tmpl.h.

◆ dn_y_nv()

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::dn_y_nv ( real_t *  vp,
real_t *  wp 
)
private

Definition at line 901 of file shiftAField_lex-tmpl.h.

◆ dn_z() [1/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::dn_z ( real_t *  ,
real_t *   
)
private

◆ dn_z() [2/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::dn_z ( real_t *  v2,
real_t *  v1 
)
private

Definition at line 480 of file shiftAField_lex-tmpl.h.

◆ dn_z_nv()

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::dn_z_nv ( real_t *  vp,
real_t *  wp 
)
private

Definition at line 1274 of file shiftAField_lex-tmpl.h.

◆ forward() [1/4]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::forward ( AFIELD &  ,
const AFIELD &  ,
const int  mu 
)

◆ forward() [2/4]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::forward ( AFIELD &  v,
const AFIELD &  w,
const int  mu 
)

Definition at line 241 of file shiftAField_lex-tmpl.h.

◆ forward() [3/4]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::forward ( AFIELD &  v,
const int  ex1,
const AFIELD &  w,
const int  ex2,
const int  mu 
)

Definition at line 275 of file shiftAField_lex-tmpl.h.

◆ forward() [4/4]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::forward ( AFIELD &  ,
const int  ,
const AFIELD &  ,
const int  ,
const int  mu 
)

◆ init() [1/4]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::init ( int  Nin)
private

◆ init() [2/4]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::init ( int  Nin)
private

Definition at line 14 of file shiftAField_lex-tmpl.h.

◆ init() [3/4]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::init ( int  Nin,
std::vector< int > &  bc 
)
private

Definition at line 26 of file shiftAField_lex-tmpl.h.

◆ init() [4/4]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::init ( int  Nin,
std::vector< int > &  bc 
)
private

◆ operator=() [1/2]

template<typename AFIELD >
ShiftAField_lex& ShiftAField_lex< AFIELD >::operator= ( const ShiftAField_lex< AFIELD > &  )
private

◆ operator=() [2/2]

template<typename AFIELD >
ShiftAField_lex& ShiftAField_lex< AFIELD >::operator= ( const ShiftAField_lex< AFIELD > &  )
private

◆ setup_channels() [1/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::setup_channels ( )
private

setup channels for communication.

◆ setup_channels() [2/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::setup_channels
private

setup channels for communication.

Definition at line 123 of file shiftAField_lex-tmpl.h.

◆ tidyup() [1/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::tidyup ( )
private

◆ tidyup() [2/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::tidyup
private

Definition at line 97 of file shiftAField_lex-tmpl.h.

◆ up_t() [1/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::up_t ( real_t *  ,
real_t *   
)
private

◆ up_t() [2/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::up_t ( real_t *  v2,
real_t *  v1 
)
private

Definition at line 514 of file shiftAField_lex-tmpl.h.

◆ up_t_nv()

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::up_t_nv ( real_t *  vp,
real_t *  wp 
)
private

Definition at line 1460 of file shiftAField_lex-tmpl.h.

◆ up_x() [1/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::up_x ( real_t *  ,
real_t *   
)
private

◆ up_x() [2/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::up_x ( real_t *  v2,
real_t *  v1 
)
private

Definition at line 309 of file shiftAField_lex-tmpl.h.

◆ up_x_nv()

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::up_x_nv ( real_t *  vp,
real_t *  wp 
)
private

Definition at line 383 of file shiftAField_lex-tmpl.h.

◆ up_y() [1/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::up_y ( real_t *  ,
real_t *   
)
private

◆ up_y() [2/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::up_y ( real_t *  v2,
real_t *  v1 
)
private

Definition at line 377 of file shiftAField_lex-tmpl.h.

◆ up_y_nv()

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::up_y_nv ( real_t *  vp,
real_t *  wp 
)
private

Definition at line 718 of file shiftAField_lex-tmpl.h.

◆ up_z() [1/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::up_z ( real_t *  ,
real_t *   
)
private

◆ up_z() [2/2]

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::up_z ( real_t *  v2,
real_t *  v1 
)
private

Definition at line 446 of file shiftAField_lex-tmpl.h.

◆ up_z_nv()

template<typename AFIELD >
void ShiftAField_lex< AFIELD >::up_z_nv ( real_t *  vp,
real_t *  wp 
)
private

Definition at line 1089 of file shiftAField_lex-tmpl.h.

Member Data Documentation

◆ chrecv_dn

template<typename AFIELD >
std::vector< Channel > ShiftAField_lex< AFIELD >::chrecv_dn
private

Definition at line 52 of file shiftAField_lex.h.

◆ chrecv_up

template<typename AFIELD >
std::vector< Channel > ShiftAField_lex< AFIELD >::chrecv_up
private

Definition at line 52 of file shiftAField_lex.h.

◆ chsend_dn

template<typename AFIELD >
std::vector< Channel > ShiftAField_lex< AFIELD >::chsend_dn
private

Definition at line 52 of file shiftAField_lex.h.

◆ chsend_up

template<typename AFIELD >
std::vector< Channel > ShiftAField_lex< AFIELD >::chsend_up
private

Definition at line 52 of file shiftAField_lex.h.

◆ chset_recv

template<typename AFIELD >
ChannelSet ShiftAField_lex< AFIELD >::chset_recv
private

Definition at line 53 of file shiftAField_lex.h.

◆ chset_send

template<typename AFIELD >
ChannelSet ShiftAField_lex< AFIELD >::chset_send
private

Definition at line 53 of file shiftAField_lex.h.

◆ class_name

template<typename AFIELD >
static const std::string ShiftAField_lex< AFIELD >::class_name
static
Initial value:
=
"ShiftAField_lex<AFIELD>"

Definition at line 32 of file shiftAField_lex.h.

◆ do_comm

template<typename AFIELD >
int ShiftAField_lex< AFIELD >::do_comm
private

Definition at line 43 of file shiftAField_lex.h.

◆ do_comm_any

template<typename AFIELD >
int ShiftAField_lex< AFIELD >::do_comm_any
private

Definition at line 44 of file shiftAField_lex.h.

◆ m_bc

template<typename AFIELD >
int ShiftAField_lex< AFIELD >::m_bc[4]
private

Definition at line 47 of file shiftAField_lex.h.

◆ m_bc2

template<typename AFIELD >
int ShiftAField_lex< AFIELD >::m_bc2[4]
private

Definition at line 48 of file shiftAField_lex.h.

◆ m_boundary

template<typename AFIELD >
std::vector< int > ShiftAField_lex< AFIELD >::m_boundary
private

Definition at line 40 of file shiftAField_lex.h.

◆ m_Nbdsize

template<typename AFIELD >
std::vector< int > ShiftAField_lex< AFIELD >::m_Nbdsize
private

Definition at line 50 of file shiftAField_lex.h.

◆ m_Ndim

template<typename AFIELD >
int ShiftAField_lex< AFIELD >::m_Ndim
private

Definition at line 37 of file shiftAField_lex.h.

◆ m_Nin

template<typename AFIELD >
int ShiftAField_lex< AFIELD >::m_Nin
private

internal degree of freedom.

Definition at line 35 of file shiftAField_lex.h.

◆ m_Nsize

template<typename AFIELD >
int ShiftAField_lex< AFIELD >::m_Nsize[4]
private

Definition at line 46 of file shiftAField_lex.h.

◆ m_Nstv

template<typename AFIELD >
int ShiftAField_lex< AFIELD >::m_Nstv
private

Definition at line 39 of file shiftAField_lex.h.

◆ m_Nt

template<typename AFIELD >
int ShiftAField_lex< AFIELD >::m_Nt
private

Definition at line 38 of file shiftAField_lex.h.

◆ m_Nvol

template<typename AFIELD >
int ShiftAField_lex< AFIELD >::m_Nvol
private

Definition at line 36 of file shiftAField_lex.h.

◆ m_Nx

template<typename AFIELD >
int ShiftAField_lex< AFIELD >::m_Nx
private

Definition at line 38 of file shiftAField_lex.h.

◆ m_Nxv

template<typename AFIELD >
int ShiftAField_lex< AFIELD >::m_Nxv
private

Definition at line 39 of file shiftAField_lex.h.

◆ m_Ny

template<typename AFIELD >
int ShiftAField_lex< AFIELD >::m_Ny
private

Definition at line 38 of file shiftAField_lex.h.

◆ m_Nyv

template<typename AFIELD >
int ShiftAField_lex< AFIELD >::m_Nyv
private

Definition at line 43 of file shiftAField_lex.h.

◆ m_Nz

template<typename AFIELD >
int ShiftAField_lex< AFIELD >::m_Nz
private

Definition at line 38 of file shiftAField_lex.h.

◆ m_vl

template<typename AFIELD >
Bridge::VerboseLevel ShiftAField_lex< AFIELD >::m_vl
private

Definition at line 41 of file shiftAField_lex.h.


The documentation for this class was generated from the following files: