When a fine grid is updated, this subroutine is called to save fluxes going into an adjacent coarse cell in svdflx, which is for conservative fix later.
8 1 svdflx,mptr,mitot,mjtot,
9 2 nvar,lenbc,lratiox,lratioy,ng,dtf,dx,dy)
13 implicit double precision (a-h,o-z)
16 c ::::::::::::::::::::
fluxad ::::::::::::::::::::::::::::::::::
17 c
save fine grid fluxes at the border of the grid, for fixing
18 c up the adjacent coarse cells. at each edge of the grid, only
19 c
save the plus or minus fluxes, as necessary. for ex., on
20 c left edge of fine grid, it is the minus xfluxes that modify the
22 c :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
24 dimension xfluxm(nvar,mitot,mjtot), yfluxm(nvar,mitot,mjtot)
25 dimension xfluxp(nvar,mitot,mjtot), yfluxp(nvar,mitot,mjtot)
26 dimension svdflx(nvar,lenbc)
33 c ::::: left side saved first
38 jfine = (j-1)*lratioy + ng
41 svdflx(ivar,lind) = svdflx(ivar,lind) +
42 1 xfluxm(ivar,ng+1,jfine+l)*dtf*dy
43 c
write(
dbugunit,900)lind,xfluxm(ivar,1,jfine+l),
44 c . xfluxp(ivar,1,jfine+l)
45 900
format(
' lind ', i4,
' m & p ',2e15.7,
' svd ',e15.7)
51 c
write(
dbugunit,*)
" saving top side " 54 ifine = (i-1)*lratiox + ng
57 svdflx(ivar,lind) = svdflx(ivar,lind) +
58 1 yfluxp(ivar,ifine+l,mjtot-ng+1)*dtf*dx
59 c
write(
dbugunit,900)lind,yfluxm(ivar,ifine+l,mjtot-ng+1,
60 c . ),yfluxp(ivar,ifine+l,mjtot-ng+1),
69 jfine = (j-1)*lratioy + ng
72 svdflx(ivar,lind) = svdflx(ivar,lind) +
73 1 xfluxp(ivar,mitot-ng+1,jfine+l)*dtf*dy
74 c
write(
dbugunit,900)lind,xfluxm(ivar,mitot-ng+1,jfine+l,
75 c ),xfluxp(ivar,mitot-ng+1,jfine+l)
81 c
write(
dbugunit,*)
" saving bottom side " 84 ifine = (i-1)*lratiox + ng
87 svdflx(ivar,lind) = svdflx(ivar,lind) +
88 1 yfluxm(ivar,ifine+l,ng+1)*dtf*dx
89 c
write(
dbugunit,900)lind,yfluxm(ivar,ifine+l,ng+1),
90 c . yfluxp(ivar,ifine+l,ng+1),svdflx(ivar,lind)
integer, parameter dbugunit
subroutine fluxad(xfluxm, xfluxp, yfluxm, yfluxp,
When a fine grid is updated, this subroutine is called to save fluxes going into an adjacent coarse c...
The module contains the definition of a "node descriptor" as well as other global variables used duri...