16 #ifdef USE_PARAMETERS_FACTORY
37 #ifdef USE_PARAMETERS_FACTORY
50 const string str_vlevel = params.
get_string(
"verbose_level");
65 err += params.
fetch_int(
"number_of_poles", Np);
68 err += params.
fetch_int(
"maximum_number_of_iteration", Niter_ms);
69 err += params.
fetch_double(
"convergence_criterion_squared", Stop_cond_ms);
73 vout.
crucial(
m_vl,
"Fprop_Overlap_5d: fetch error, input parameter not found.\n");
78 set_parameters(mq, M0, Np, x_min, x_max, Niter_ms, Stop_cond_ms, bc);
86 double mq = params_overlap.
get_double(
"quark_mass");
87 double M0 = params_overlap.
get_double(
"domain_wall_height");
88 int Np = params_overlap.
get_int(
"number_of_poles");
89 double x_min = params_overlap.
get_double(
"lower_bound");
90 double x_max = params_overlap.
get_double(
"upper_bound");
91 int Niter_ms = params_overlap.
get_int(
"maximum_number_of_iteration");
92 double Stop_cond_ms = params_overlap.
get_double(
"convergence_criterion_squared");
93 std::valarray<int> bc = params_overlap.
get_int_vector(
"boundary_condition");
95 set_parameters(mq, M0, Np, x_min, x_max, Niter_ms, Stop_cond_ms, bc);
102 const int Np,
const double x_min,
const double x_max,
103 const int Niter_ms,
const double Stop_cond_ms,
104 const valarray<int> bc)
117 for (
int mu = 0; mu < Ndim; ++mu) {
131 vout.
crucial(
m_vl,
"Fprop_Overlap_5d: parameter range check failed.\n");
135 assert(bc.size() == Ndim);
147 assert(bc.size() == Ndim);
148 for (
int mu = 0; mu < Ndim; ++mu) {
167 double kappa = 0.5 / (4.0 -
m_M0);
187 double snorm = 1.0 / b.
norm2();
190 int nconv, nconv1, nconv2;
191 double diff, diff1, diff2;
219 double snorm = 1.0 / b.
norm2();
222 int nconv, nconv1, nconv2;
223 double diff, diff1, diff2;
228 nconv = nconv1 + nconv2;
229 diff = diff1 + diff2;
253 int& nconv,
double& diff,
double& snorm)
256 int Npl = 2 *
m_Np + 1;
260 int Nvol2 = Nvol / 2;
269 Field v(Nin, Nvol2, Npl);
270 Field s(Nin, Nvol2, Npl);
271 Field t(Nin, Nvol2, Npl);
272 Field p(Nin, Nvol2, Npl);
273 Field x(Nin, Nvol2, Npl);
275 Field be(Nin, Nvol2, 1);
276 Field bo(Nin, Nvol2, 1);
296 solver->
solve(x, s, nconv, diff);
318 Field xqe(Nin, Nvol2, 1);
319 Field xqo(Nin, Nvol2, 1);
320 Field xt(Nin, Nvol2, 1);