Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Field_G_SF Class Reference

SU(N) gauge field class in which a few functions are added for the SF. More...

#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)
 
Field_G_SFoperator= (const Field_G_SF &v)
 
void set_parameters (const std::vector< double > &phi, const std::vector< double > &phipr)
 Set the parameter by giving vector 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 (const int t, const 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 clone () const
 
 Field_G (const Field &x)
 
Field_Goperator= (const Field_G &v)
 
void reset (const int Nvol, const int Nex)
 
int nc () const
 
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 set_unit ()
 
void set_random (RandomNumbers *rand)
 
void set_random (unique_ptr< RandomNumbers > &rand)
 
void reunit ()
 
- Public Member Functions inherited from Field
 Field ()
 
 Field (const int Nin, const int Nvol, const int Nex, const element_type cmpl=Element_type::COMPLEX)
 
Field clone () const
 
void reset (const int Nin, const int Nvol, const int Nex, const element_type cmpl=Element_type::COMPLEX)
 
Fieldoperator= (const Field &v)
 
int nin () const
 
int nvol () const
 
int nex () const
 
element_type field_element_type () const
 
int ntot () const
 
int size () const
 
bool check_size (const int nin, const int nvol, const int nex) const
 checking size parameters. [23 May 2016 H.Matsufuru] More...
 
double cmp (const int jin, const int site, const int jex) const
 
double cmp (const int i) const
 
const double * ptr (const int jin, const int site, const int jex) const
 
double * ptr (const int jin, const int site, const int jex)
 
const double * ptr (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 set (double a)
 
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 norm2 () const
 
double norm () const
 
void stat (double &Fave, double &Fmax, double &Fdev) const
 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...
 

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 m_Nx
 
int m_Ny
 
int m_Nz
 
int m_Nt
 
int m_Svol
 
int m_NPEt
 
Mat_SU_N m_wk
 SF boundary condition at t=0. More...
 
Mat_SU_N m_wkpr
 SF boundary condition at t=Nt. More...
 

Additional Inherited Members

- Public Types inherited from Field
typedef Element_type::type element_type
 
typedef double real_t
 
- Protected Member Functions inherited from Field
size_t myindex (const int jin, const int site, const int jex) const
 
- Protected Attributes inherited from Field
int m_Nin
 
int m_Nvol
 
int m_Nex
 
element_type m_element_type
 
std::valarray< double > field
 
Bridge::VerboseLevel m_vl
 

Detailed Description

SU(N) gauge field class in which a few functions are added for the SF.

This class defines SU(N) gauge field, which is used such as gauge configuration.

  • A derived class from Field_G in order to add a few functions to manipulate the boundary link variables.
  • An inheritance was adopted since we need to manipulate the Field contents and upcast into Filed_G object.
  • [23 Mar 2012 Y.Taniguchi]

Definition at line 33 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 55 of file field_G_SF.h.

Field_G_SF::Field_G_SF ( const Field x)
inline

Definition at line 69 of file field_G_SF.h.

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

Definition at line 83 of file field_G_SF.h.

Member Function Documentation

void Field_G_SF::mult_ct_boundary ( const int  t,
const 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 128 of file field_G_SF.cpp.

Field_G_SF& Field_G_SF::operator= ( const Field_G_SF v)
inline

Definition at line 121 of file field_G_SF.h.

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 102 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 229 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 27 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 155 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 53 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 179 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 78 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 203 of file field_G_SF.cpp.

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

Set the parameter by giving vector objects.

Definition at line 245 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 261 of file field_G_SF.cpp.

Member Data Documentation

int Field_G_SF::m_Nc
private

number of color elements

Definition at line 37 of file field_G_SF.h.

int Field_G_SF::m_Ndf
private

number of components as real values

Definition at line 39 of file field_G_SF.h.

int Field_G_SF::m_Nex
private

extra degree of freedom, such as mu, nu.

Definition at line 43 of file field_G_SF.h.

int Field_G_SF::m_NPEt
private

Definition at line 46 of file field_G_SF.h.

int Field_G_SF::m_Nt
private

Definition at line 45 of file field_G_SF.h.

int Field_G_SF::m_Nvol
private

number of sites

Definition at line 41 of file field_G_SF.h.

int Field_G_SF::m_Nx
private

Definition at line 45 of file field_G_SF.h.

int Field_G_SF::m_Ny
private

Definition at line 45 of file field_G_SF.h.

int Field_G_SF::m_Nz
private

Definition at line 45 of file field_G_SF.h.

int Field_G_SF::m_Svol
private

Definition at line 45 of file field_G_SF.h.

Mat_SU_N Field_G_SF::m_wk
private

SF boundary condition at t=0.

Definition at line 49 of file field_G_SF.h.

Mat_SU_N Field_G_SF::m_wkpr
private

SF boundary condition at t=Nt.

Definition at line 51 of file field_G_SF.h.


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