16 #ifdef USE_PARAMETERS_FACTORY
35 #ifdef USE_PARAMETERS_FACTORY
48 const string str_vlevel = params.
get_string(
"verbose_level");
60 err += params.
fetch_int(
"extent_of_5th_dimension", Ns);
64 vout.
crucial(
m_vl,
"Force_F_Domainwall: fetch error, input parameter not found.\n");
75 const int Ns,
const valarray<int> bc)
84 for (
int mu = 0; mu < Ndim; ++mu) {
95 vout.
crucial(
m_vl,
"Force_F_Domainwall: parameter range check failed.\n");
99 assert(bc.size() == Ndim);
107 for (
int mu = 0; mu < Ndim; ++mu) {
117 double kappa = 1.0 / (8.0 - 2.0 *
m_M0);
129 int NinG = 2 * Nc * Nc;
131 Field_G force(Nvol, Ndim), force1(Nvol, Ndim);
136 for (
int mu = 0; mu < Ndim; ++mu) {
137 for (
int site = 0; site < Nvol; ++site) {
138 ut =
m_U->
mat(site, mu) * force1.
mat(site, mu);
141 force.set_mat(site, mu, ut);
156 int NinG = 2 * Nc * Nc;
157 int NinF = 2 * Nc * Nd;
159 Field force(NinG, Nvol, Ndim), force2(NinG, Nvol, Ndim);
180 int NinG = 2 * Nc * Nc;
181 int NinF = 2 * Nc * Nd;
183 assert(eta.
nin() == NinF);
184 assert(eta.
nvol() == Nvol);
187 assert(zeta.
nin() == NinF);
188 assert(zeta.
nvol() == Nvol);
191 Field eta4(NinF, Nvol, 1), zeta4(NinF, Nvol, 1);
193 Field force(NinG, Nvol, Ndim);
197 for (
int is = 0; is <
m_Ns; ++is) {
199 eta4.setpart_ex(0, eta, is);