#2398: Multipole: Default (midpoint) integration method incorrectly implemented, yielding wrong results... especially with m=odd modes
Reporter:Zach Etienne
Status:new
Milestone:
Version:
Type:bug
Priority:major
Component:EinsteinToolkit thorn

Multipole works by first interpolating (e.g., psi4) data onto a uniform grid in theta and phi, such that

theta = [0,pi], where theta = 0,dth,2 dth, …, N dth=pi

and

phi = [0, 2 pi], where phi = 0, dph, 2 dph, …, N dph=2 pi

(See https://bitbucket.org/einsteintoolkit/einsteinanalysis/src/26d17d9edfecafd0c516e38fe8343bdc1d11eb5d/Multipole/src/utils.cc#lines-322 )

Clearly these are not midpoints. Further the integration for midpoint method proceeds as (https://bitbucket.org/einsteintoolkit/einsteinanalysis/src/26d17d9edfecafd0c516e38fe8343bdc1d11eb5d/Multipole/src/integrate.cc#lines-51):

  for (iy = 0; iy <= ny; iy++)
    for (ix = 0; ix <= nx; ix++)
      integrand_sum += f[idx(ix,iy)];

  return--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2398/multipole-default-midpoint-integration