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

#include <afopr_Wilson.h>

Inheritance diagram for AFopr_Wilson< AFIELD >:
AFopr< AFIELD >

Public Types

typedef AFIELD::real_t real_t
 

Public Member Functions

 AFopr_Wilson (const Parameters &params)
 constructor. More...
 
 ~AFopr_Wilson ()
 destructor. More...
 
void set_parameters (const Parameters &params)
 setting parameters by a Parameter object. More...
 
void set_parameters (real_t CKs, std::vector< int > bc)
 setting parameters by values. More...
 
void get_parameters (Parameters &params) const
 get parameters via a Parameter object More...
 
void set_config (Field *u)
 setting gauge configuration (common interface). More...
 
bool needs_convert ()
 QXS version requires convert of spinor field. More...
 
void convert (AFIELD &v, const Field &w)
 convert of spinor field. More...
 
void reverse (Field &v, const AFIELD &w)
 reverse of spinor field. More...
 
void set_mode (std::string mode)
 setting mult mode. More...
 
std::string get_mode () const
 returns mult mode. More...
 
void mult (AFIELD &, const AFIELD &)
 multiplies fermion operator to a given field. More...
 
void mult_dag (AFIELD &, const AFIELD &)
 hermitian conjugate of mult. More...
 
void mult_gm5 (AFIELD &, const AFIELD &)
 multiplies gamma_5 matrix. More...
 
void mult_up (int mu, AFIELD &, const AFIELD &)
 upward nearest neighbor hopping term. More...
 
void mult_dn (int mu, AFIELD &, const AFIELD &)
 downward nearest neighbor hopping term. More...
 
int field_nin ()
 returns inner size parameter. More...
 
int field_nvol ()
 returns local volume size parameter. More...
 
int field_nex ()
 returns external size parameter. More...
 
double flop_count ()
 returns floating operation counts. More...
 
double flop_count (const std::string mode)
 returns floating operation counts for given mode. More...
 
const std::string class_name
 
const std::string class_name
 
- Public Member Functions inherited from AFopr< AFIELD >
 AFopr ()
 
virtual ~AFopr ()
 
virtual void mult (AFIELD &, const AFIELD &, const std::string mode)
 executes mult with specified mode (unchanging internal mode). More...
 
virtual void mult_dag (AFIELD &, const AFIELD &, const std::string mode)
 executes mult_dag with specified mode (unchanging internal mode). More...
 
virtual void normalize_fprop (AFIELD &)
 normalize propagator if necessary (default: do nothing) More...
 
virtual void normalize_fopr (AFIELD &)
 normalize propagator if necessary (default: do nothing) More...
 

Static Public Attributes

static const std::string class_name = "AFopr_Wilson"
 

Protected Types

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

Protected Attributes

int m_Nc
 
int m_Nd
 
int m_Nvc
 
int m_Ndf
 
int m_Ndim
 
int m_Nx
 
int m_Ny
 
int m_Nz
 
int m_Nt
 
int m_Nst
 
int m_Nxv
 
int m_Nyv
 
int m_Nstv
 
real_t m_CKs
 hopping parameter. More...
 
std::vector< int > m_boundary
 pointer to boundary condition More...
 
std::string m_repr
 gamma matrix representation More...
 
Bridge::VerboseLevel m_vl
 verbose level More...
 
Fieldm_conf
 original gauge config. More...
 
AFIELD m_U
 copied gauge config. with boundary conditions. More...
 
std::string m_mode
 mult mode More...
 
AFIELD m_v2
 
int m_Nsize [4]
 
int do_comm [4]
 
int do_comm_any
 
std::vector< int > m_bdsize
 
std::vector< Channelchsend_up
 
std::vector< Channelchrecv_up
 
std::vector< Channelchsend_dn
 
std::vector< Channelchrecv_dn
 
ChannelSet chset_send
 
ChannelSet chset_recv
 

Private Member Functions

void init (const Parameters &params)
 initial setup. More...
 
void tidyup ()
 final tidy-up. More...
 
