Go to the documentation of this file.
76 double Fpsf = 1.0/(double(NinF * NvolF * NexF) * double(NPE));
78 assert(NvolF == Nvol);
81 Field xi(NinF, NvolF, NexF);
84 Field v1(NinF, NvolF, NexF);
85 Field v2(NinF, NvolF, NexF);
109 const double H_psf1 = xi.
norm2();
111 if(ith == 0) H_psf = H_psf1;
143 double Fpsf = 1.0/(double(NinF * NvolF * NexF) * double(NPE));
145 Field v1(NinF, NvolF, NexF);
146 Field v2(NinF, NvolF, NexF);
168 double H_psf1 =
dot(v1, v2);
170 if(ith == 0) H_psf = H_psf1;
195 const int Nin =
m_U->
nin();
197 const int Nex =
m_U->
nex();
201 assert(
force.nin() == Nin);
202 assert(
force.nvol() == Nvol);
203 assert(
force.nex() == Nex);
209 Field v1(NinF, NvolF, NexF);
210 Field v2(NinF, NvolF, NexF);
234 Field force_tmp(Nin, Nvol, Nex);
248 double Fave, Fmax, Fdev;
249 force.stat(Fave, Fmax, Fdev);
void set_string(const string &key, const string &value)
double langevin(RandomNumbers *)
Langevis step.
virtual void mult(AFIELD &, const AFIELD &)
multiplies fermion operator to a given field.
virtual void force_core1(AFIELD &, const AFIELD &, const AFIELD &)
Force * m_fopr_prec_force
void set_config(Field *U)
setting pointer to the gauge configuration.
virtual int field_nex()=0
returns the external degree of freedom of the fermion field.
Base class of random number generators.
virtual void set_mode(const std::string &mode)
in Force, setting the mode is optional when H is nonhermitian.
virtual void set_config(Field *)=0
void axpy(Field &y, const double a, const Field &x)
axpy(y, a, x): y := a * x + y
double dot(const Field &y, const Field &x)
virtual void set_mode(std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
virtual void set_config(Field *)=0
sets the gauge configuration.
virtual void mult_dag(AFIELD &, const AFIELD &)
hermitian conjugate of mult.
double calcH()
calculate Hamiltonian of this action term.
virtual int field_nvol()=0
returns the volume of the fermion field.
void force(Field &)
returns force for molcular dynamical update of conjugate momenta.
static const std::string class_name
void reset(const int Nin, const int Nvol, const int Nex, const element_type cmpl=Element_type::COMPLEX)
virtual void invert_DdagD(Field &, const Field &, int &, double &)=0
virtual void set_config(Field *)=0
sets verbose level.
virtual void force_core(AFIELD &, const AFIELD &)
static VerboseLevel set_verbose_level(const std::string &str)
Bridge::VerboseLevel m_vl
int fetch_string(const string &key, string &value) const
void crucial(const char *format,...)
Container of Field-type object.
virtual void gauss_lex_global(Field &)
gaussian random number defined on global lattice.
virtual int field_nin()=0
returns the on-site degree of freedom of the fermion field.
double elapsed_sec() const
static int get_thread_id()
returns thread id.
void general(const char *format,...)
static std::string get_verbose_level(const VerboseLevel vl)
void get_parameters(Parameters &) const