fixcapaqΒΆ
- Signature:
subroutine fixcapaq(val, aux, mitot, mjtot, valc, auxc, mic, mjc, nvar, naux, levc)- Arguments:
integer, intent(in):mitot: Horizontal dimension of the fine grid.mjtot: Vertical dimension of the fine grid.mic: Horizontal dimension of the coarse patch.mjc: Vertical dimension of the coarse patch.nvar: Number of solution variables.naux: Number of aux variables.levc: Level of the coarse patch
double precision, intent(in):valc(mic,mjc,nvar): Solution values on the coarse patch.auxc(mic,mjc,naux): Aux variable values on the coarse patch.aux(mitot,mjtot,naux): Aux variable values on the fine grid.
double precision, intent(inout):val(mitot,mjtot,nvar): Solution values on the fine grid.
- Description:
After filling a new fine grid solution via linear interpolation, kappa*q may need to be conserved rather than q in the presence of a capacity function. This routine calculates the discrepancy in kappa*q and modifies q to account for it.
The inputs are solution and aux data (
val,aux) from a fine grid that has just been filled via linear interpolation, as well as from a coarse patch (valc,auxc) that covers the fine grid.