[FLASH-USERS] Using guard cell corners... bad?
Kevin Olson
Kevin.M.Olson at drexel.edu
Thu Mar 3 12:59:46 EST 2011
Dear Aaron,
There is a way to force PARAMESH to fill the corners cells correctly.
Here is how it is done in PARAMESH:
mype = local process no.
iopt = 1
nguard = total no. of guardcells
diagonals = .true. ! This is what tells the guardcell filling to ensure that diagonal cells are filled correctly
call amr_guardcell (mype, iopt, nguard)
The key here is to set the 'diagonals' variables to be true.
You may need to dig into the FLASH code a bit to find exactly where and how they ulitmately call the guardcell filling routine and modify that.
Note that this will not work with PARAMESH v2 !!!
Best,
Kevin Olson
On Mar 3, 2011, at 10:40 AM, Aaron Jackson wrote:
> Dear flash-users,
>
> I'm implementing a turbulence operator described originally in Colin et al. (2000) in which I need to perform a curl of the laplacian of the velocity field. This requires two finite difference operators, which to fit onto one block, requires the use of the guard cell corners. In quiescent test cases I have run, significant numerical noise develops along block boundaries, even at the same refinement level. Since I don't have this problem using a uniform grid, my guess is that corner guard cell information is not actually copied from the diagonally adjacent neighbor, but rather interpolated from the edge-adjacent neighbors.
>
> My main question is:
> Is there any way to get corner guard-cells filled by copying/prolonging/restricting data from the diagonally-adjacent neighbor?
>
> I know that the obvious fix is to perform the laplacian operator first, then perform a guard cell fill and then perform the curl, but in order for my turbulence measure to be meaningful, it must be associated with a particular length scale. This becomes a problem if the edge-adjacent neighbor is at a different refinement level. I've thought of introducing a different stride in the finite differences (possible odd-even decoupling), or potentially reducing the order of the finite-difference (5 to 3-point stencil) if the refinement level of the neighbor is 1 lower than maximum. But I'm uncertain about the accuracy of these choices. I would much prefer data directly from the diagonally adjacent neighbors to be filled to the guard cell corners.
>
> Thanks,
> -Aaron
>
> --
> Aaron P. Jackson
> Department of Physics and Astronomy
> Stony Brook University
> Stony Brook, NY 11789-3800
>
> email: Aaron.Jackson at stonybrook.edu
> web: http://www.astro.sunysb.edu/ajackson
>
More information about the flash-users
mailing list