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

Wilson-type fermion field. More...

#include <field_F.h>

Inheritance diagram for Field_F:
Field

Public Member Functions

 Field_F (const int Nvol=CommonParameters::Nvol(), const int Nex=1)
 
 Field_F (const Field &x)
 
int nc () const
 
int nc2 () const
 
int nd () const
 
double cmp_r (const int cc, const int s, const int site, const int e=0) const
 
double cmp_i (const int cc, const int s, const int site, const int e=0) const
 
void set_r (const int cc, const int s, const int site, const int e, const double re)
 
void set_i (const int cc, const int s, const int site, const int e, const double im)
 
void set_ri (const int cc, const int s, const int site, const int e, const double re, const double im)
 
Vec_SU_N vec (const int s, const int site, const int e=0) const
 
void set_vec (const int s, const int site, const int e, const Vec_SU_N &F)
 
void add_vec (const int s, const int site, const int e, const Vec_SU_N &F)
 
void clear_vec (const int s, const int site, const int e)
 
void xI ()
 
void Ix (const Field_F &w)
 
void mult_Field_Gn (int ex, const Field_G &, int ex1, const Field_F &, int ex2)
 
void mult_Field_Gd (int ex, const Field_G &, int ex1, const Field_F &, int ex2)
 
void multadd_Field_Gn (int ex, const Field_G &, int ex1, const Field_F &, int ex2, double)
 
void multadd_Field_Gd (int ex, const Field_G &, int ex1, const Field_F &, int ex2, double)
 
void mult_GM (const GammaMatrix &, const Field_F &)
 gamma matrix multiplication More...
 
void mult_iGM (const GammaMatrix &, const Field_F &)
 gamma matrix multiplication (i is multiplied) More...
 
void mult_GMproj (int, const GammaMatrix &, const Field_F &)
 projection with gamma matrix: (1 gamma)/2 More...
 
void mult_GMproj2 (int, const GammaMatrix &, const Field_F &)
 projection with gamma matrix: (1 gamma) More...
 
double operator* (const Field_F &)
 
void check ()
 
template<typename T >
Field_Foperator= (const T &rhs)
 
template<typename T >
Field_Foperator+= (const T &rhs)
 
template<typename T >
Field_Foperator-= (const T &rhs)
 
Field_Foperator- ()
 
Field_Foperator= (const double &)
 
Field_Foperator+= (const Field_F &)
 
Field_Foperator-= (const Field_F &)
 
Field_Foperator*= (const double &)
 
Field_Foperator*= (const dcomplex &)
 
Field_Foperator/= (const double &)
 
Field_Foperator/= (const dcomplex &)
 
- Public Member Functions inherited from Field
 Field ()
 
 Field (const int Nin, const int Nvol, const int Nex, const complexness cmpl=COMPLEX)
 
void reset (const int Nin, const int Nvol, const int Nex, const complexness cmpl=COMPLEX)
 
int nin () const
 
int nex () const
 
int nvol () const
 
int ntot () const
 
int size () const
 
complexness field_complexness () const
 
double cmp (const int jin, const int site, const int jex) const
 
double cmp (const int i) const
 
double * ptr (const int i)
 
void set (const int jin, const int site, const int jex, double v)
 
void set (const int i, double v)
 
void add (const int jin, const int site, const int jex, double v)
 
void add (const int i, double v)
 
void setpart_ex (int ex, const Field &w, int exw)
 
void addpart_ex (int ex, const Field &w, int exw)
 
void addpart_ex (int ex, const Field &w, int exw, double prf)
 
double norm () const
 
double ddotc (const Field &x) const
 
double norm2 () const
 
void daxpy (double a, const Field &x)
 
void daxpy (dcomplex a, const Field &x)
 
void dscal (double a)
 
void dcopy (const Field &x)
 
void dcopy (double a, const Field &x)
 
void clear ()
 
void stat (double &Fave, double &Fmax, double &Fdev)
 determines the statistics of the field. average, maximum value, and deviation is determined over global lattice. On-site degree of freedom is sumed over in quadrature, not averaged. This function works only on single node. More...
 
void write_text (std::string)
 write field values to a text file. More...
 
void read_text (std::string)
 read field values from text file. Assumes field size is already defined, and if it is inconsistent with the field in the file, aborted. This function works only on single node. More...
 
Fieldoperator- ()
 
Fieldoperator= (const double &)
 
Fieldoperator+= (const Field &)
 
Fieldoperator-= (const Field &)
 
Fieldoperator*= (const double &)
 
Fieldoperator/= (const double &)
 
double operator* (const Field &rhs)
 

Private Member Functions

int myindex (const int c2, const int s, const int site, const int ex) const
 

Private Attributes

int m_Nc
 
int m_Nc2
 
int m_Nvol
 
int m_Nd
 
int m_Nex
 

Additional Inherited Members

- Public Types inherited from Field
enum  complexness { COMPLEX, REAL }
 
- Protected Member Functions inherited from Field
int myindex (const int jin, const int site, const int jex) const
 
- Protected Attributes inherited from Field
std::valarray< double > field
 
int m_Nvol
 
int m_Nin
 
int m_Nex
 
complexness m_complexness
 
int m_Ntot
 
Bridge::VerboseLevel m_vl
 

Detailed Description

Wilson-type fermion field.

This class defines 4-spinor (in the case of Ndim=4) fermion field, which is mainly used by Wilson-type fermions. Original version of this class was written by J.Noaki. H.Matsufuru added several functions and modified intefaces of several functionality. [28 Dec 2011 H.Matsufuru]

Definition at line 34 of file field_F.h.

Constructor & Destructor Documentation

