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

#include <afopr_Clover.h>

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

Public Types

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

Public Member Functions

 AFopr_Clover (const Parameters &params)
 constructor. More...
 
 ~AFopr_Clover ()
 destructor. More...
 
void set_parameters (const Parameters &params)
 setting parameters by a Parameter object. More...
 
void set_parameters (real_t CKs, real_t csW, std::vector< int > bc)
 setting parameters by values. More...
 
void get_parameters (Parameters &params) const
 gets parameters by a Parameter object: to be implemented in a subclass. More...
 
void set_config (Field *u)
 setting gauge configuration. More...
 
void set_boundary_config (AFIELD &U, const int mu)
 setting fermion boundary condition to gauge field. More...
 
Field * get_conf (void)
 returns the pointer to gauge configuration. 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 (AFIELD &, const AFIELD &, const std::string mode)
 executes mult with specified mode (unchanging internal mode). More...
 
void mult_dag (AFIELD &, const AFIELD &, const std::string mode)
 executes mult_dag with specified mode (unchanging internal mode). More...
 
virtual void mult_up (int mu, AFIELD &, const AFIELD &)
 upward nearest neighbor hopping term. More...
 
virtual void mult_dn (int mu, AFIELD &, const AFIELD &)
 downward nearest neighbor hopping term. More...
 
void D (AFIELD &, const AFIELD &)
 
void H (AFIELD &, const AFIELD &)
 
void DdagD (AFIELD &, const AFIELD &)
 
void Ddag (AFIELD &, const AFIELD &)
 
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...
 
 AFopr_Clover (const Parameters &params)
 constructor. More...
 
 ~AFopr_Clover ()
 destructor. More...
 
void set_parameters (const Parameters &params)
 setting parameters by a Parameter object. More...
 
