FLASH-X
Doxygen Generated Documentation From Interface Source Code
|
Go to the source code of this file.
Functions/Subroutines | |
subroutine | Grid_correctFluxData (blockDesc, fluxBufX, fluxBufY, fluxBufZ, lo, isFluxDensity) |
subroutine Grid_correctFluxData | ( | type(Grid_tile_t) | blockDesc, |
real | fluxBufX, | ||
real | fluxBufY, | ||
real | fluxBufZ, | ||
integer, dimension(3), intent(in) | lo, | ||
logical | isFluxDensity | ||
) |
Correct data in flux arrays by replacing fluxes in certain locations with data from a higher refinement level.
fluxBuf := "communicated fine fluxes" AT coarse side of f/c bdry; unmodified ELSEWHERE.
Finer-level data (where needed) must have been stored to SPFS, typically by calling Grid_putFluxData_block on relevant neigboring blocks, and communication must have been triggered, typically by calling Grid_communicateFluxes, before this interface is invoked for a block.
Only fluxes at locations that represent the coarse side of fine/coarse block boundaries are modified, other elements of the flux buffers are left unmodified by calling this interface.
blockDesc : descriptor for one block. !!DEV: can it be a proper tile?
fluxBufX : fluxes for IAXIS direction
fluxBufY : fluxes for JAXIS direction
fluxBufZ : fluxes for KAXIS direction
lo : lower bounds for the spatial indices of the flux buffers
isFluxDensity : are the fluxes actually fluxes or flux densities?
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.
SEE ALSO
Grid_putFluxData_block Grid_communicateFluxes Grid_correctFluxData_xtra Hydro
Definition at line 70 of file Grid_correctFluxData.F90.