void setup_channels ()
 setup channels for communication. More...
 
void set_config_omp (Field *u)
 setting gauge configuration (setting omp parallel). More...
 
void set_config_impl (Field *u)
 setting gauge configuration (implementation). More...
 
void DdagD (AFIELD &, const AFIELD &)
 
void Ddag (AFIELD &, const AFIELD &)
 
void H (AFIELD &, const AFIELD &)
 
void D (AFIELD &, const AFIELD &)
 
void mult_gm4 (AFIELD &, const AFIELD &)
 
void mult_D (AFIELD &, const AFIELD &)
 standard D mult. More...
 
void mult_D_alt (AFIELD &, const AFIELD &)
 D mult using mult_xp, etc. More...
 
void mult_xp (real_t *, real_t *)
 
void mult_xm (real_t *, real_t *)
 
void mult_yp (real_t *, real_t *)
 
void mult_ym (real_t *, real_t *)
 
void mult_zp (real_t *, real_t *)
 
void mult_zm (real_t *, real_t *)
 
void mult_tp (real_t *, real_t *)
 
void mult_tm (real_t *, real_t *)
 
void clear (real_t *)
 
void aypx (real_t, real_t *, real_t *)
 
void gm5_aypx (real_t, real_t *, real_t *)
 

Additional Inherited Members

- Static Protected Attributes inherited from AFopr< AFIELD >
static const std::string class_name
 

Detailed Description

template<typename AFIELD>
class AFopr_Wilson< AFIELD >

Implementation of the Wilson fermion operator (lexical index) in the QXS branch. [24 Dec 2022 H.Matsufuru]

Definition at line 40 of file afopr_Wilson.h.

Member Typedef Documentation

◆ allocator_t

template<typename AFIELD >
using AFopr_Wilson< AFIELD >::allocator_t = typename AFIELD::template aligned_allocator<char>
protected

Definition at line 70 of file afopr_Wilson.h.

◆ Channel

template<typename AFIELD >
using AFopr_Wilson< AFIELD >::Channel = Channel_impl<allocator_t>
protected

Definition at line 71 of file afopr_Wilson.h.

◆ real_t

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

Definition at line 43 of file afopr_Wilson.h.

Constructor & Destructor Documentation

◆ AFopr_Wilson()

template<typename AFIELD >
AFopr_Wilson< AFIELD >::AFopr_Wilson ( const Parameters params)
inline

constructor.

Definition at line 77 of file afopr_Wilson.h.

◆ ~AFopr_Wilson()

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

destructor.

Definition at line 81 of file afopr_Wilson.h.

Member Function Documentation

◆ aypx()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::aypx ( real_t  a,
real_t v,
real_t w 
)
private

Definition at line 582 of file afopr_Wilson-tmpl.h.

◆ class_name() [1/2]

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

Definition at line 41 of file afopr_Wilson_double.cpp.

◆ class_name() [2/2]

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

Definition at line 41 of file afopr_Wilson_float.cpp.

◆ clear()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::clear ( real_t v)
private

Definition at line 600 of file afopr_Wilson-tmpl.h.

◆ convert()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::convert ( AFIELD v,
const Field w 
)
virtual

convert of spinor field.

Reimplemented from AFopr< AFIELD >.

Definition at line 281 of file afopr_Wilson-tmpl.h.

◆ D()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::D ( AFIELD v,
const AFIELD w 
)
private

Definition at line 408 of file afopr_Wilson-tmpl.h.

◆ Ddag()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::Ddag ( AFIELD v,
const AFIELD w 
)
private

Definition at line 427 of file afopr_Wilson-tmpl.h.

◆ DdagD()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::DdagD ( AFIELD v,
const AFIELD w 
)
private

Definition at line 416 of file afopr_Wilson-tmpl.h.

◆ field_nex()

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::field_nex ( )
inlinevirtual

returns external size parameter.

Implements AFopr< AFIELD >.

Definition at line 124 of file afopr_Wilson.h.