void set_parameters (real_t CKs, real_t csw, 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 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_Clover<AFIELD>"
 

Protected Types

enum  Gamma_repr { DIRAC, CHIRAL }
 
using Channel = Channel_impl< std::allocator< real_t > >
 
using allocator_t = typename AFIELD::template aligned_allocator< char >
 
using Channel = Channel_impl< allocator_t >
 

Protected Attributes

enum AFopr_Clover::Gamma_repr m_repr
 gamma matrix representation More...
 
int m_Nc
 
int m_Nd
 
int m_Ndim
 
int m_Nvc
 
int m_Ndf
 
int m_Ndm2
 
int m_Nx
 
int m_Ny
 
int m_Nz
 
int m_Nt
 
int m_Nst
 
real_t m_CKs
 hopping parameter. More...
 
real_t m_cSW
 clover coefficient. More...
 
std::vector< int > m_boundary
 pointer to boundary condition More...
 
Bridge::VerboseLevel m_vl
 verbose level More...
 
Field * m_conf
 original gauge config. More...
 
AFIELD m_U
 copied gauge config. with boundary conditions. More...
 
std::string m_mode
 mult mode More...
 
AFopr_CloverTerm< AFIELD > * m_fopr_ct
 
AFIELD m_T
 clover term More...
 
bool m_memory_saved
 
AFIELD m_v1
 
AFIELD m_v2
 working spinor field. More...
 
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
 
Timer m_timer
 
int m_Nxv
 
int m_Nyv
 
int m_Nstv
 
real_t m_csw
 colver coefficient More...
 
std::string m_repr
 gamma matrix representation More...
 
Fopr_CloverTerm * m_fopr_csw
 clover term (corelib) More...
 
Field_F m_w1
 
Field_F m_w2
 
std::vector< int > m_bdsize
 

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 mult_DorH (AFIELD &v, const AFIELD &w, const int flag)
 mult implementation More...
 
void D_alt (AFIELD &, const AFIELD &)
 
void H_alt (AFIELD &, const AFIELD &)
 
void set_config_omp (Field *u)
 set_config implementation More...
 
void set_config_impl (Field *u)
 
void set_config_saved (Field *u)
 
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 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 set_csw ()
 set_csw now assumes Dirac repr. More...
 
void set_csw_chrot ()
 set_csw with rotation to chiral repr. More...
 
void mult_csw (real_t *, real_t *)
 set_csw now assumes Dirac repr. 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 mult_gm5 (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_Clover< AFIELD >

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

Definition at line 31 of file afopr_Clover.h.

Member Typedef Documentation

◆ allocator_t

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

Definition at line 78 of file afopr_Clover.h.

◆ Channel [1/2]

template<typename AFIELD >
using AFopr_Clover< AFIELD >::Channel = Channel_impl<std::allocator<real_t> >
protected

Definition at line 72 of file afopr_Clover.h.

◆ Channel [2/2]

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

Definition at line 79 of file afopr_Clover.h.

◆ real_t [1/2]

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

Definition at line 34 of file afopr_Clover.h.

◆ real_t [2/2]

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

Definition at line 44 of file afopr_Clover.h.

Member Enumeration Documentation

◆ Gamma_repr

template<typename AFIELD >
enum AFopr_Clover::Gamma_repr
protected
Enumerator
DIRAC 
CHIRAL 

Definition at line 38 of file afopr_Clover.h.

Constructor & Destructor Documentation

◆ AFopr_Clover() [1/2]

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

constructor.

Definition at line 81 of file afopr_Clover.h.

◆ ~AFopr_Clover() [1/2]

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

destructor.

Definition at line 84 of file afopr_Clover.h.

◆ AFopr_Clover() [2/2]

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

constructor.

Definition at line 85 of file afopr_Clover.h.

◆ ~AFopr_Clover() [2/2]

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

destructor.

Definition at line 89 of file afopr_Clover.h.

Member Function Documentation

◆ aypx()

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

Definition at line 835 of file afopr_Clover-tmpl.h.

◆ class_name() [1/2]

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

Definition at line 44 of file afopr_Clover_double.cpp.

◆ class_name() [2/2]

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

Definition at line 44 of file afopr_Clover_float.cpp.

◆ clear()

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

Definition at line 853 of file afopr_Clover-tmpl.h.

◆ convert()

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

convert of spinor field.

Reimplemented from AFopr< AFIELD >.

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

◆ D() [1/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::D ( AFIELD &  v,
const AFIELD &  w 
)

Definition at line 668 of file afopr_Clover-tmpl.h.

◆ D() [2/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::D ( AFIELD &  ,
const AFIELD &   
)
private

◆ D_alt()

template<typename AFIELD >
void AFopr_Clover< AFIELD >::D_alt ( AFIELD &  v,
const AFIELD &  w 
)
private

Definition at line 632 of file afopr_Clover-tmpl.h.

◆ Ddag() [1/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::Ddag ( AFIELD &  v,
const AFIELD &  w 
)

Definition at line 620 of file afopr_Clover-tmpl.h.

◆ Ddag() [2/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::Ddag ( AFIELD &  ,
const AFIELD &   
)
private

◆ DdagD() [1/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::DdagD ( AFIELD &  v,
const AFIELD &  w 
)

Definition at line 606 of file afopr_Clover-tmpl.h.

◆ DdagD() [2/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::DdagD ( AFIELD &  ,
const AFIELD &   
)
private

◆ field_nex() [1/2]

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

returns external size parameter.

Implements AFopr< AFIELD >.

Definition at line 132 of file afopr_Clover.h.

◆ field_nex() [2/2]

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

returns external size parameter.

Implements AFopr< AFIELD >.

Definition at line 138 of file afopr_Clover.h.

◆ field_nin() [1/2]

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

returns inner size parameter.

Implements AFopr< AFIELD >.

Definition at line 126 of file afopr_Clover.h.

◆ field_nin() [2/2]

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

returns inner size parameter.

Implements AFopr< AFIELD >.

Definition at line 132 of file afopr_Clover.h.

◆ field_nvol() [1/2]

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

returns local volume size parameter.

Implements AFopr< AFIELD >.

Definition at line 129 of file afopr_Clover.h.

◆ field_nvol() [2/2]

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

returns local volume size parameter.

Implements AFopr< AFIELD >.

Definition at line 135 of file afopr_Clover.h.

◆ flop_count() [1/3]

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

returns floating operation counts.

Reimplemented from AFopr< AFIELD >.

Definition at line 135 of file afopr_Clover.h.

◆ flop_count() [2/3]

template<typename AFIELD >
double AFopr_Clover< AFIELD >::flop_count
virtual

returns floating operation counts.

Reimplemented from AFopr< AFIELD >.

Definition at line 1206 of file afopr_Clover-tmpl.h.

◆ flop_count() [3/3]

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

returns floating operation counts for given mode.

Reimplemented from AFopr< AFIELD >.

Definition at line 1408 of file afopr_Clover-tmpl.h.

◆ get_conf()

template<typename AFIELD >
Field* AFopr_Clover< AFIELD >::get_conf ( void  )
inline

returns the pointer to gauge configuration.

Definition at line 101 of file afopr_Clover.h.

◆ get_mode() [1/2]

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

returns mult mode.

Reimplemented from AFopr< AFIELD >.

Definition at line 447 of file afopr_Clover-tmpl.h.

◆ get_mode() [2/2]

template<typename AFIELD >
std::string AFopr_Clover< AFIELD >::get_mode ( ) const
virtual

returns mult mode.

Reimplemented from AFopr< AFIELD >.

◆ get_parameters() [1/2]

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

gets parameters by a Parameter object: to be implemented in a subclass.

Reimplemented from AFopr< AFIELD >.

Definition at line 286 of file afopr_Clover-tmpl.h.

◆ get_parameters() [2/2]

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

get parameters via a Parameter object

Reimplemented from AFopr< AFIELD >.

◆ gm5_aypx()

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

◆ H() [1/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::H ( AFIELD &  v,
const AFIELD &  w 
)

Definition at line 675 of file afopr_Clover-tmpl.h.

◆ H() [2/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::H ( AFIELD &  ,
const AFIELD &   
)
private

◆ H_alt()

template<typename AFIELD >
void AFopr_Clover< AFIELD >::H_alt ( AFIELD &  v,
const AFIELD &  w 
)
private

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

◆ init() [1/2]

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

initial setup.

◆ init() [2/2]

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

initial setup.

Definition at line 25 of file afopr_Clover-tmpl.h.

◆ mult() [1/3]

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

multiplies fermion operator to a given field.

Reimplemented from AFopr< AFIELD >.

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

◆ mult() [2/3]

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

multiplies fermion operator to a given field.

Reimplemented from AFopr< AFIELD >.

◆ mult() [3/3]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::mult ( AFIELD &  ,
const AFIELD &  ,
const std::string  mode 
)
virtual

executes mult with specified mode (unchanging internal mode).

Reimplemented from AFopr< AFIELD >.

Definition at line 494 of file afopr_Clover-tmpl.h.

◆ mult_csw()

template<typename AFIELD >
void AFopr_Clover< AFIELD >::mult_csw ( real_t *  v2,
real_t *  v1 
)
private

set_csw now assumes Dirac repr.

Definition at line 687 of file afopr_Clover-tmpl.h.

◆ mult_D()

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

standard D mult.

Definition at line 732 of file afopr_Clover-tmpl.h.

◆ mult_D_alt()

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

D mult using mult_xp, etc.

Definition at line 800 of file afopr_Clover-tmpl.h.

◆ mult_dag() [1/3]

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

hermitian conjugate of mult.

Reimplemented from AFopr< AFIELD >.

Definition at line 474 of file afopr_Clover-tmpl.h.

◆ mult_dag() [2/3]

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

hermitian conjugate of mult.

Reimplemented from AFopr< AFIELD >.

◆ mult_dag() [3/3]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::mult_dag ( AFIELD &  ,
const AFIELD &  ,
const std::string  mode 
)
virtual

executes mult_dag with specified mode (unchanging internal mode).

Reimplemented from AFopr< AFIELD >.

Definition at line 515 of file afopr_Clover-tmpl.h.

◆ mult_dn() [1/2]

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

downward nearest neighbor hopping term.

Reimplemented from AFopr< AFIELD >.

◆ mult_dn() [2/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::mult_dn ( int  mu,
AFIELD &  v,
const AFIELD &  w 
)
virtual

downward nearest neighbor hopping term.

Reimplemented from AFopr< AFIELD >.

Definition at line 583 of file afopr_Clover-tmpl.h.

◆ mult_DorH()

template<typename AFIELD >
void AFopr_Clover< AFIELD >::mult_DorH ( AFIELD &  v,
const AFIELD &  w,
const int  flag 
)
private

mult implementation

Definition at line 692 of file afopr_Clover-tmpl.h.

◆ mult_gm4()

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

Definition at line 654 of file afopr_Clover-tmpl.h.

◆ mult_gm5() [1/3]

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

multiplies gamma_5 matrix.

Reimplemented from AFopr< AFIELD >.

Definition at line 536 of file afopr_Clover-tmpl.h.

◆ mult_gm5() [2/3]

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

multiplies gamma_5 matrix.

Reimplemented from AFopr< AFIELD >.

◆ mult_gm5() [3/3]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::mult_gm5 ( real_t *  ,
real_t *   
)
private

◆ mult_tm() [1/2]

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

Definition at line 1144 of file afopr_Clover-tmpl.h.

◆ mult_tm() [2/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::mult_tm ( real_t *  ,
real_t *   
)
private

◆ mult_tp() [1/2]

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

Definition at line 1082 of file afopr_Clover-tmpl.h.

◆ mult_tp() [2/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::mult_tp ( real_t *  ,
real_t *   
)
private

◆ mult_up() [1/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::mult_up ( int  mu,
AFIELD &  v,
const AFIELD &  w 
)
virtual

upward nearest neighbor hopping term.

Reimplemented from AFopr< AFIELD >.

Definition at line 560 of file afopr_Clover-tmpl.h.

◆ mult_up() [2/2]

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

upward nearest neighbor hopping term.

Reimplemented from AFopr< AFIELD >.

◆ mult_xm() [1/2]

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

Definition at line 834 of file afopr_Clover-tmpl.h.

◆ mult_xm() [2/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::mult_xm ( real_t *  ,
real_t *   
)
private

◆ mult_xp() [1/2]

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

Definition at line 784 of file afopr_Clover-tmpl.h.

◆ mult_xp() [2/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::mult_xp ( real_t *  ,
real_t *   
)
private

◆ mult_ym() [1/2]

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

Definition at line 933 of file afopr_Clover-tmpl.h.

◆ mult_ym() [2/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::mult_ym ( real_t *  ,
real_t *   
)
private

◆ mult_yp() [1/2]

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

Definition at line 884 of file afopr_Clover-tmpl.h.

◆ mult_yp() [2/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::mult_yp ( real_t *  ,
real_t *   
)
private

◆ mult_zm() [1/2]

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

Definition at line 1033 of file afopr_Clover-tmpl.h.

◆ mult_zm() [2/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::mult_zm ( real_t *  ,
real_t *   
)
private

◆ mult_zp() [1/2]

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

Definition at line 983 of file afopr_Clover-tmpl.h.

◆ mult_zp() [2/2]

template<typename AFIELD >
void AFopr_Clover< AFIELD >::mult_zp ( real_t *  ,
real_t *   
)
private

◆ needs_convert()

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

QXS version requires convert of spinor field.

Reimplemented from AFopr< AFIELD >.

Definition at line 104 of file afopr_Clover.h.

◆ reverse()

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

reverse of spinor field.

Reimplemented from AFopr< AFIELD >.

Definition at line 491 of file afopr_Clover-tmpl.h.

◆ set_boundary_config()

template<typename AFIELD >
void AFopr_Clover< AFIELD >::set_boundary_config ( AFIELD &  U,
const int  mu 
)

setting fermion boundary condition to gauge field.

◆ set_config() [1/2]

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

setting gauge configuration.

Implements AFopr< AFIELD >.

Definition at line 302 of file afopr_Clover-tmpl.h.

◆ set_config() [2/2]

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

setting gauge configuration (common interface).

Implements AFopr< AFIELD >.

◆ set_config_impl() [1/2]

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

setting gauge configuration (implementation).

◆ set_config_impl() [2/2]

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

Definition at line 328 of file afopr_Clover-tmpl.h.

◆ set_config_omp() [1/2]

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

setting gauge configuration (setting omp parallel).

◆ set_config_omp() [2/2]

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

set_config implementation

Definition at line 318 of file afopr_Clover-tmpl.h.

◆ set_config_saved()

template<typename AFIELD >
void AFopr_Clover< AFIELD >::set_config_saved ( Field *  u)
private

Definition at line 376 of file afopr_Clover-tmpl.h.

◆ set_csw()

template<typename AFIELD >
void AFopr_Clover< AFIELD >::set_csw
private

set_csw now assumes Dirac repr.

Definition at line 312 of file afopr_Clover-tmpl.h.

◆ set_csw_chrot()

template<typename AFIELD >
void AFopr_Clover< AFIELD >::set_csw_chrot
private

set_csw with rotation to chiral repr.

Definition at line 401 of file afopr_Clover-tmpl.h.

◆ set_mode() [1/2]

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

setting mult mode.

Reimplemented from AFopr< AFIELD >.

Definition at line 435 of file afopr_Clover-tmpl.h.

◆ set_mode() [2/2]

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

setting mult mode.

Reimplemented from AFopr< AFIELD >.

◆ set_parameters() [1/4]

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

setting parameters by a Parameter object.

Reimplemented from AFopr< AFIELD >.

Definition at line 192 of file afopr_Clover-tmpl.h.

◆ set_parameters() [2/4]

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

setting parameters by a Parameter object.

Reimplemented from AFopr< AFIELD >.

◆ set_parameters() [3/4]

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

setting parameters by values.

Definition at line 238 of file afopr_Clover-tmpl.h.

◆ set_parameters() [4/4]

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

setting parameters by values.

◆ setup_channels() [1/2]

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

setup channels for communication.

◆ setup_channels() [2/2]

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

setup channels for communication.

Definition at line 110 of file afopr_Clover-tmpl.h.

◆ tidyup() [1/2]

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

final tidy-up.

◆ tidyup() [2/2]

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

final tidy-up.

Definition at line 161 of file afopr_Clover-tmpl.h.

Member Data Documentation

◆ chrecv_dn

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

Definition at line 73 of file afopr_Clover.h.

◆ chrecv_up

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

Definition at line 73 of file afopr_Clover.h.

◆ chsend_dn

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

Definition at line 73 of file afopr_Clover.h.

◆ chsend_up

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

Definition at line 73 of file afopr_Clover.h.

◆ chset_recv

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

Definition at line 74 of file afopr_Clover.h.

◆ chset_send

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

Definition at line 74 of file afopr_Clover.h.

◆ class_name

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

Definition at line 35 of file afopr_Clover.h.

◆ do_comm

template<typename AFIELD >
int AFopr_Clover< AFIELD >::do_comm
protected

Definition at line 64 of file afopr_Clover.h.

◆ do_comm_any

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

Definition at line 65 of file afopr_Clover.h.

◆ m_bc

template<typename AFIELD >
int AFopr_Clover< AFIELD >::m_bc[4]
protected

Definition at line 68 of file afopr_Clover.h.

◆ m_bc2

template<typename AFIELD >
int AFopr_Clover< AFIELD >::m_bc2[4]
protected

Definition at line 69 of file afopr_Clover.h.

◆ m_bdsize

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

Definition at line 77 of file afopr_Clover.h.

◆ m_boundary

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

pointer to boundary condition

Definition at line 47 of file afopr_Clover.h.

◆ m_CKs

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

hopping parameter.

hopping parameter

Definition at line 45 of file afopr_Clover.h.

◆ m_conf

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

original gauge config.

Definition at line 51 of file afopr_Clover.h.

◆ m_cSW

template<typename AFIELD >
real_t AFopr_Clover< AFIELD >::m_cSW
protected

clover coefficient.

Definition at line 46 of file afopr_Clover.h.

◆ m_csw

template<typename AFIELD >
real_t AFopr_Clover< AFIELD >::m_csw
protected

colver coefficient

Definition at line 53 of file afopr_Clover.h.

◆ m_fopr_csw

template<typename AFIELD >
Fopr_CloverTerm* AFopr_Clover< AFIELD >::m_fopr_csw
protected

clover term (corelib)

Definition at line 64 of file afopr_Clover.h.

◆ m_fopr_ct

template<typename AFIELD >
AFopr_CloverTerm<AFIELD>* AFopr_Clover< AFIELD >::m_fopr_ct
protected

Definition at line 56 of file afopr_Clover.h.

◆ m_memory_saved

template<typename AFIELD >
bool AFopr_Clover< AFIELD >::m_memory_saved
protected

Definition at line 60 of file afopr_Clover.h.

◆ m_mode

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

mult mode

Definition at line 54 of file afopr_Clover.h.

◆ m_Nbdsize

template<typename AFIELD >
std::vector<int> AFopr_Clover< AFIELD >::m_Nbdsize
protected

Definition at line 71 of file afopr_Clover.h.

◆ m_Nc

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

Definition at line 40 of file afopr_Clover.h.

◆ m_Nd

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

Definition at line 40 of file afopr_Clover.h.

◆ m_Ndf

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

Definition at line 41 of file afopr_Clover.h.

◆ m_Ndim

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

Definition at line 40 of file afopr_Clover.h.

◆ m_Ndm2

template<typename AFIELD >
int AFopr_Clover< AFIELD >::m_Ndm2
protected

Definition at line 41 of file afopr_Clover.h.

◆ m_Nsize

template<typename AFIELD >
int AFopr_Clover< AFIELD >::m_Nsize
protected

Definition at line 67 of file afopr_Clover.h.

◆ m_Nst

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

Definition at line 42 of file afopr_Clover.h.

◆ m_Nstv

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

Definition at line 50 of file afopr_Clover.h.

◆ m_Nt

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

Definition at line 42 of file afopr_Clover.h.

◆ m_Nvc

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

Definition at line 41 of file afopr_Clover.h.

◆ m_Nx

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

Definition at line 42 of file afopr_Clover.h.

◆ m_Nxv

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

Definition at line 50 of file afopr_Clover.h.

◆ m_Ny

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

Definition at line 42 of file afopr_Clover.h.

◆ m_Nyv

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

Definition at line 50 of file afopr_Clover.h.

◆ m_Nz

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

Definition at line 42 of file afopr_Clover.h.

◆ m_repr [1/2]

template<typename AFIELD >
enum AFopr_Clover::Gamma_repr AFopr_Clover< AFIELD >::m_repr
protected

gamma matrix representation

◆ m_repr [2/2]

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

gamma matrix representation

Definition at line 55 of file afopr_Clover.h.

◆ m_T

template<typename AFIELD >
AFIELD AFopr_Clover< AFIELD >::m_T
protected

clover term

Definition at line 58 of file afopr_Clover.h.

◆ m_timer

template<typename AFIELD >
Timer AFopr_Clover< AFIELD >::m_timer
protected

Definition at line 76 of file afopr_Clover.h.

◆ m_U

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

copied gauge config. with boundary conditions.

Definition at line 52 of file afopr_Clover.h.

◆ m_v1

template<typename AFIELD >
AFIELD AFopr_Clover< AFIELD >::m_v1
protected

Definition at line 62 of file afopr_Clover.h.

◆ m_v2

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

working spinor field.

Definition at line 62 of file afopr_Clover.h.

◆ m_vl

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

verbose level

Definition at line 49 of file afopr_Clover.h.

◆ m_w1

template<typename AFIELD >
Field_F AFopr_Clover< AFIELD >::m_w1
protected

Definition at line 70 of file afopr_Clover.h.

◆ m_w2

template<typename AFIELD >
Field_F AFopr_Clover< AFIELD >::m_w2
protected

Definition at line 70 of file afopr_Clover.h.


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