Bridge++  Ver. 2.0.2
Fopr_Clover_eo Class Reference

Even-odd Clover fermion operator. More...

#include <fopr_Clover_eo.h>

Inheritance diagram for Fopr_Clover_eo:
AFopr_eo< Field > AFopr< Field >

Public Member Functions

DEPRECATED Fopr_Clover_eo (const std::string repr)
 
 Fopr_Clover_eo (const Parameters &params)
 
 ~Fopr_Clover_eo ()
 
void set_parameters (const Parameters &params)
 sets parameters by a Parameter object: to be implemented in a subclass. More...
 
void set_parameters (const double kappa, const double cSW, const std::vector< int > bc)
 
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 pointer to the gauge configuration. More...
 
void set_mode (const std::string mode)
 setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call. More...
 
std::string get_mode () const
 
void mult (Field &v, const Field &f)
 multiplies fermion operator to a given field (2nd argument) More...
 
void mult_dag (Field &v, const Field &f)
 hermitian conjugate of mult(Field&, const Field&). More...
 
void preProp (Field &Be, Field &bo, const Field &b)
 
void postProp (Field &x, const Field &xe, const Field &bo)
 
void mult_gm5 (Field &, const Field &)
 multiplies gamma_5 matrix. More...
 
void D (Field &v, const Field &f)
 
void Ddag (Field &v, const Field &f)
 
void DdagD (Field &v, const Field &f)
 
void DDdag (Field &v, const Field &f)
 
void H (Field &v, const Field &f)
 
void Meo (Field &, const Field &, const int ieo)
 
void Mdageo (Field &, const Field &, const int ieo)
 
void mult_isigma (Field_F &w, const Field_F &f, const int mu, const int nu)
 
int field_nin ()
 returns the on-site d.o.f. for which the fermion operator is defined. More...
 
int field_nvol ()
 returns the volume for which the fermion operator is defined. More...
 
int field_nex ()
 returns the external d.o.f. for which the fermion operator is defined. More...
 
double flop_count ()
 this returns the number of floating point operations. More...
 
- Public Member Functions inherited from AFopr_eo< Field >
virtual ~AFopr_eo ()
 
virtual void mult (Field &, const Field &, const std::string)
 executes mult with specified mode (unchanging internal mode). More...
 
virtual void mult_dag (Field &, const Field &, const std::string)
 executes mult_dag with specified mode (unchanging internal mode). More...
 
std::string get_mode () const
 returns the current mult mode. More...
 
- Public Member Functions inherited from AFopr< Field >
 AFopr ()
 
virtual ~AFopr ()
 
virtual void mult_up (int mu, Field &, const Field &)
 upward nearest neighbor hopping term. More...
 
virtual void mult_dn (int mu, Field &, const Field &)
 downward nearest neighbor hopping term. More...
 
virtual void normalize_fprop (Field &)
 normalize propagator if necessary (default: do nothing) More...
 
virtual void normalize_fopr (Field &)
 normalize propagator if necessary (default: do nothing) More...
 
virtual double flop_count (const std::string mode)
 returns the flops per site for specified mode. More...
 
virtual bool needs_convert ()
 returns true if additional field conversion is needed. More...
 
virtual void convert (Field &, const Field &)
 converts a Field object into other format if necessary. More...
 
virtual void reverse (Field &, const Field &)
 converts an alternative field to a Field object. More...
 

Static Public Attributes

static const std::string class_name = "Fopr_Clover_eo"
 

Private Member Functions

void init (const std::string repr)
 
void init (const Parameters &params)
 
void setup ()
 
void tidyup ()
 

Private Attributes

double m_kappa
 hopping parameter. More...
 
double m_cSW
 clover coefficient. More...
 
std::vector< int > m_boundary
 boundary condition. More...
 
std::string m_repr
 gamma-matrix type More...
 
Bridge::VerboseLevel m_vl
 verbose level More...
 
std::string m_mode
 
int m_Nc
 
int m_Nd
 
int m_NinF
 
int m_Ndim
 
int m_Nvol
 
int m_Nvol2
 
Fopr_Wilson_eom_fopr_w
 
Fopr_CloverTerm_eom_fopr_csw
 
Index_eo m_idx
 
Field_Gm_U
 
Field m_w1
 
Field m_w2
 working field More...
 
Field m_v1
 working field More...
 
bool m_is_initial_step
 to avoid redundant setup More...
 

Additional Inherited Members

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

Detailed Description

Even-odd Clover fermion operator.

This class is an even-odd version of Clover fermion operator. At present this is rough implementation, while correctly works, and to be updated by supplying complete functionality. Only the functions needed for even-odd preconditioned solver are ready. 20 June 2012 S.UEDA Modify this code to work. [03 Mar 2013 Y.Namekawa] Multi-threaded. [12 Jul 2014 H.Matsufuru] unique_ptr is introduced to avoid memory leaks [21 Mar 2015 Y.Namekawa] Modifed toward ver.2.0. [04 Dec 2021 H.Matsufuru]

