Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

cps::AlgPbp Class Reference
[Algorithms]

Class for quark condensate calculation. More...

#include <alg_pbp.h>

Inherits cps::Alg.

List of all members.

Public Member Functions

 AlgPbp (Lattice &latt, CommonArg *c_arg, PbpArg *arg)
virtual ~AlgPbp ()
void run (void)
 Performs the computation.
void runPointSource (int x, int y, int z, int t)
 Run the algorithm using point sources and domain wall fermions.


Detailed Description

Class for quark condensate calculation.

The condensate $ \bar\psi\psi $ (and similar things) are computed stochastically using the Conjugate Gradient algorithm. They can be computed for a number of different fermion masses.

It is normalized so that for large values of the mass, $ \bar\psi\psi $ = 1/mass for any fermion type.

This normalization results to the following small mass behavior for a trivial background gauge field with periodic boundary conditions:

The algorithm runs roughly as follows:

  1. Create a random gaussian vector R
  2. Solve M psi = R for psi where M is the fermion matrix. The initial guess for psi is a vector with every complex component equal to 1.
  3. Compute the normalised real part of the dot product <R,psi>.
  4. For Wilson type quarks, compute the normalised real part of the dot product <R, gamma_5 psi>; for staggered quarks, compute something else.

Definition at line 50 of file alg_pbp.h.


Constructor & Destructor Documentation

cps::AlgPbp::AlgPbp Lattice latt,
CommonArg c_arg,
PbpArg arg
 

Parameters:
latt The lattice on which to compute the condensate.
c_arg The common argument structure for all algorithms.
arg The algorithm parameters.

Definition at line 65 of file alg_pbp.C.

References cps::ERR, cps::Float, cps::Lattice::FsiteSize(), cps::Verbose::Func(), cps::GJP, cps::Error::Pointer(), cps::Verbose::Smalloc(), cps::smalloc(), cps::GlobalJobParameter::VolNodeSites(), and cps::VRB.

cps::AlgPbp::~AlgPbp  )  [virtual]
 

Definition at line 108 of file alg_pbp.C.

References cps::Verbose::Func(), cps::sfree(), cps::Verbose::Sfree(), and cps::VRB.


Member Function Documentation

void cps::AlgPbp::run void   ) 
 

Performs the computation.

Postcondition:
The results are written to the file specified in the common_arg structure.

Definition at line 128 of file alg_pbp.C.

References cps::Alg::AlgLattice(), cps::ARRAY, cps::CNV_FRM_YES, cps::CoorT(), cps::CoorX(), cps::CoorY(), cps::CoorZ(), cps::GlobalJobParameter::DwfA5Inv(), cps::GlobalJobParameter::DwfHeight(), cps::ERR, cps::Lattice::Fclass(), cps::Fclose(), cps::Lattice::Fdslash(), cps::Lattice::Ffive2four(), cps::Lattice::Ffour2five(), cps::Error::FileA(), cps::Float, cps::Lattice::FmatInv(), cps::Fopen(), cps::FOUR_D, cps::Fprintf(), cps::Lattice::FsiteSize(), cps::Verbose::Func(), cps::Lattice::Gamma5(), cps::Error::General(), cps::GJP, cps::IFloat, cps::LIN, cps::LOG, cps::PbpArg::mass, cps::CgArg::mass, cps::PbpArg::mass_start, cps::PbpArg::mass_step, cps::PbpArg::max_num_iter, cps::CgArg::max_num_iter, cps::PbpArg::n_masses, cps::PbpArg::pattern_kind, cps::Error::Pointer(), cps::MPISCU::printf(), cps::Lattice::RandGaussVector(), cps::Vector::ReDotProductGlbSum4D(), cps::CommonArg::results, cps::sfree(), cps::Verbose::Sfree(), cps::Verbose::Smalloc(), cps::smalloc(), cps::PbpArg::snk_l_s, cps::PbpArg::snk_loop, cps::PbpArg::snk_u_s, cps::GlobalJobParameter::Snodes(), cps::GlobalJobParameter::SnodeSites(), cps::PbpArg::src_l_s, cps::PbpArg::src_u_s, cps::PbpArg::stop_rsd, cps::CgArg::stop_rsd, cps::GlobalJobParameter::VolNodeSites(), cps::GlobalJobParameter::VolSites(), cps::VRB, cps::GlobalJobParameter::XiBare(), cps::GlobalJobParameter::XiV(), and cps::GlobalJobParameter::XiVXi().

