FLASH-X
Doxygen Generated Documentation From Interface Source Code
|
Go to the source code of this file.
Functions/Subroutines | |
subroutine | Grid_addFineToFluxRegister_block (blockDesc, isDensity, coefficient, zeroFullRegister) |
subroutine Grid_addFineToFluxRegister_block | ( | type(Grid_tile_t) | blockDesc, |
logical | isDensity, | ||
real, optional | coefficient, | ||
logical | zeroFullRegister | ||
) |
Each flux register is associated with a fine and a coarse level. In normal use, client code could add flux data from both levels into the flux register for use with adjusting flux data on the coarse level.
This routine allows client code to request that the Grid unit add fine data from a single block in the Grid unit's flux data structures to the contents of the associated flux registers that are associated with that same block. This routine is clearly intended for use with AMR. Note that the flux registers may choose to only store flux data that exists at fine/coarse boundaries.
All data stored in the Grid unit's flux data structures as flux densities will automatically be transformed to flux before applying to the flux register.
Additionally, a multiplicative scale factor may be applied to all flux data before passing the data to the flux register.
It is assumed that before calling this routine, the client code has already written flux data for the given block to the Grid's data structures using the Grid_tile_t's getDataPtr routine.
IMPORTANT: This routine should *only* be used on blocks and not when tiling is enabled.
blockDesc - the block whose flux data should be stored isDensity - a mask that identifies which physical flux quantities are actually stored in the Grid unit's flux data structures as flux densities. If no mask is given, it is assumed that data is stored as flux. !DEV: CURRENTLY THE isDensity ARGUMENT IS NOT SUPPORTED. coefficient - a scaling parameter to apply to all flux data before applying the data to the flux register. CURRENTLY THE coefficient ARGUMENT IS IGNORED BY THE IMPLEMENTATION. zeroFullRegister - zero the current fine and coarse data for the block in the register before adding the indicated flux data to the register. If this parameter is not given, then the current data is not zeroed.
NOTES
DEV: This interface may be obsolete. DEV: Currently only implemented for the Amrex Grid.
SEE ALSO Grid_addCoarseToFluxRegister Grid_overwriteFluxes
Definition at line 66 of file Grid_addFineToFluxRegister_block.F90.