◆ field_nin()

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::field_nin ( )
inlinevirtual

returns inner size parameter.

Implements AFopr< AFIELD >.

Definition at line 118 of file afopr_Wilson.h.

◆ field_nvol()

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::field_nvol ( )
inlinevirtual

returns local volume size parameter.

Implements AFopr< AFIELD >.

Definition at line 121 of file afopr_Wilson.h.

◆ flop_count() [1/2]

template<typename AFIELD >
double AFopr_Wilson< AFIELD >::flop_count ( )
inlinevirtual

returns floating operation counts.

Reimplemented from AFopr< AFIELD >.

Definition at line 127 of file afopr_Wilson.h.

◆ flop_count() [2/2]

template<typename AFIELD >
double AFopr_Wilson< AFIELD >::flop_count ( const std::string  mode)
virtual

returns floating operation counts for given mode.

Reimplemented from AFopr< AFIELD >.

Definition at line 1155 of file afopr_Wilson-tmpl.h.

◆ get_mode()

template<typename AFIELD >
std::string AFopr_Wilson< AFIELD >::get_mode
virtual

returns mult mode.

Reimplemented from AFopr< AFIELD >.

Definition at line 362 of file afopr_Wilson-tmpl.h.

◆ get_parameters()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::get_parameters ( Parameters params) const
virtual

get parameters via a Parameter object

Reimplemented from AFopr< AFIELD >.

Definition at line 219 of file afopr_Wilson-tmpl.h.

◆ gm5_aypx()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::gm5_aypx ( real_t  ,
real_t ,
real_t  
)
private

◆ H()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::H ( AFIELD v,
const AFIELD w 
)
private

Definition at line 573 of file afopr_Wilson-tmpl.h.

◆ init()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::init ( const Parameters params)
private

initial setup.

Definition at line 17 of file afopr_Wilson-tmpl.h.

◆ mult()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::mult ( AFIELD ,
const AFIELD  
)
virtual

multiplies fermion operator to a given field.

Reimplemented from AFopr< AFIELD >.

Definition at line 370 of file afopr_Wilson-tmpl.h.

◆ mult_D()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::mult_D ( AFIELD v,
const AFIELD w 
)
private

standard D mult.

Definition at line 487 of file afopr_Wilson-tmpl.h.

◆ mult_D_alt()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::mult_D_alt ( AFIELD v,
const AFIELD w 
)
private

D mult using mult_xp, etc.

Definition at line 549 of file afopr_Wilson-tmpl.h.

◆ mult_dag()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::mult_dag ( AFIELD ,
const AFIELD  
)
virtual

hermitian conjugate of mult.

Reimplemented from AFopr< AFIELD >.

Definition at line 389 of file afopr_Wilson-tmpl.h.

◆ mult_dn()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::mult_dn ( int  mu,
AFIELD ,
const AFIELD  
)
virtual

downward nearest neighbor hopping term.

Reimplemented from AFopr< AFIELD >.

Definition at line 326 of file afopr_Wilson-tmpl.h.

◆ mult_gm4()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::mult_gm4 ( AFIELD v,
const AFIELD w 
)
private

Definition at line 454 of file afopr_Wilson-tmpl.h.

◆ mult_gm5()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::mult_gm5 ( AFIELD ,
const AFIELD  
)
virtual

multiplies gamma_5 matrix.

Reimplemented from AFopr< AFIELD >.

Definition at line 437 of file afopr_Wilson-tmpl.h.

◆ mult_tm()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::mult_tm ( real_t v2,
real_t v1 
)
private

Definition at line 1093 of file afopr_Wilson-tmpl.h.

◆ mult_tp()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::mult_tp ( real_t v2,
real_t v1 
)
private

Definition at line 1029 of file afopr_Wilson-tmpl.h.

◆ mult_up()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::mult_up ( int  mu,
AFIELD ,
const AFIELD  
)
virtual

upward nearest neighbor hopping term.

Reimplemented from AFopr< AFIELD >.

Definition at line 303 of file afopr_Wilson-tmpl.h.

