#800: inconsistent boxes during refluxing very late in the run ---------------------+------------------------------------------------------ Reporter: rhaas | Owner: Type: defect | Status: review Priority: major | Milestone: Component: Other | Version: Resolution: | Keywords: Refluxing ---------------------+------------------------------------------------------ Changes (by rhaas):
* status: new => review
Comment:
I finally managed to produce a parameter file that triggers the same error during initial data. Run with: {{{ OMP_NUM_THREADS=1 mpirun -n 8 cactus_sim --redirect=oe reflux.par }}}
The failure should happen in process 5 with {{{ srcbbox: ([37,85,5]:[95,111,31]:[2,2,2]/[18,42,2]:[47,55,15]/[30,14,14]/5880) dstbbox: ([96,96,12]:[96,100,24]:[4,4,4]/[24,24,3]:[24,25,6]/[1,2,4]/8) regbbox: ([96,96,12]:[96,100,24]:[4,4,4]/[24,24,3]:[24,25,6]/[1,2,4]/8) WARNING level 0 in thorn CarpetLib processor 5 host horizon.tapir.caltech.edu (line 183 of /mnt/data/rhaas/postdoc/gr/Zelmani/arrangements/Carpet/CarpetLib/src/restrict_3d_vc_rf2.cc): -> Internal error: region extent is not contained in array extent }}} and indeed it is using a point at the very edge of a box for refluxing. Refluxing seems to be called for at this point (96,96,z) so this is fine and even using the very outer point is fine since no interpolation needs to be done in the x direction. So the patches above actually would seem to fix the problem rather than just hide it. It might still be safer to use the points from the neighbouring component which are non-ghost points compared to the ghost points currently used.
The grid structure visualizes relatively nicely by using the output of {{{
for((rl=0;$rl<2;rl++)) ; do for((c=0;$c<8;c++)) ; do if [ $rl -eq 0 ] && [ $c -eq 0 ] ; then printf 'plot ' else printf ',' fi printf '"<gawk '''$1==0 && $4==%d && $3==%d''' ./reflux/weight.xy.asc" u 6:7 t "r%dc%d"' $c $rl $rl $c done done echo "" }}}