[FLASH-USERS] Grid_bcApplyToRegionSpecialized
turcotte
turcotte at apollo.ubishops.ca
Thu Aug 20 11:25:30 EDT 2009
Hello all,
I am having problems using Grid_bcApplyToRegionSpecialized for a user
defined BC.
In the simplest case I am trying to reproduce what is done by
Grid_applyBCEdge in Grid_bcApplyToRegionSpecialized, while keeping the routine
as general as possible to change it to a more complicated BC.
For a 2D box in cylindrical coordinates, applying the BC on the x=0 boundary,
I loop thusly:
applied=.true.
sizeX=regionSize(BC_DIR)
allocate(xCoord(sizeX))
sizeY=regionSize(2)
allocate(yCoord(sizeY))
call Grid_getCellCoords(IAXIS,blockID,CENTER,.true.,xCoord,sizeX)
call Grid_getCellCoords(JAXIS,blockID,CENTER,.true.,yCoord,sizeY)
do j = 1,sizeY
do i = 1,sizeX
regionData(i,j,:,VELY_VAR) = value
! where value will be a function of xCoord(i) and yCoord(j)
enddo
enddo
It works partly, but I have some data points, especially at cell boundaries
where the BC does not hold value it should. If I make my BC a function of
xCoord and yCoord then its behaviour worsens, which suggests I am missing
something in the way the mesh is structured?
I have also tried wrinting the loop as
do i = 1,guard
regionData(i,:,:,VELY_VAR) = value
enddo
which works better but still has some problems for some variables.
Thanks.
Sylvain
More information about the flash-users
mailing list