Definition at line 43 of file fopr_Clover_eo.h.

Constructor & Destructor Documentation

◆ Fopr_Clover_eo() [1/2]

DEPRECATED Fopr_Clover_eo::Fopr_Clover_eo ( const std::string  repr)
inline

Definition at line 75 of file fopr_Clover_eo.h.

◆ Fopr_Clover_eo() [2/2]

Fopr_Clover_eo::Fopr_Clover_eo ( const Parameters params)
inline

Definition at line 77 of file fopr_Clover_eo.h.

◆ ~Fopr_Clover_eo()

Fopr_Clover_eo::~Fopr_Clover_eo ( )
inline

Definition at line 79 of file fopr_Clover_eo.h.

Member Function Documentation

◆ D()

void Fopr_Clover_eo::D ( Field v,
const Field f 
)

Definition at line 332 of file fopr_Clover_eo.cpp.

◆ Ddag()

void Fopr_Clover_eo::Ddag ( Field v,
const Field f 
)

Definition at line 343 of file fopr_Clover_eo.cpp.

◆ DdagD()

void Fopr_Clover_eo::DdagD ( Field v,
const Field f 
)

Definition at line 308 of file fopr_Clover_eo.cpp.

◆ DDdag()

void Fopr_Clover_eo::DDdag ( Field v,
const Field f 
)

Definition at line 316 of file fopr_Clover_eo.cpp.

◆ field_nex()

int Fopr_Clover_eo::field_nex ( )
inlinevirtual

returns the external d.o.f. for which the fermion operator is defined.

Implements AFopr_eo< Field >.

Definition at line 123 of file fopr_Clover_eo.h.

◆ field_nin()

int Fopr_Clover_eo::field_nin ( )
inlinevirtual

returns the on-site d.o.f. for which the fermion operator is defined.

Implements AFopr_eo< Field >.

Definition at line 121 of file fopr_Clover_eo.h.

◆ field_nvol()

int Fopr_Clover_eo::field_nvol ( )
inlinevirtual

returns the volume for which the fermion operator is defined.

Implements AFopr_eo< Field >.

Definition at line 122 of file fopr_Clover_eo.h.

◆ flop_count()

double Fopr_Clover_eo::flop_count ( )
virtual

this returns the number of floating point operations.

Reimplemented from AFopr< Field >.

Definition at line 384 of file fopr_Clover_eo.cpp.

◆ get_mode()

std::string Fopr_Clover_eo::get_mode ( ) const
inline

Definition at line 93 of file fopr_Clover_eo.h.

◆ get_parameters()

void Fopr_Clover_eo::get_parameters ( Parameters params) const
virtual

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

Reimplemented from AFopr< Field >.

Definition at line 183 of file fopr_Clover_eo.cpp.

◆ H()

void Fopr_Clover_eo::H ( Field v,
const Field f 
)

Definition at line 324 of file fopr_Clover_eo.cpp.

◆ init() [1/2]

void Fopr_Clover_eo::init ( const Parameters params)
private

Definition at line 29 of file fopr_Clover_eo.cpp.

◆ init() [2/2]

void Fopr_Clover_eo::init ( const std::string  repr)
private

Definition at line 67 of file fopr_Clover_eo.cpp.

◆ Mdageo()

void Fopr_Clover_eo::Mdageo ( Field v,
const Field w,
const int  ieo 
)

Definition at line 365 of file fopr_Clover_eo.cpp.

◆ Meo()

void Fopr_Clover_eo::Meo ( Field v,
const Field f,
const int  ieo 
)

Definition at line 354 of file fopr_Clover_eo.cpp.

◆ mult()

void Fopr_Clover_eo::mult ( Field ,
const Field  
)
virtual

multiplies fermion operator to a given field (2nd argument)

Reimplemented from AFopr_eo< Field >.

Definition at line 220 of file fopr_Clover_eo.cpp.

◆ mult_dag()

void Fopr_Clover_eo::mult_dag ( Field ,
const Field  
)
virtual

hermitian conjugate of mult(Field&, const Field&).

Reimplemented from AFopr_eo< Field >.

Definition at line 241 of file fopr_Clover_eo.cpp.

◆ mult_gm5()

void Fopr_Clover_eo::mult_gm5 ( Field ,
const Field  
)
virtual

multiplies gamma_5 matrix.

Reimplemented from AFopr< Field >.

Definition at line 262 of file fopr_Clover_eo.cpp.

◆ mult_isigma()

void Fopr_Clover_eo::mult_isigma ( Field_F w,
const Field_F f,
const int  mu,
const int  nu 
)

Definition at line 376 of file fopr_Clover_eo.cpp.

◆ postProp()