Referenced by cps::AlgMeas::RunTask().

void cps::AlgPbp::runPointSource int  x,
int  y,
int  z,
int  t
 

Run the algorithm using point sources and domain wall fermions.

The algorithm runs roughly as follows:

  1. Create a vector R zero everywhere except at the site specified where only the spin s and colour c component is 1.
  2. Solve M psi = R for psi where M is the fermion matrix. The initial guess for psi is a vector with every complex component equal to 1.
  3. Compute the normalised real part of the dot product <R,psi>.
  4. Compute the normalised real part of the dot product <R, gamma_5 psi>.
  5. Repeat from step 1 for all other possible values of s and c.
  6. Sum the dot products over all spin and colour values.

Parameters:
x the x coordinate of the point source.
y the y coordinate of the point source.
z the z coordinate of the point source.
t the t coordinate of the point source.
Postcondition:
The results are written to the file specified in the common_arg structure,

Definition at line 592 of file alg_pbp.C.

References cps::Alg::AlgLattice(), cps::ARRAY, cps::CNV_FRM_YES, cps::GlobalJobParameter::Colors(), cps::GlobalJobParameter::DwfHeight(), cps::ERR, cps::Lattice::Fclass(), cps::Fclose(), cps::Lattice::Ffive2four(), cps::Lattice::Ffour2five(), cps::Error::FileA(), cps::Float, cps::Lattice::FmatInv(), cps::Fopen(), cps::Fprintf(), cps::Verbose::Func(), cps::Lattice::Gamma5(), cps::Error::General(), cps::GJP, cps::IFloat, cps::LIN, cps::LOG, cps::PbpArg::mass, cps::CgArg::mass, cps::PbpArg::mass_start, cps::PbpArg::mass_step, cps::PbpArg::max_num_iter, cps::CgArg::max_num_iter, cps::PbpArg::n_masses, cps::PbpArg::pattern_kind, cps::Error::Pointer(), cps::Vector::ReDotProductGlbSum4D(), cps::CommonArg::results, cps::sfree(), cps::Verbose::Sfree(), cps::Verbose::Smalloc(), cps::smalloc(), cps::PbpArg::snk_l_s, cps::PbpArg::snk_loop, cps::PbpArg::snk_u_s, cps::GlobalJobParameter::Snodes(), cps::GlobalJobParameter::SnodeSites(), cps::PbpArg::src_l_s, cps::PbpArg::src_u_s, cps::PbpArg::stop_rsd, cps::CgArg::stop_rsd, cps::GlobalJobParameter::TnodeCoor(), cps::GlobalJobParameter::Tnodes(), cps::GlobalJobParameter::TnodeSites(), cps::GlobalJobParameter::VolNodeSites(), cps::VRB, cps::GlobalJobParameter::XnodeCoor(), cps::GlobalJobParameter::Xnodes(), cps::GlobalJobParameter::XnodeSites(), cps::GlobalJobParameter::YnodeCoor(), cps::GlobalJobParameter::Ynodes(), cps::GlobalJobParameter::YnodeSites(), cps::GlobalJobParameter::ZnodeCoor(), cps::GlobalJobParameter::Znodes(), and cps::GlobalJobParameter::ZnodeSites().


The documentation for this class was generated from the following files:
Generated on Sat Oct 10 14:11:57 2009 for Columbia Physics System by  doxygen 1.3.9.1