16 #ifdef USE_PARAMETERS_FACTORY
35 #ifdef USE_PARAMETERS_FACTORY
48 const string str_vlevel = params.
get_string(
"verbose_level");
56 double lambda_Omelyan;
61 err += params.
fetch_int(
"number_of_steps", Nstep);
62 err += params.
fetch_double(
"lambda_Omelyan", lambda_Omelyan);
65 vout.
crucial(
m_vl,
"Integrator_Omelyan: fetch error, input parameter not found.\n");
76 double lambda_Omelyan)
109 Field force(Nin, Nvol, Nex), force1(Nin, Nvol, Nex);
120 for (
int i = 0; i <
m_action.size(); ++i) {
122 force += estep2 * force1;
128 for (
int istep = 1; istep <
m_Nstep + 1; istep++) {
133 estep2 = estep * (1.0 - 2.0 *
m_lambda);
135 for (
int i = 0; i <
m_action.size(); ++i) {
137 force += estep2 * force1;
144 if (istep == m_Nstep) estep2 = estep *
m_lambda;
147 for (
int i = 0; i <
m_action.size(); ++i) {
149 force += estep2 * force1;