33 int NinG = 2 * Nc * Nc;
38 double Stop_cond = 1.0e-24;
41 string str_solver_type =
"CG";
58 assert(NvolF == Nvol);
63 Field xi(NinF, NvolF, NexF);
73 double xi2 = xi.
norm();
74 double H_psf = xi2 * xi2;
94 Field v1(NinF, NvolF, NexF);
129 assert(force.
nin() == Nin);
130 assert(force.
nvol() == Nvol);
131 assert(force.
nex() == Nex);
136 Field eta(NinF, NvolF, NexF);
148 vout.
general(
m_vl,
" Solver: Nconv = %6d diff = %12.6e\n", Nconv, diff);
153 Field force_org(Nin, Nvol, Nex);
158 force = (
Field)Fboundary;
160 double Fave, Fmax, Fdev;
161 force.
stat(Fave, Fmax, Fdev);
162 vout.
general(
m_vl,
" Fstandard_ave = %12.6f Fstandard_max = %12.6f Fstandard_dev = %12.6f\n",
void force(Field &)
returns force for molcular dynamical update of conjugate momenta.
double dot(const Field &y, const Field &x)
void general(const char *format,...)
virtual void set_config(Field *)=0
setting pointer to the gauge configuration.
static const std::string class_name
Container of Field-type object.
virtual void set_config(Field *)=0
virtual void gauss_lex_global(Field &)
gaussian random number defined on global lattice.
virtual int field_nin()=0
returns the on-site d.o.f. for which the fermion operator is defined.
void set_parameter_verboselevel(const Bridge::VerboseLevel vl)
virtual void set_parameters(const Parameters ¶ms)=0
void set_boundary_spatial_link_zero()
Set the boundary spatial link to 0 for SF bc.
void reset(const int Nin, const int Nvol, const int Nex, const element_type cmpl=COMPLEX)
double calcH()
calculate Hamiltonian of this action term.
virtual int field_nex()=0
returns the external d.o.f. for which the fermion operator is defined.
virtual void force_core(Field &, const Field &)
Bridge::VerboseLevel get_VerboseLevel() const
Bridge::VerboseLevel m_vl
Base class of random number generators.
virtual void mult(Field &, const Field &)=0
multiplies fermion operator to a given field (2nd argument)
void set_boundary_zero(Field &f)
virtual void set_mode(std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
void stat(double &Fave, double &Fmax, double &Fdev) const
determines the statistics of the field. average, maximum value, and deviation is determined over glob...
double langevin(RandomNumbers *)
Langevis step.
virtual int field_nvol()=0
returns the volume for which the fermion operator is defined.
virtual void solve(Field &solution, const Field &source, int &Nconv, double &diff)=0
A class generated to add a function for the SF.