[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