Field_F::Field_F ( const int  Nvol = CommonParameters::Nvol(),
const int  Nex = 1 
)
inline

Definition at line 49 of file field_F.h.

Field_F::Field_F ( const Field x)
inline

Definition at line 60 of file field_F.h.

Member Function Documentation

void Field_F::add_vec ( const int  s,
const int  site,
const int  e,
const Vec_SU_N F 
)
inline

Definition at line 124 of file field_F.h.

void Field_F::check ( )

Definition at line 30 of file field_F_imp.cpp.

void Field_F::clear_vec ( const int  s,
const int  site,
const int  e 
)
inline

Definition at line 132 of file field_F.h.

double Field_F::cmp_i ( const int  cc,
const int  s,
const int  site,
const int  e = 0 
) const
inline

Definition at line 80 of file field_F.h.

double Field_F::cmp_r ( const int  cc,
const int  s,
const int  site,
const int  e = 0 
) const
inline

Definition at line 74 of file field_F.h.

void Field_F::Ix ( const Field_F w)
inline

Definition at line 157 of file field_F.h.

void Field_F::mult_Field_Gd ( int  ex,
const Field_G U,
int  ex1,
const Field_F x,
int  ex2 
)

Definition at line 206 of file field_F_imp.cpp.

void Field_F::mult_Field_Gn ( int  ex,
const Field_G U,
int  ex1,
const Field_F x,
int  ex2 
)

Definition at line 168 of file field_F_imp.cpp.

void Field_F::mult_GM ( const GammaMatrix gm,
const Field_F x 
)

gamma matrix multiplication

Definition at line 38 of file field_F_imp.cpp.

void Field_F::mult_GMproj ( int  pm,
const GammaMatrix gm,
const Field_F w 
)

projection with gamma matrix: (1 gamma)/2

Definition at line 116 of file field_F_imp.cpp.

void Field_F::mult_GMproj2 ( int  pm,
const GammaMatrix gm,
const Field_F w 
)

projection with gamma matrix: (1 gamma)

Definition at line 142 of file field_F_imp.cpp.

void Field_F::mult_iGM ( const GammaMatrix gm,
const Field_F x 
)

gamma matrix multiplication (i is multiplied)

Definition at line 77 of file field_F_imp.cpp.

void Field_F::multadd_Field_Gd ( int  ex,
const Field_G U,
int  ex1,
const Field_F x,
int  ex2,
double  a 
)

Definition at line 282 of file field_F_imp.cpp.

void Field_F::multadd_Field_Gn ( int  ex,
const Field_G U,
int  ex1,
const Field_F x,
int  ex2,
double  a 
)

Definition at line 244 of file field_F_imp.cpp.

int Field_F::myindex ( const int  c2,
const int  s,
const int  site,
const int  ex 
) const
inlineprivate

Definition at line 42 of file field_F.h.

int Field_F::nc ( ) const
inline

Definition at line 70 of file field_F.h.

int Field_F::nc2 ( ) const
inline

Definition at line 71 of file field_F.h.

int Field_F::nd ( ) const
inline

Definition at line 72 of file field_F.h.

double Field_F::operator* ( const Field_F rhs)
inline

Definition at line 276 of file field_F.h.

Field_F & Field_F::operator*= ( const double &  rhs)
inline

Definition at line 262 of file field_F.h.

Field_F& Field_F::operator*= ( const dcomplex &  )
template<typename T >
Field_F& Field_F::operator+= ( const T &  rhs)
inline

Definition at line 208 of file field_F.h.

Field_F & Field_F::operator+= ( const Field_F rhs)
inline

Definition at line 248 of file field_F.h.

Field_F & Field_F::operator- ( )
inline

Definition at line 241 of file field_F.h.

template<typename T >
Field_F& Field_F::operator-= ( const T &  rhs)
inline

Definition at line 215 of file field_F.h.

Field_F & Field_F::operator-= ( const Field_F rhs)
inline

Definition at line 255 of file field_F.h.

Field_F & Field_F::operator/= ( const double &  rhs)
inline

Definition at line 269 of file field_F.h.

Field_F& Field_F::operator/= ( const dcomplex &  )
template<typename T >
Field_F& Field_F::operator= ( const T &  rhs)
inline

Definition at line 201 of file field_F.h.

Field_F & Field_F::operator= ( const double &  r)
inline

Definition at line 234 of file field_F.h.

void Field_F::set_i ( const int  cc,
const int  s,
const int  site,
const int  e,
const double  im 
)
inline

Definition at line 92 of file field_F.h.

void Field_F::set_r ( const int  cc,
const int  s,
const int  site,
const int  e,
const double  re 
)
inline

Definition at line 86 of file field_F.h.

void Field_F::set_ri ( const int  cc,
const int  s,
const int  site,
const int  e,
const double  re,
const double  im 
)
inline

Definition at line 98 of file field_F.h.

void Field_F::set_vec ( const int  s,
const int  site,
const int  e,
const Vec_SU_N F 
)
inline

Definition at line 116 of file field_F.h.

Vec_SU_N Field_F::vec ( const int  s,
const int  site,
const int  e = 0 
) const
inline

Definition at line 105 of file field_F.h.

void Field_F::xI ( )
inline

Definition at line 139 of file field_F.h.

Member Data Documentation

int Field_F::m_Nc
private

Definition at line 36 of file field_F.h.

int Field_F::m_Nc2
private

Definition at line 37 of file field_F.h.

int Field_F::m_Nd
private

Definition at line 39 of file field_F.h.

int Field_F::m_Nex
private

Definition at line 40 of file field_F.h.

int Field_F::m_Nvol
private

Definition at line 38 of file field_F.h.


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