Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Fopr_Clover_eo Class Reference

Even-odd Clover fermion operator. More...

#include <fopr_Clover_eo.h>

Inheritance diagram for Fopr_Clover_eo:
Fopr_eo Fopr

Public Member Functions

 Fopr_Clover_eo (std::string repr)
 
 ~Fopr_Clover_eo ()
 
void set_parameters (const Parameters &params)
 
void set_parameters (const double kappa, const double cSW, const std::valarray< int > bc)
 
void set_config (Field *U)
 setting pointer to the gauge configuration. More...
 
void set_mode (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
 
const Field mult (const Field &f)
 multiplies fermion operator to a given field and returns the resultant field. More...
 
const Field mult_dag (const Field &f)
 hermitian conjugate of mult(const Field&). More...
 
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 assert_single_thread ()
 function returning Field instance must be called from single thread. More...
 
void prePropD (Field &, Field &, const Field &)
 
void postPropD (Field &, const Field &, const Field &)
 
void prePropDag (Field &, Field &, const Field &)
 
void postPropDag (Field &, const Field &, const Field &)
 
const Field_F mult_csw_inv (const Field_F &, const int ieo)
 
const Field D (const Field &f)
 
const Field Ddag (const Field &f)
 
const Field DdagD (const Field &f)
 
const Field DDdag (const Field &f)
 
const Field H (const Field &f)
 
const Field mult_gm5 (const Field &f)
 
const Field MeoMoe (const Field &f)
 
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 mult_gm5 (Field &v, const Field &f)
 
void MeoMoe (Field &v, const Field &f)
 
void Meo (Field &, const Field &, const int ieo)
 
void Meo_gm5 (Field_F &, const Field_F &, const int ieo)
 
void Mdageo (Field_F &, const Field_F &, const int ieo)
 
const Field_F Meo (const Field_F &, const int ieo)
 
const Field_F Meo_gm5 (const Field_F &, const int ieo)
 
const Field_F Mdageo (const Field_F &, const int ieo)
 
void mult_isigma (Field_F &w, const Field_F &f, const int mu, const int nu)
 
std::vector< double > csmatrix (const int &site)
 
int field_nvol ()
 returns the volume for which the fermion operator is defined. More...
 
int field_nin ()
 returns the on-site d.o.f. 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 Fopr_eo
virtual ~Fopr_eo ()
 
std::string get_mode () const
 
- Public Member Functions inherited from Fopr
 Fopr ()
 
virtual ~Fopr ()
 
void set_parameter_verboselevel (const Bridge::VerboseLevel vl)
 
virtual void mult_up (int mu, Field &, const Field &)
 nearest neighbor hopping term: temporary entry [H.Matsufuru] More...
 
virtual void mult_dn (int mu, Field &, const Field &)
 

Static Public Attributes

static const std::string class_name = "Fopr_Clover_eo"
 

Private Member Functions

void init (const std::string repr)
 
void tidyup ()
 

Private Attributes

int m_Nc
 
int m_Nd
 
int m_NinF
 
int m_Ndim
 
int m_Nvol
 
int m_Nvol2
 
double m_kappa
 hopping parameter. More...
 
double m_cSW
 clover coefficient. More...
 
std::valarray< int > m_boundary
 boundary condition. More...
 
std::string m_mode
 
Fopr_Wilson_eom_fopr_w
 
Fopr_CloverTerm_eom_fopr_csw
 
Index_eo m_idx
 
Field_Gm_Ueo
 
Field m_w1
 working field. More...
 
Field_F m_vF1
 
Field_F m_vF2
 
Field_F m_vF3
 working field. More...
 
void(Fopr_Clover_eo::* m_mult )(Field &, const Field &)
 
void(Fopr_Clover_eo::* m_mult_dag )(Field &, const Field &)
 
void(Fopr_Clover_eo::* m_preProp )(Field &, Field &, const Field &)
 
void(Fopr_Clover_eo::* m_postProp )(Field &, const Field &, const Field &)
 

Additional Inherited Members

- Protected Attributes inherited from Fopr
Bridge::VerboseLevel m_vl
 

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 is ready. 20 June 2012 S.UEDA Modify this code to work. [03 Mar 2013 Y.Namekawa] Multi-threaded. [12 Jul 2014 H.Matsufuru]

Definition at line 52 of file fopr_Clover_eo.h.

Constructor & Destructor Documentation

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

Definition at line 82 of file fopr_Clover_eo.h.

Fopr_Clover_eo::~Fopr_Clover_eo ( )
inline

Definition at line 84 of file fopr_Clover_eo.h.

Member Function Documentation

void Fopr_Clover_eo::assert_single_thread ( )

function returning Field instance must be called from single thread.

Definition at line 160 of file fopr_Clover_eo.cpp.

std::vector<double> Fopr_Clover_eo::csmatrix ( const int &  site)
inline

Definition at line 194 of file fopr_Clover_eo.h.

const Field Fopr_Clover_eo::D ( const Field f)

Definition at line 177 of file fopr_Clover_eo.cpp.

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

Definition at line 267 of file fopr_Clover_eo.cpp.

const Field Fopr_Clover_eo::Ddag ( const Field f)

Definition at line 187 of file fopr_Clover_eo.cpp.

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

Definition at line 277 of file fopr_Clover_eo.cpp.

const Field Fopr_Clover_eo::DdagD ( const Field f)

Definition at line 197 of file fopr_Clover_eo.cpp.

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

Definition at line 288 of file fopr_Clover_eo.cpp.

const Field Fopr_Clover_eo::DDdag ( const Field f)

Definition at line 207 of file fopr_Clover_eo.cpp.

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

Definition at line 296 of file fopr_Clover_eo.cpp.

int Fopr_Clover_eo::field_nex ( )
inlinevirtual

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

Implements Fopr_eo.

Definition at line 199 of file fopr_Clover_eo.h.

int Fopr_Clover_eo::field_nin ( )
inlinevirtual

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

Implements Fopr_eo.

Definition at line 198 of file fopr_Clover_eo.h.

int Fopr_Clover_eo::field_nvol ( )
inlinevirtual

returns the volume for which the fermion operator is defined.

Implements Fopr_eo.

Definition at line 197 of file fopr_Clover_eo.h.

double Fopr_Clover_eo::flop_count ( )
virtual

this returns the number of floating point operations.

Reimplemented from Fopr.

Definition at line 328 of file fopr_Clover_eo.cpp.

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

Reimplemented from Fopr.

Definition at line 120 of file fopr_Clover_eo.h.

const Field Fopr_Clover_eo::H ( const Field f)

Definition at line 217 of file fopr_Clover_eo.cpp.

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

Definition at line 304 of file fopr_Clover_eo.cpp.

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

Definition at line 50 of file fopr_Clover_eo.cpp.

void Fopr_Clover_eo::Mdageo ( Field_F v,
const Field_F f,
const int  ieo 
)

Definition at line 366 of file fopr_Clover_eo.cpp.

const Field_F Fopr_Clover_eo::Mdageo ( const Field_F f,
const int  ieo 
)

Definition at line 257 of file fopr_Clover_eo.cpp.

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

Definition at line 355 of file fopr_Clover_eo.cpp.

const Field_F Fopr_Clover_eo::Meo ( const Field_F f,
const int  ieo 
)

Definition at line 237 of file fopr_Clover_eo.cpp.

void Fopr_Clover_eo::Meo_gm5 ( Field_F v,
const Field_F f,
const int  ieo 
)

Definition at line 376 of file fopr_Clover_eo.cpp.

const Field_F Fopr_Clover_eo::Meo_gm5 ( const Field_F f,
const int  ieo 
)

Definition at line 247 of file fopr_Clover_eo.cpp.

const Field Fopr_Clover_eo::MeoMoe ( const Field f)

Definition at line 167 of file fopr_Clover_eo.cpp.

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

Definition at line 319 of file fopr_Clover_eo.cpp.

const Field Fopr_Clover_eo::mult ( const Field )
inlinevirtual

multiplies fermion operator to a given field and returns the resultant field.

Implements Fopr_eo.

Definition at line 123 of file fopr_Clover_eo.h.

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

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

Reimplemented from Fopr_eo.

Definition at line 139 of file fopr_Clover_eo.h.

const Field_F Fopr_Clover_eo::mult_csw_inv ( const Field_F ,
const int  ieo 
)
const Field Fopr_Clover_eo::mult_dag ( const Field )
inlinevirtual

hermitian conjugate of mult(const Field&).

Reimplemented from Fopr_eo.

Definition at line 131 of file fopr_Clover_eo.h.

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

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

Reimplemented from Fopr_eo.

Definition at line 142 of file fopr_Clover_eo.h.

const Field Fopr_Clover_eo::mult_gm5 ( const Field f)

Definition at line 227 of file fopr_Clover_eo.cpp.

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

Definition at line 312 of file fopr_Clover_eo.cpp.

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

Definition at line 386 of file fopr_Clover_eo.cpp.

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

Implements Fopr_eo.

Definition at line 149 of file fopr_Clover_eo.h.

void Fopr_Clover_eo::postPropD ( Field x,
const Field xe,
const Field bo 
)

Definition at line 416 of file fopr_Clover_eo.cpp.

void Fopr_Clover_eo::postPropDag ( Field x,
const Field xe,
const Field bo 
)

Definition at line 458 of file fopr_Clover_eo.cpp.

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

Implements Fopr_eo.

Definition at line 146 of file fopr_Clover_eo.h.

void Fopr_Clover_eo::prePropD ( Field Be,
Field bo,
const Field b 
)

Definition at line 394 of file fopr_Clover_eo.cpp.

void Fopr_Clover_eo::prePropDag ( Field Be,
Field bo,
const Field b 
)

Definition at line 436 of file fopr_Clover_eo.cpp.

void Fopr_Clover_eo::set_config ( Field )
virtual

setting pointer to the gauge configuration.

Implements Fopr_eo.

Definition at line 147 of file fopr_Clover_eo.cpp.

void Fopr_Clover_eo::set_mode ( std::string  mode)
inlinevirtual

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

Reimplemented from Fopr_eo.

Definition at line 91 of file fopr_Clover_eo.h.

void Fopr_Clover_eo::set_parameters ( const Parameters params)
virtual

Implements Fopr.

Definition at line 91 of file fopr_Clover_eo.cpp.

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

Definition at line 116 of file fopr_Clover_eo.cpp.

void Fopr_Clover_eo::tidyup ( )
private

Definition at line 81 of file fopr_Clover_eo.cpp.

Member Data Documentation

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

Definition at line 55 of file fopr_Clover_eo.h.

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

boundary condition.

Definition at line 63 of file fopr_Clover_eo.h.

double Fopr_Clover_eo::m_cSW
private

clover coefficient.

Definition at line 62 of file fopr_Clover_eo.h.

Fopr_CloverTerm_eo* Fopr_Clover_eo::m_fopr_csw
private

Definition at line 68 of file fopr_Clover_eo.h.

Fopr_Wilson_eo* Fopr_Clover_eo::m_fopr_w
private

Definition at line 67 of file fopr_Clover_eo.h.

Index_eo Fopr_Clover_eo::m_idx
private

Definition at line 70 of file fopr_Clover_eo.h.

double Fopr_Clover_eo::m_kappa
private

hopping parameter.

Definition at line 61 of file fopr_Clover_eo.h.

std::string Fopr_Clover_eo::m_mode
private

Definition at line 65 of file fopr_Clover_eo.h.

void(Fopr_Clover_eo::* Fopr_Clover_eo::m_mult)(Field &, const Field &)
private

Definition at line 76 of file fopr_Clover_eo.h.

void(Fopr_Clover_eo::* Fopr_Clover_eo::m_mult_dag)(Field &, const Field &)
private

Definition at line 77 of file fopr_Clover_eo.h.

int Fopr_Clover_eo::m_Nc
private

Definition at line 58 of file fopr_Clover_eo.h.

int Fopr_Clover_eo::m_Nd
private

Definition at line 58 of file fopr_Clover_eo.h.

int Fopr_Clover_eo::m_Ndim
private

Definition at line 58 of file fopr_Clover_eo.h.

int Fopr_Clover_eo::m_NinF
private

Definition at line 58 of file fopr_Clover_eo.h.

int Fopr_Clover_eo::m_Nvol
private

Definition at line 59 of file fopr_Clover_eo.h.

int Fopr_Clover_eo::m_Nvol2
private

Definition at line 59 of file fopr_Clover_eo.h.

void(Fopr_Clover_eo::* Fopr_Clover_eo::m_postProp)(Field &, const Field &, const Field &)
private

Definition at line 79 of file fopr_Clover_eo.h.

void(Fopr_Clover_eo::* Fopr_Clover_eo::m_preProp)(Field &, Field &, const Field &)
private

Definition at line 78 of file fopr_Clover_eo.h.

Field_G* Fopr_Clover_eo::m_Ueo
private

Definition at line 71 of file fopr_Clover_eo.h.

Field_F Fopr_Clover_eo::m_vF1
private

Definition at line 74 of file fopr_Clover_eo.h.

Field_F Fopr_Clover_eo::m_vF2
private

Definition at line 74 of file fopr_Clover_eo.h.

Field_F Fopr_Clover_eo::m_vF3
private

working field.

Definition at line 74 of file fopr_Clover_eo.h.

Field Fopr_Clover_eo::m_w1
private

working field.

Definition at line 73 of file fopr_Clover_eo.h.


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