Diagonalized Upwind Navier Stokes Code

Tutorial Page


9. RELEVANT VARIABLES IN THE DUNS CODE

9.1 Multi-Blocking Variables

These variables are used to define the grid. It actually uses two grids, one at nodal points (which is the one read in), and another grid located at grid centers, used for storing all the flow variables. These variables generally have a c in their name (such as xc(*), uc(*), vc(*))

nblock          === number of blocks in grid

nmx             === total number of cell center points (include ghost cells)
nmxn            === total number of nodal points
nmxb            === maximum number of cell center points for any one block

mnx(nbck)       === imax for block number nbck for grid nodes
mny(nbck)       === jmax for block number nbck for grid nodes
mnz(nbck)       === kmax for block number nbck for grid nodes
mnxyz(nbck)     === starting index for block nbck
xn(n)           === nodal point x location
yn(n)           === nodal point y location
zn(n)           === nodal point z location

mimx(nbck)      === imax for block number nbck for cell centers + ghost cells
mjmx(nbck)      === jmax for block number nbck for cell centers + ghost cells
mkmx(nbck)      === kmax for block number nbck for cell centers + ghost cells
mijkmx(nbck)    === starting index for block nbck
xc(n)           === cell center point x location
yc(n)           === cell center point y location
zc(n)           === cell center point z location

9.2 Connectivity Variables

These variables correspond to the grid connectivity information found in conn.dat. They are used only sparingly in the code, and serve only to set up the sweep blocks and boundary conditions.

nb(nbck,isid)   === block connection for block nbck, side isid
isurf(nbck,isid)=== surface connection for block nbck, side isid
izone(nbck,isid)=== zone connection for block nbck, side isid*
iaxis(nbck,isid)=== axis maps between block nbck, side isid and its neighbor
                    (should be zero unless nb(nbck,isid) is nonzero)

9.3 Interior Ghost Cell Variables

These variables correspond to interior ghost cells, and only serve to provide a pointer between the ghost cell and its associated interior cell.

nintgc          === total number of interior ghost cells
intgc(n,2)      === ghost cell index and its associated interior cell index

9.4 Surface Variables

These variables are associated with the surfaces

nsurf           === number of surfaces for grid
ismax(nsf)      === number of cells per surface
surfind(is,nsf) === pointers to the ghost cells for surface nsf.
surfind2(is,nsf)=== pointers to the first half-point within domain next
                    to surface.

9.5 Sweep Blocking Variables

The variables are associated with the sweep blocking that is used to evaluate the left and right hand transport terms. One sweep block corresponds to an i or j sweep; for instance, for one block in 2d, you need 2 sweep blocks; in 3d, you need 3 sweep blocks. Also may be referred to as solution blocks, and Phil described them as new blocks.

iblock          === total number of sweep blocks
iblkmx          === total number of index pointers

iimx(ibck)      === imax in the sweeping direction
jjmx(ibck)      === jmax (non-sweeping direction)
kkmx(ibck)      === kmax (non-sweeping direction)

ibmx(ibck)      === starting index for sweep-block `ibck'
                    iperiod(ibck)-iperiod(ibck)/0 = 1 for internal periodic
                                                     bounndary
                                                  = 0 for no internal
                                                     periodic boundary
iinternal       === not used (we should get rid of it)
icon            === not used (we should get rid of it)
ijdir           === not used (we should get rid of it)
isrf(ibck,2)    === surface at beginning (i=1) and end (i=iimx) of
                    sweep-block `ibck'
ibcw(ibck,2)    === boundary condition at beginning and end of sweep
nnum(ibck)      === the number of old blocks that make up the sweep-block
                    `ibck'
                    (only used in generating the sweep-blocks)
ijkdir(num,ibck)=== stores the sequence of old-blocks and local coordinate
                    directions for the sweep-block `ibck'

mijk(n)         === stores the old-block, local-sweep-direction, and
                    non-sweep-direction for all of the old blocks that
                    comprise the "sweep-block"
mc(n)           === pointer relating sweep location point to location in old
                    block system


Next Previous Contents