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

Go to the source code of this file.

Functions/Subroutines

subroutine Grid_addFineToFluxRegister (fine_level, isDensity, coefficient, zeroFullRegister)
 

Function/Subroutine Documentation

◆ Grid_addFineToFluxRegister()

subroutine Grid_addFineToFluxRegister ( integer  fine_level,
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 the Grid unit's flux data structures to the contents of the associated flux registers. 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 multiple 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 to Grid's data structures using the Grid_getFluxPtr interface.

fine_level - the 1-based level index (1 is the coarsest level) indicating which level's data should be added to the flux register as fine data. 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. zeroFullRegister - zero the current fine and coarse data 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.

This interface is called to implement Grid_putFluxData, which is only used in configurations with per-level fluxes, for the Amrex Grid.

SEE ALSO Grid_getFluxPtr/Grid_releaseFluxPtr Grid_zeroFluxRegister Grid_addCoarseToFluxRegister Grid_overwriteFluxes

Definition at line 69 of file Grid_addFineToFluxRegister.F90.