-- Brad Gallagher ASCI Flash Center jbgallag@flash.uchicago.edu
attached mail follows:
Dear Sir/Madam,
I am new FLASH user, I have one thing not understand yet. Please explain
for me some in the routine mg_set_exr_bndry.F90 of multigrid solver:
! Directly set any external Dirichlet or Neumann boundaries.
if ((mg_bnd_cond == MG_BND_DIRICHLET) .or. &
(mg_bnd_cond == MG_BND_GIVENVAL)) then !
Dirichlet/given-value
do lb = 1, lnblocks
nbr_blks = dBaseNeighborBlockList(lb)
if ((mg_geometry == MG_GEOM_1DCARTESIAN) .or. &
(mg_geometry == MG_GEOM_2DCARTESIAN) .or. &
(mg_geometry == MG_GEOM_3DCARTESIAN)) then
if (nbr_blks(1) <= -20) then
work(ili-1,:,:,lb) = -work(ili,:,:,lb)
! work(ili-1,:,:,lb) = -2.5*work(ili,:,:,lb) -
0.5*work(ili+1,:,:,lb)
! work(ili-1,:,:,lb) = C1*work(ili,:,:,lb) +
C2*work(ili+1,:,:,lb) + C3*work(ili+2,:,:,lb)
work(ili-2,:,:,lb) = -10.5*work(ili,:,:,lb) +
2.5*work(ili+1,:,:,lb)
endif
else
...
Where the factor -10.5, 2.5, C1, C2 come from?
Why the algorithm differs from that in the routine tot_bnd.F90?
I am not understand yet, please help me Sir.
Thanks in advance,
Hoang.
Received on Wed Apr 28 14:54:47 2004
This archive was generated by hypermail 2.1.8 : Thu Aug 31 2006 - 21:20:48 CDT