◆ mult_xm()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::mult_xm ( real_t v2,
real_t v1 
)
private

Definition at line 684 of file afopr_Wilson-tmpl.h.

◆ mult_xp()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::mult_xp ( real_t v2,
real_t v1 
)
private

Definition at line 616 of file afopr_Wilson-tmpl.h.

◆ mult_ym()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::mult_ym ( real_t v2,
real_t v1 
)
private

Definition at line 824 of file afopr_Wilson-tmpl.h.

◆ mult_yp()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::mult_yp ( real_t v2,
real_t v1 
)
private

Definition at line 754 of file afopr_Wilson-tmpl.h.

◆ mult_zm()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::mult_zm ( real_t v2,
real_t v1 
)
private

Definition at line 963 of file afopr_Wilson-tmpl.h.

◆ mult_zp()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::mult_zp ( real_t v2,
real_t v1 
)
private

Definition at line 898 of file afopr_Wilson-tmpl.h.

◆ needs_convert()

template<typename AFIELD >
bool AFopr_Wilson< AFIELD >::needs_convert ( )
inlinevirtual

QXS version requires convert of spinor field.

Reimplemented from AFopr< AFIELD >.

Definition at line 96 of file afopr_Wilson.h.

◆ reverse()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::reverse ( Field v,
const AFIELD w 
)
virtual

reverse of spinor field.

Reimplemented from AFopr< AFIELD >.

Definition at line 292 of file afopr_Wilson-tmpl.h.

◆ set_config()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::set_config ( Field u)
virtual

setting gauge configuration (common interface).

Implements AFopr< AFIELD >.

Definition at line 231 of file afopr_Wilson-tmpl.h.

◆ set_config_impl()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::set_config_impl ( Field u)
private

setting gauge configuration (implementation).

Definition at line 263 of file afopr_Wilson-tmpl.h.

◆ set_config_omp()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::set_config_omp ( Field u)
private

setting gauge configuration (setting omp parallel).

Definition at line 250 of file afopr_Wilson-tmpl.h.

◆ set_mode()

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::set_mode ( std::string  mode)
virtual

setting mult mode.

Reimplemented from AFopr< AFIELD >.

Definition at line 349 of file afopr_Wilson-tmpl.h.

◆ set_parameters() [1/2]

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::set_parameters ( const Parameters params)
virtual

setting parameters by a Parameter object.

Reimplemented from AFopr< AFIELD >.

Definition at line 169 of file afopr_Wilson-tmpl.h.

◆ set_parameters() [2/2]

template<typename AFIELD >
void AFopr_Wilson< AFIELD >::set_parameters ( real_t  CKs,
std::vector< int >  bc 
)

setting parameters by values.

Definition at line 189 of file afopr_Wilson-tmpl.h.

◆ setup_channels()

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

setup channels for communication.

Definition at line 124 of file afopr_Wilson-tmpl.h.

◆ tidyup()

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

final tidy-up.

Definition at line 159 of file afopr_Wilson-tmpl.h.

Member Data Documentation

◆ chrecv_dn

template<typename AFIELD >
std::vector<Channel> AFopr_Wilson< AFIELD >::chrecv_dn
protected

Definition at line 72 of file afopr_Wilson.h.

◆ chrecv_up

template<typename AFIELD >
std::vector<Channel> AFopr_Wilson< AFIELD >::chrecv_up
protected

Definition at line 72 of file afopr_Wilson.h.

◆ chsend_dn

template<typename AFIELD >
std::vector<Channel> AFopr_Wilson< AFIELD >::chsend_dn
protected

Definition at line 72 of file afopr_Wilson.h.

◆ chsend_up

template<typename AFIELD >
std::vector<Channel> AFopr_Wilson< AFIELD >::chsend_up
protected

Definition at line 72 of file afopr_Wilson.h.

◆ chset_recv

template<typename AFIELD >
ChannelSet AFopr_Wilson< AFIELD >::chset_recv
protected

Definition at line 73 of file afopr_Wilson.h.

