[FLASH-USERS] gr_findAllNeghID
Klaus Weide
klaus at flash.uchicago.edu
Mon Nov 27 13:52:04 EST 2017
On Mon, 27 Nov 2017, John ZuHone wrote:
> Hi all,
>
> I suspect that this is a question mostly for Klaus, but if anyone here has any thoughts I’d appreciate it.
>
> I'm developing a new module in which I need to know the grid information
> about not only the neighbor blocks but also the blocks on the corners.
> For that, I am attempting to use the gr_findAllNeghID function, which is
> used currently by the routines which map particle properties to the
> mesh. I am aware that this function needs to have a sane grid structure,
> which is typically set up during a call to Grid_fillGuardCells. I
> believe that calling the function gr_ensureValidNeighborInfo should do
> the job, if I'm not mistaken.
>
.....
> I've tried adding a call to Grid_fillGuardCells right before the call to
> gr_findAllNeghID (which is overkill for my application, but worth a
> shot), as well as gr_ensureValidNeighborInfo(10), but neither of these
> things work.
>
> Does anyone have any idea what I need to do to get this function to work properly?
John,
Just some ideas here:
1) Make sure the interface of gr_findAllNeghID is known explicitly where
you call it, so you should have something like:
use gr_interfaceTypeDecl
use gr_interface, ONLY : gr_findAllNeghID
2) You may find the subroutine gr_checkGridState useful
3) Subroutine gr_findAllNeghID is also applied in the code that couples
FLASH to HYPRE, so maybe you can find a useful hint for use in
source/Grid/GridSolvers/HYPRE/paramesh/gr_hypreSetupGrid.F90 .
4) How many blocks and procs do you have?
Are the block and proc numbers that occur in the following lines
reasonable at all?
> . My block is: 542 and proc is: 540
> . My block is: 1082 and proc is: 1080
It looks suspicious that block and proc numbers are so close...
Anyway, does this problem occur even on 1 proc?
Does it occur always, or only starting at a certain number of blocks, and/or
in particular grid configurations?
Also, what exactly is the information on neighboring blocks that you want
to access? I am asking because there may already be different ways to get
at the information, as for example Grid_getBlkNeighLevels for neighboring
refinement levels.
Klaus
More information about the flash-users
mailing list