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

#include <field_G_SF.h>

Inheritance diagram for Field_G_SF:
Field_G Field

Public Member Functions

 Field_G_SF (const int Nvol=CommonParameters::Nvol(), const int Nex=1)
 
 Field_G_SF (const Field &x)
 
 Field_G_SF (double *phi, double *phipr)
 
void set_parameters (const Parameters_Field_G_SF &params)
 Set the parameter with Parameters_Field_G_SF class. More...
 
void set_parameters (const std::valarray< double > &phi, const std::valarray< double > &phipr)
 Set the parameter by giving valarray objects. More...
 
void set_parameters (double *phi, double *phipr)
 Set the parameter for the boundary links Wk, Wk'. More...
 
void set_boundary_wk (const Mat_SU_N &U)
 Set the boundary spatial link at t=0 for SF bc. More...
 
void set_boundary_wkpr (const Mat_SU_N &U)
 Set the boundary spatial link at t=Nt-1 for SF bc. More...
 
void set_boundary_zero ()
 Set the boundary matrix to 0 for SF bc. More...
 
void set_boundary_spatial_link_zero ()
 Set the boundary spatial link to 0 for SF bc. More...
 
void mult_ct_boundary (int t, double ct)
 Multiply the boundary improvement factor ct or ctr to an SU(N) matrix object which belongs to a site at t. More...
 
void set_boundary_wk (Field_G &f)
 Set the boundary spatial link at t=0 for SF bc. More...
 
void set_boundary_wkpr (Field_G &f)
 Set the boundary spatial link at t=Nt-1 for SF bc. More...
 
void set_boundary_zero (Field_G &f)
 Set the boundary matrix to 0 for SF bc. More...
 
void set_boundary_spatial_link_zero (Field_G &f)
 Set the boundary spatial link to 0 for SF bc. More...
 
- Public Member Functions inherited from Field_G
 Field_G (const int Nvol=CommonParameters::Nvol(), const int Nex=1)
 
 Field_G (const Field &x)
 
void reset (const int Nvol, const int Nex)
 
double cmp_r (const int cc, const int site, const int mn=0) const
 
double cmp_i (const int cc, const int site, const int mn=0) const
 
void set_r (const int cc, const int site, const int mn, const double re)
 
void set_i (const int cc, const int site, const int mn, const double im)
 
void set_ri (const int cc, const int site, const int mn, const double re, const double im)
 
Mat_SU_N mat (const int site, const int mn=0) const
 
Mat_SU_N mat_dag (const int site, const int mn=0) const
 
void mat (Mat_SU_N &Tmp, const int site, const int mn=0) const
 
void mat_dag (Mat_SU_N &Tmp, const int site, const int mn=0) const
 
void set_mat (const int site, const int mn, const Mat_SU_N &U)
 
void add_mat (const int site, const int mn, const Mat_SU_N &U)
 
void add_mat (const int site, const int mn, const Mat_SU_N &U, double prf)
 
void xI ()
 
void mult_Field_Gnn (int ex, const Field_G &, int ex1, const Field_G &, int ex2)
 
void mult_Field_Gnd (int ex, const Field_G &, int ex1, const Field_G &, int ex2)
 
void mult_Field_Gdn (int ex, const Field_G &, int ex1, const Field_G &, int ex2)
 
void mult_Field_Gdd (int ex, const Field_G &, int ex1, const Field_G &, int ex2)
 
void multadd_Field_Gnn (int ex, const Field_G &, int ex1, const Field_G &, int ex2, double)
 
void multadd_Field_Gnd (int ex, const Field_G &, int ex1, const Field_G &, int ex2, double)
 
void multadd_Field_Gdn (int ex, const Field_G &, int ex1, const Field_G &, int ex2, double)
 
void multadd_Field_Gdd (int ex, const Field_G &, int ex1, const Field_G &, int ex2, double)
 
void ah_Field_G (int ex)
 bulk operation of antihermitian More...
 
