[FLASH-USERS] [Fwd: Help me!]

From: JB Gallagher <jbgallag@flash.uchicago.edu>
Date: Wed Apr 28 2004 - 14:54:17 CDT

-- 
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