15 #ifdef USE_PARAMETERS_FACTORY
33 #ifdef USE_PARAMETERS_FACTORY
48 const string str_vlevel = params.
get_string(
"verbose_level");
58 err += params.
fetch_int(
"order_of_RungeKutta", order_RK);
60 err += params.
fetch_int(
"number_of_steps", Nstep);
61 err += params.
fetch_int(
"order_of_approx_for_exp_iP", Nprec);
74 const double Estep,
const int Nstep,
const int Nprec)
116 for (
int i = 0; i <
m_Nstep; ++i) {
131 Eplaq = 36.0 * (1.0 - plaq);
133 Eplaq = tt * tt * Eplaq;
135 vout.
general(
m_vl,
" (t, plaq, t^2 E_plaq) = %.8f %.16f %.16f\n", tt, plaq, Eplaq);
138 double result = Eplaq;
153 for (
int ex = 0; ex < Nex; ++ex) {
154 for (
int site = 0; site < Nvol; ++site) {
155 u0 = U.
mat(site, ex);
156 u1 = U.
mat(site, ex);
157 h1 = iP.
mat(site, ex);
159 for (
int iprec = 0; iprec <
m_Nprec; ++iprec) {
160 double exf = estep / (m_Nprec - iprec);
188 const double c2 = 0.5;
206 { 0.25, -17.0 / 36.0, 8.0 / 9.0, 0.75, };
static const std::string class_name
void scal(Field &x, const double a)
scal(x, a): x = a * x
virtual void notify_linkv()=0
to be called when gauge configuration is updated.
void Register_string(const string &, const string &)
void update_U(double estep, Field_G &iP, Field_G &U)
void gradientFlow_3rd(Field_G &U)
void general(const char *format,...)
void Register_int(const string &, const int)
double plaquette(const Field_G &)
calculates plaquette value.
virtual const Field force()=0
returns force for molcular dynamical update of conjugate momenta.
void copy(Field &y, const Field &x)
copy(y, x): y = x
void gradientFlow_2nd(Field_G &U)
void gradientFlow_4th(Field_G &U)
virtual void set_config(Field *U)=0
setting pointer to the gauge configuration.
int square_non_zero(const double v)
void axpy(Field &y, const double a, const Field &x)
axpy(y, a, x): y := a * x + y
double evolve(Field_G &U)
void gradientFlow_1st(Field_G &U)
void crucial(const char *format,...)
static bool Register(const std::string &realm, const creator_callback &cb)
Bridge::VerboseLevel m_vl
int non_negative(const int v)
void Register_double(const string &, const double)
int fetch_double(const string &key, double &val) const
string get_string(const string &key) const
void set_mat(const int site, const int mn, const Mat_SU_N &U)
Parameters_GradientFlow()
Mat_SU_N mat(const int site, const int mn=0) const
int fetch_int(const string &key, int &val) const
void set_parameters(const Parameters ¶ms)
static VerboseLevel set_verbose_level(const std::string &str)