[FLASH-USERS] Using guard cell corners... bad?
Aaron Jackson
Aaron.Jackson at stonybrook.edu
Thu Mar 3 10:40:23 EST 2011
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