void at_Field_G (int ex)
 bulk operation of antihermitian traceless More...
 
Field_Goperator- ()
 
Field_Goperator= (const double &)
 
Field_Goperator+= (const Field_G &)
 
Field_Goperator-= (const Field_G &)
 
Field_Goperator*= (const double &)
 
Field_Goperator*= (const dcomplex &)
 
Field_Goperator/= (const double &)
 
Field_Goperator/= (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 Attributes

int m_Nc
 number of color elements More...
 
int m_Ndf
 number of components as real values More...
 
int m_Nvol
 number of sites More...
 
int m_Nex
 extra degree of freedom, such as mu, nu. More...
 
int Nx
 
int Ny
 
int Nz
 
int Nt
 
int Svol
 
int NPEt
 
Mat_SU_N wk
 SF boundary condition at t=0. More...
 
Mat_SU_N wkpr
 SF boundary condition at t=Nt. More...
 

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

Definition at line 41 of file field_G_SF.h.

Constructor & Destructor Documentation

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

Definition at line 64 of file field_G_SF.h.

Field_G_SF::Field_G_SF ( const Field x)
inline

Definition at line 78 of file field_G_SF.h.

Field_G_SF::Field_G_SF ( double *  phi,
double *  phipr 
)
inline

Definition at line 92 of file field_G_SF.h.

Member Function Documentation

void Field_G_SF::mult_ct_boundary ( int  t,
double  ct 
)

Multiply the boundary improvement factor ct or ctr to an SU(N) matrix object which belongs to a site at t.

Multiply the boundary improvement factor ct or ctr to an SU(N) matrix object attached to the boundary t=0 or t=Nt.

  • Supposed to be used for a matrix given by upper(g,mu,nu) or lower(g,mu,nu) when it is attached to the t=0 boundary.
  • The SU(N) matrix object may belong to a site at t=0 or t=1 or t=Nt.
  • This function performs no check if the object is a proper one at the boundary.
  • Lorentz index is set to mn=0.
  • Introduced by Yusuke Taniguchi for SF bc.

Definition at line 151 of file field_G_SF.cpp.

void Field_G_SF::set_boundary_spatial_link_zero ( )

Set the boundary spatial link to 0 for SF bc.

Set the boundary spatial link to zero.

  • Supposed to be used for a force for the boundary spatial link in order to keep it zero.
  • Lorentz index mn runs for spatial value.
  • Introduced by Yusuke Taniguchi for SF bc.

Definition at line 125 of file field_G_SF.cpp.

void Field_G_SF::set_boundary_spatial_link_zero ( Field_G f)

Set the boundary spatial link to 0 for SF bc.

Set the boundary spatial link to zero.

  • Supposed to be used for a force for the boundary spatial link in order to keep it zero.
  • Lorentz index mn runs for spatial value.
  • Field is given as an argument.
  • Introduced by Yusuke Taniguchi for SF bc.

Definition at line 252 of file field_G_SF.cpp.

void Field_G_SF::set_boundary_wk ( const Mat_SU_N U)

Set the boundary spatial link at t=0 for SF bc.

Set the boundary spatial link $U_k(t=0)$ to its proper Dirichlet bounday $W_k$.

  • Supposed to be used for u_mu given by u_mu.setpart_ex(0, *g,mu) when mu is a spatial.
  • Lorentz index is set to mn=0.
  • Wk is given as an argument U.
  • Introduced by Yusuke Taniguchi for SF bc.

Definition at line 50 of file field_G_SF.cpp.

void Field_G_SF::set_boundary_wk ( Field_G f)

Set the boundary spatial link at t=0 for SF bc.

Set the boundary spatial link $U_k(t=0)$ to its proper Dirichlet bounday $W_k$.

  • Supposed to be used for u_mu given by u_mu.setpart_ex(0, *g,mu) when mu is a spatial.
  • Lorentz index is set to mn=0.
  • Field is given as an argument.
  • Introduced by Yusuke Taniguchi for SF bc.

Definition at line 178 of file field_G_SF.cpp.

void Field_G_SF::set_boundary_wkpr ( const Mat_SU_N U)

Set the boundary spatial link at t=Nt-1 for SF bc.

Set the boundary spatial link $U_k(t=N_t-1)$ to its proper Dirichlet bounday $W_k'$.

  • Supposed to be used for v given by shift.backward(v,u_nu,mu) when mu is a temporal.
  • Lorentz index is set to mn=0.
  • Wk' is given as an argument U.
  • Introduced by Yusuke Taniguchi for SF bc.

Definition at line 76 of file field_G_SF.cpp.

void Field_G_SF::set_boundary_wkpr ( Field_G f)

Set the boundary spatial link at t=Nt-1 for SF bc.

Set the boundary spatial link $U_k(t=N_t-1)$ to its proper Dirichlet bounday $W_k'$.

  • Supposed to be used for v given by shift.backward(v,u_nu,mu) when mu is a temporal.
  • Lorentz index is set to mn=0.
  • Field is given as an argument.
  • Introduced by Yusuke Taniguchi for SF bc.

Definition at line 202 of file field_G_SF.cpp.

void Field_G_SF::set_boundary_zero ( )

Set the boundary matrix to 0 for SF bc.

Set the boundary matrix to zero.

  • Supposed to be used for a staple for the boundary spatial plaquette in order to keep the corresponding force to zero.
  • Lorentz index is set to mn=0.
  • Introduced by Yusuke Taniguchi for SF bc.

Definition at line 101 of file field_G_SF.cpp.

void Field_G_SF::set_boundary_zero ( Field_G f)

Set the boundary matrix to 0 for SF bc.

Set the boundary matrix to zero.

  • Supposed to be used for a staple for the boundary spatial plaquette in order to keep the corresponding force to zero.
  • Lorentz index is set to mn=0.
  • Field is given as an argument.
  • Introduced by Yusuke Taniguchi for SF bc.

Definition at line 226 of file field_G_SF.cpp.

void Field_G_SF::set_parameters ( const Parameters_Field_G_SF params)

Set the parameter with Parameters_Field_G_SF class.

Definition at line 268 of file field_G_SF.cpp.

void Field_G_SF::set_parameters ( const std::valarray< double > &  phi,
const std::valarray< double > &  phipr 
)

Set the parameter by giving valarray objects.

Definition at line 278 of file field_G_SF.cpp.

void Field_G_SF::set_parameters ( double *  phi,
double *  phipr 
)

Set the parameter for the boundary links Wk, Wk'.

Definition at line 294 of file field_G_SF.cpp.

Member Data Documentation

int Field_G_SF::m_Nc
private

number of color elements

Definition at line 45 of file field_G_SF.h.

int Field_G_SF::m_Ndf
private

number of components as real values

Definition at line 47 of file field_G_SF.h.

int Field_G_SF::m_Nex
private

extra degree of freedom, such as mu, nu.

Definition at line 51 of file field_G_SF.h.

int Field_G_SF::m_Nvol
private

number of sites

Definition at line 49 of file field_G_SF.h.

int Field_G_SF::NPEt
private

Definition at line 54 of file field_G_SF.h.

int Field_G_SF::Nt
private

Definition at line 53 of file field_G_SF.h.

int Field_G_SF::Nx
private

Definition at line 53 of file field_G_SF.h.

int Field_G_SF::Ny
private

Definition at line 53 of file field_G_SF.h.

int Field_G_SF::Nz
private

Definition at line 53 of file field_G_SF.h.

int Field_G_SF::Svol
private

Definition at line 53 of file field_G_SF.h.

Mat_SU_N Field_G_SF::wk
private

SF boundary condition at t=0.

Definition at line 57 of file field_G_SF.h.

Mat_SU_N Field_G_SF::wkpr
private

SF boundary condition at t=Nt.

Definition at line 59 of file field_G_SF.h.


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