[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