◆ chset_send

template<typename AFIELD >
ChannelSet AFopr_Wilson< AFIELD >::chset_send
protected

Definition at line 73 of file afopr_Wilson.h.

◆ class_name

template<typename AFIELD >
const std::string AFopr_Wilson< AFIELD >::class_name = "AFopr_Wilson"
static

Definition at line 44 of file afopr_Wilson.h.

◆ do_comm

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::do_comm[4]
protected

Definition at line 66 of file afopr_Wilson.h.

◆ do_comm_any

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::do_comm_any
protected

Definition at line 67 of file afopr_Wilson.h.

◆ m_bdsize

template<typename AFIELD >
std::vector<int> AFopr_Wilson< AFIELD >::m_bdsize
protected

Definition at line 69 of file afopr_Wilson.h.

◆ m_boundary

template<typename AFIELD >
std::vector<int> AFopr_Wilson< AFIELD >::m_boundary
protected

pointer to boundary condition

Definition at line 52 of file afopr_Wilson.h.

◆ m_CKs

template<typename AFIELD >
real_t AFopr_Wilson< AFIELD >::m_CKs
protected

hopping parameter.

Definition at line 51 of file afopr_Wilson.h.

◆ m_conf

template<typename AFIELD >
Field* AFopr_Wilson< AFIELD >::m_conf
protected

original gauge config.

Definition at line 57 of file afopr_Wilson.h.

◆ m_mode

template<typename AFIELD >
std::string AFopr_Wilson< AFIELD >::m_mode
protected

mult mode

Definition at line 60 of file afopr_Wilson.h.

◆ m_Nc

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::m_Nc
protected

Definition at line 47 of file afopr_Wilson.h.

◆ m_Nd

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::m_Nd
protected

Definition at line 47 of file afopr_Wilson.h.

◆ m_Ndf

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::m_Ndf
protected

Definition at line 47 of file afopr_Wilson.h.

◆ m_Ndim

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::m_Ndim
protected

Definition at line 47 of file afopr_Wilson.h.

◆ m_Nsize

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::m_Nsize[4]
protected

Definition at line 64 of file afopr_Wilson.h.

◆ m_Nst

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::m_Nst
protected

Definition at line 48 of file afopr_Wilson.h.

◆ m_Nstv

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::m_Nstv
protected

Definition at line 49 of file afopr_Wilson.h.

◆ m_Nt

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::m_Nt
protected

Definition at line 48 of file afopr_Wilson.h.

◆ m_Nvc

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::m_Nvc
protected

Definition at line 47 of file afopr_Wilson.h.

◆ m_Nx

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::m_Nx
protected

Definition at line 48 of file afopr_Wilson.h.

◆ m_Nxv

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::m_Nxv
protected

Definition at line 49 of file afopr_Wilson.h.

◆ m_Ny

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::m_Ny
protected

Definition at line 48 of file afopr_Wilson.h.

◆ m_Nyv

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::m_Nyv
protected

Definition at line 49 of file afopr_Wilson.h.

◆ m_Nz

template<typename AFIELD >
int AFopr_Wilson< AFIELD >::m_Nz
protected

Definition at line 48 of file afopr_Wilson.h.

◆ m_repr

template<typename AFIELD >
std::string AFopr_Wilson< AFIELD >::m_repr
protected

gamma matrix representation

Definition at line 53 of file afopr_Wilson.h.

◆ m_U

template<typename AFIELD >
AFIELD AFopr_Wilson< AFIELD >::m_U
protected

copied gauge config. with boundary conditions.

Definition at line 58 of file afopr_Wilson.h.

◆ m_v2

template<typename AFIELD >
AFIELD AFopr_Wilson< AFIELD >::m_v2
protected

Definition at line 62 of file afopr_Wilson.h.

◆ m_vl

template<typename AFIELD >
Bridge::VerboseLevel AFopr_Wilson< AFIELD >::m_vl
protected

verbose level

Definition at line 55 of file afopr_Wilson.h.


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