FLASH3.3 Release API

ROBODoc 4.99 manual

Generated from /asc/home/flashdocs/FLASH3_33/source/Grid/Grid_getFluxData.F90 with ROBODoc v4.99.8 on Wed Oct 20 17:16:49 2010


[Functions] source/Grid/Grid_getFluxData





  Grid_getFluxData(integer(IN) :: blockID,
                   integer(IN) :: axis,
                   real(INOUT) :: fluxes(NFLUXES,dataSize(1),dataSize(2),dataSize(3)),
                   integer(IN) :: dataSize(3),
          OPTIONAL,integer(IN) :: pressureSlot,
          OPTIONAL,real(IN)    :: areaLeft(:,:,:))


  Get the fluxes in a direction specified by axis for boundary cells
  for block blockID. This routine needs to be used when using adaptive mesh
  since fluxes calculated by the two blocks that are at a fine/coarse
  boundary have different accuracy.
  This should be called after Grid_conserveFluxes, which gets the 
  fluxes updated for cells at fine/coarse boundaries to make them consistent.


  blockID : The local blockid

  axis : integer value specifying on which cell faces to get fluxes. 
         The options are IAXIS, JAXIS, or KAXIS defined in constants.h

  fluxes :  real array with space for fluxes, through one axis, 
            for all cells of a block and for all flux variables.
            fluxes(VAR, i, j, k) is VAR's flux through 
            the left cell face for cell i, j, k.  The 
            fluxes of the boundary cells of coarse blocks
            will have been appropriately changed, if the flux matching
            between fine and coarse boundaries (normally by a call to
            Grid_conserveFluxes), has occured since the last call
            of Grid_putFluxData.

  dataSize : integer array specifying the dimensions for fluxes

             dataSize (1) holds the number of cells returned in the i direction

             dataSize (2) holds the number of cells returned in the j direction
                          if 1 d problem, set datasize(2) = 1

             dataSize (3) holds the number of cells returned in the k direction
                          if 1 or 2 d problem, set datasize(3) = 1

             fluxes should contain space for fluxes of all cells in the block, 
             including guardcells.

  pressureSlot : If present and greater than zero, this indicates one flux variable
                 in the fluxes array that may need special handling because it
                 really scales like a flux; normally this would be pressure,
                 but it could be another flux variable that the caller keeps in
                 flux density form.

  areaLeft :     areas of left and right faces, only used if special scaling is
                 requested with the pressureSlot argument.


   Specific implementations may ignore the optional dummy arguments,
   pressureSlot and areaLeft, if the corresponding Grid_conserveFluxes
   only implements handling of fluxes as flux densities (i.e., if
   Grid_conserveFluxes assumes that the fluxes stored by Grid_putFluxData
   and retrieved by Grid_getFluxData contain flux densities).

   For the Unform Grid, no implementation is provided, since there is never
   a need for flux correction.

   Any code calling this subroutine needs to know the explicit interface,
   since this interface contains optional dummy arguments and assumed-shape
   dummy arrays. Calling FORTRAN units should therefore contain a line like
       use Grid_interface, ONLY: Grid_getFluxData