316 for(
int k = idx[2].first(); k < std::min(
nr_m[2] + 2, idx[2].last() + 3); k++) {
317 for(
int j = idx[1].first(); j < std::min(
nr_m[1] + 2, idx[1].last() + 3); j++) {
318 for(
int i = idx[0].first(); i < std::min(
nr_m[0] + 2, idx[0].last() + 3); i++) {
325 r =
sqrt(vv(0) * vv(0) + vv(1) * vv(1) + vv(2) * vv(2));
326 tmpgrn = -vv(2) * vv(2) *
atan(vv(0) * vv(1) / (vv(2) * r)) / 2;
327 tmpgrn += -vv(1) * vv(1) *
atan(vv(0) * vv(2) / (vv(1) * r)) / 2;
328 tmpgrn += -vv(0) * vv(0) *
atan(vv(1) * vv(2) / (vv(0) * r)) / 2;
329 tmpgrn += vv(1) * vv(2) *
log(vv(0) + r);
330 tmpgrn += vv(0) * vv(2) *
log(vv(1) + r);
331 tmpgrn += vv(0) * vv(1) *
log(vv(2) + r);
400 for(
int k = idx[2].first(); k < std::min(
nr_m[2] + 2, idx[2].last() + 3); k++) {
401 for(
int j = idx[1].first(); j < std::min(
nr_m[1] + 2, idx[1].last() + 3); j++) {
402 for(
int i = idx[0].first(); i < std::min(
nr_m[0] + 2, idx[0].last() + 3); i++) {
407 vv(2) = k *
hr_m[2] -
hr_m[2] / 2 + zshift;
409 r =
sqrt(vv(0) * vv(0) + vv(1) * vv(1) + vv(2) * vv(2));
410 tmpgrn = -vv(2) * vv(2) *
atan(vv(0) * vv(1) / (vv(2) * r)) / 2;
411 tmpgrn += -vv(1) * vv(1) *
atan(vv(0) * vv(2) / (vv(1) * r)) / 2;
412 tmpgrn += -vv(0) * vv(0) *
atan(vv(1) * vv(2) / (vv(0) * r)) / 2;
413 tmpgrn += vv(1) * vv(2) *
log(vv(0) + r);
414 tmpgrn += vv(0) * vv(2) *
log(vv(1) + r);
415 tmpgrn += vv(0) * vv(1) *
log(vv(2) + r);
426 for(
int k = idx[2].first(); k < std::min(
nr_m[2] + 2, idx[2].last() + 3); k++) {
427 for(
int j = idx[1].first(); j < std::min(
nr_m[1] + 2, idx[1].last() + 3); j++) {
428 for(
int i = idx[0].first(); i < std::min(
nr_m[0] + 2, idx[0].last() + 3); i++) {
436 r =
sqrt(vv(0) * vv(0) + vv(1) * vv(1) + vv(2) * vv(2));
437 tmpgrn = -vv(2) * vv(2) *
atan(vv(0) * vv(1) / (vv(2) * r)) / 2;
438 tmpgrn += -vv(1) * vv(1) *
atan(vv(0) * vv(2) / (vv(1) * r)) / 2;
439 tmpgrn += -vv(0) * vv(0) *
atan(vv(1) * vv(2) / (vv(0) * r)) / 2;
440 tmpgrn += vv(1) * vv(2) *
log(vv(0) + r);
441 tmpgrn += vv(0) * vv(2) *
log(vv(1) + r);
442 tmpgrn += vv(0) * vv(1) *
log(vv(2) + r);
470 ggrn2[I][J][K] = grn2[I+1][J+1][K+1];
471 ggrn2[I][J][K] += grn2[I+1][J][K];
472 ggrn2[I][J][K] += grn2[I][J+1][K];
473 ggrn2[I][J][K] += grn2[I][J][K+1];
474 ggrn2[I][J][K] -= grn2[I+1][J+1][K];
475 ggrn2[I][J][K] -= grn2[I+1][J][K+1];
476 ggrn2[I][J][K] -= grn2[I][J+1][K+1];
477 ggrn2[I][J][K] -= grn2[I][J][K];
PETE_TTTree< OpWhere, typename Cond_t::PETE_Expr_t, typename True_t::PETE_Expr_t, PETE_Scalar< Vektor< T, Dim > > > where(const PETE_Expr< Cond_t > &c, const PETE_Expr< True_t > &t, const Vektor< T, Dim > &f)