FLASH-X
Doxygen Generated Documentation From Interface Source Code
Functions/Subroutines
Grid_getFluxCorrData_block.F90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine Grid_getFluxCorrData_block (blockDesc, fluxBufX, fluxBufY, fluxBufZ, lo, isFluxDensity)
 

Function/Subroutine Documentation

◆ Grid_getFluxCorrData_block()

subroutine Grid_getFluxCorrData_block ( type(Grid_tile_t)  blockDesc,
real  fluxBufX,
real  fluxBufY,
real  fluxBufZ,
integer, dimension(3), intent(in)  lo,
logical  isFluxDensity 
)

Get flux corrections from semipermanent flux storage (SPFS).

fluxBuf := "communicated fine fluxes" - "saved coarse fluxes" AT coarse side of f/c bdry; := 0.0 ELSEWHERE.

Only fluxes at locations that represent the coarse side of fine/coarse block boundaries can hold nonzero flux correction data on return. Other elements of the flux buffers are set to zero if they represent faces of any cells that touch a block boundary; data faces of cells that are farther away from a block boundary are left undefined.

blockDesc : describes the current block. Note that this should be a full block, not a tile representing a partial block.

fluxBufX : buffer for fluxes in IAXIS-direction

fluxBufY : buffer for fluxes in JAXIS-direction; output should be considered undefined if NDIM < 2.

fluxBufZ : buffer for fluxes in KAXIS-direction; output should be considered undefined if NDIM < 3.

lo : lower bounds for the spatial indices of the flux buffers

isFluxDensity : indicates, for each flux component, whether the component is a flux proper (if TRUE) or a flux density (otherwise). This may be either removed, or changed into a scalar flag, later.

NOTES

The arrays fluxBufX, fluxBufY, fluxBufZ are subject to index reordering.

flux buffer arrays should contain space for fluxes of all valid cells in the block, excluding guard cells.

This interface does not require level-wide fluxes to be allocated.

SPFS means semi-permanent flux storage. When using a Grid implementation based on AMReX, SPFS is implemented by an AMReX flux register class, such as FlashFluxRegister.

This interface is currently only implemented for Paramesh4 !

SEE ALSO

Grid_putFluxData_block Grid_communicateFluxes Grid_correctFluxData Hydro

Definition at line 73 of file Grid_getFluxCorrData_block.F90.