[Carpet] interpolator problem
Erik Schnetter
schnetter at cct.lsu.edu
Wed Oct 11 22:23:51 CEST 2006
On Sep 27, 2006, at 15:07:25, Yosef Zlochower wrote:
> Hi,
>
> I am having some difficulty interpolating analysis variables (
> specifically psi4).
> I give the variables global storage of 1 time level. I calculate
> the analysis quantities with the schedule option
> OPTIONS: GLOBAL loop-local
> I then determine which level is the finest level containing
> a given sphere of points (for a later spherical harmonic
> decomposition).
> I then call a routine which will interpolate these points with the
> the options
> OPTIONS: Global loop-level.
> Inside the routine I check if the refinement level is the one
> I found previously, and if it is, call CCTK_InterpGridArrays.
> To complicate the issue a little, the gfs are actually calculated
> and interpolated twice during the analysis step (because I use
> two different tetrads).
>
> This works for most spheres, but in the case of a sphere
> with radius 5, the global interpolator seems to pass the interpolation
> points to the wrong processor. The interpolation then fails at the
> local level with errors like:
>
> WARNING[L1,P0] (AEILocalInterp):
> CCTK_InterpLocalUniform():
> interpolation point is either outside the grid,
> or inside but too close to the grid boundary!
> (this may be caused by a global interpolation with
> driver::ghost_size too small)
> 0-origin interpolation point number pt=4 of
> N_interp_points=16137
> interpolation point (x,y,z)=(0.294297,-0.00577926,4.99133)
> grid x_min(delta_x)x_max = -5.87305(0.125)1.12695
> grid y_min(delta_y)y_max = -5.87305(0.125)1.12695
> grid z_min(delta_z)z_max = -5.99805(0.125)1.00195
>
> (note that the interpolation point is in the +z bitant while
> this processor owns the -z bitant)
I have looked at this error, and I don't know where it comes from.
There are several possibilities:
- The grid point is not actually on this level, and there is an
earlier warning which you didn't show, or Carpet "forgets" to output
the corresponding warning
- Interpolation in level mode is not well tested; I think most people
use global mode
- This error may have been corrected recently; did you try the most
recent version?
Otherwise I'm afraid I cannot help you without further details. As a
first step, I would need to know what the routine map_points in
CarpetInterp does, and how it gets things wrong. You could add some
print statements to this routine to see whether it does what it should.
-erik
--
Erik Schnetter <schnetter at cct.lsu.edu>
My email is as private as my paper mail. I therefore support encrypting
and signing email messages. Get my PGP key from www.keyserver.net.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
Url : /archives/developers/attachments/20061011/f1233726/attachment.pgp
More information about the developers
mailing list