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

Methods to shift a field in the lexical site index. More...

#include <shiftAField_lex.h>

Public Types

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)
 
const std::string class_name
 
const std::string class_name
 

Static Public Attributes

static const std::string class_name
 

Private Types

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

Private Member Functions

 ShiftAField_lex (const ShiftAField_lex &)
 
ShiftAField_lexoperator= (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_Nyv
 
int m_Nstv
 
std::vector< int > m_boundary
 
Bridge::VerboseLevel m_vl
 
int do_comm [4]
 
int do_comm_any
 
std::vector< int > m_Nbdsize
 
std::vector< Channelchsend_up
 
std::vector< Channelchrecv_up
 
std::vector< Channelchsend_dn
 
std::vector< Channelchrecv_dn
 
ChannelSet chset_send
 
ChannelSet chset_recv
 

Detailed Description

template<typename AFIELD>
class ShiftAField_lex< AFIELD >

Methods to shift a field in the lexical site index.

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 33 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

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

Definition at line 52 of file shiftAField_lex.h.

◆ real_t

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/3]

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

Definition at line 57 of file shiftAField_lex.h.

◆ ShiftAField_lex() [2/3]

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()

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

Definition at line 62 of file shiftAField_lex.h.

◆ ShiftAField_lex() [3/3]

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

Member Function Documentation

◆ backward() [1/2]

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

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

◆ backward() [2/2]

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 168 of file shiftAField_lex-tmpl.h.

◆ class_name() [1/2]

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

Definition at line 41 of file shiftAField_lex_double.cpp.

◆ class_name() [2/2]

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

Definition at line 41 of file shiftAField_lex_float.cpp.

◆ dn_t()

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

Definition at line 1551 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()

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

Definition at line 453 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()

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

Definition at line 811 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()

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

Definition at line 1184 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/2]

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

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

◆ forward() [2/2]

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 242 of file shiftAField_lex-tmpl.h.

◆ init() [1/2]

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

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

◆ init() [2/2]

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

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

◆ operator=()

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

◆ setup_channels()

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

setup channels for communication.

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

◆ tidyup()

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

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

◆ up_t()

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

Definition at line 1371 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()

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

Definition at line 280 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()

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

Definition at line 630 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()

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

Definition at line 998 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 53 of file shiftAField_lex.h.

◆ chrecv_up

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

Definition at line 53 of file shiftAField_lex.h.

◆ chsend_dn

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

Definition at line 53 of file shiftAField_lex.h.

◆ chsend_up

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

Definition at line 53 of file shiftAField_lex.h.

◆ chset_recv

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

Definition at line 54 of file shiftAField_lex.h.

◆ chset_send

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

Definition at line 54 of file shiftAField_lex.h.

◆ class_name

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

Definition at line 36 of file shiftAField_lex.h.

◆ do_comm

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

Definition at line 47 of file shiftAField_lex.h.

◆ do_comm_any

template<typename AFIELD >
int ShiftAField_lex< AFIELD >::do_comm_any
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 44 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 41 of file shiftAField_lex.h.

◆ m_Nin

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

internal degree of freedom.

Definition at line 39 of file shiftAField_lex.h.

◆ m_Nstv

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

Definition at line 43 of file shiftAField_lex.h.

◆ m_Nt

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

Definition at line 42 of file shiftAField_lex.h.

◆ m_Nvol

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

Definition at line 40 of file shiftAField_lex.h.

◆ m_Nx

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

Definition at line 42 of file shiftAField_lex.h.

◆ m_Nxv

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

Definition at line 43 of file shiftAField_lex.h.

◆ m_Ny

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

Definition at line 42 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 42 of file shiftAField_lex.h.

◆ m_vl

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

Definition at line 45 of file shiftAField_lex.h.


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