void Fopr_Clover_eo::postProp ( Field x,
const Field xe,
const Field bo 
)
virtual

Implements AFopr_eo< Field >.

Definition at line 288 of file fopr_Clover_eo.cpp.

◆ preProp()

void Fopr_Clover_eo::preProp ( Field Be,
Field bo,
const Field b 
)
virtual

Implements AFopr_eo< Field >.

Definition at line 269 of file fopr_Clover_eo.cpp.

◆ set_config()

void Fopr_Clover_eo::set_config ( Field )
virtual

setting pointer to the gauge configuration.

Implements AFopr_eo< Field >.

Definition at line 194 of file fopr_Clover_eo.cpp.

◆ set_mode()

void Fopr_Clover_eo::set_mode ( const std::string  mode)
virtual

setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call.

Reimplemented from AFopr_eo< Field >.

Definition at line 208 of file fopr_Clover_eo.cpp.

◆ set_parameters() [1/2]

void Fopr_Clover_eo::set_parameters ( const double  kappa,
const double  cSW,
const std::vector< int >  bc 
)

Definition at line 157 of file fopr_Clover_eo.cpp.

◆ set_parameters() [2/2]

void Fopr_Clover_eo::set_parameters ( const Parameters params)
virtual

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

Reimplemented from AFopr< Field >.

Definition at line 121 of file fopr_Clover_eo.cpp.

◆ setup()

void Fopr_Clover_eo::setup ( )
private

Definition at line 94 of file fopr_Clover_eo.cpp.

◆ tidyup()

void Fopr_Clover_eo::tidyup ( )
private

Definition at line 113 of file fopr_Clover_eo.cpp.

Member Data Documentation

◆ class_name

const std::string Fopr_Clover_eo::class_name = "Fopr_Clover_eo"
static

Definition at line 46 of file fopr_Clover_eo.h.

◆ m_boundary

std::vector<int> Fopr_Clover_eo::m_boundary
private

boundary condition.

Definition at line 52 of file fopr_Clover_eo.h.

◆ m_cSW

double Fopr_Clover_eo::m_cSW
private

clover coefficient.

Definition at line 51 of file fopr_Clover_eo.h.

◆ m_fopr_csw

Fopr_CloverTerm_eo* Fopr_Clover_eo::m_fopr_csw
private

Definition at line 63 of file fopr_Clover_eo.h.

◆ m_fopr_w

Fopr_Wilson_eo* Fopr_Clover_eo::m_fopr_w
private

Definition at line 62 of file fopr_Clover_eo.h.

◆ m_idx

Index_eo Fopr_Clover_eo::m_idx
private

Definition at line 65 of file fopr_Clover_eo.h.

◆ m_is_initial_step

bool Fopr_Clover_eo::m_is_initial_step
private

to avoid redundant setup

Definition at line 71 of file fopr_Clover_eo.h.

◆ m_kappa

double Fopr_Clover_eo::m_kappa
private

hopping parameter.

Definition at line 50 of file fopr_Clover_eo.h.

◆ m_mode

std::string Fopr_Clover_eo::m_mode
private

Definition at line 56 of file fopr_Clover_eo.h.

◆ m_Nc

int Fopr_Clover_eo::m_Nc
private

Definition at line 59 of file fopr_Clover_eo.h.

◆ m_Nd

int Fopr_Clover_eo::m_Nd
private

Definition at line 59 of file fopr_Clover_eo.h.

◆ m_Ndim

int Fopr_Clover_eo::m_Ndim
private

Definition at line 59 of file fopr_Clover_eo.h.

◆ m_NinF

int Fopr_Clover_eo::m_NinF
private

Definition at line 59 of file fopr_Clover_eo.h.

◆ m_Nvol

int Fopr_Clover_eo::m_Nvol
private

Definition at line 60 of file fopr_Clover_eo.h.

◆ m_Nvol2

int Fopr_Clover_eo::m_Nvol2
private

Definition at line 60 of file fopr_Clover_eo.h.

◆ m_repr

std::string Fopr_Clover_eo::m_repr
private

gamma-matrix type

Definition at line 53 of file fopr_Clover_eo.h.

◆ m_U

Field_G* Fopr_Clover_eo::m_U
private

Definition at line 66 of file fopr_Clover_eo.h.

◆ m_v1

Field Fopr_Clover_eo::m_v1
private

working field

Definition at line 69 of file fopr_Clover_eo.h.

◆ m_vl

Bridge::VerboseLevel Fopr_Clover_eo::m_vl
private

verbose level

Definition at line 54 of file fopr_Clover_eo.h.

◆ m_w1

Field Fopr_Clover_eo::m_w1
private

Definition at line 68 of file fopr_Clover_eo.h.

◆ m_w2

Field Fopr_Clover_eo::m_w2
private

working field

Definition at line 68 of file fopr_Clover_eo.h.


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