private pure function varmix_dfdy_uface(f_centre, nx, ny, i, j, idy) result(dfdy)
Cross-face df/dy at a u-face (i interior): average of the two
centred y-derivatives in the west (i-1) and east (i) columns,
clamped at the j edges (one-sided / zero there).
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Variables
Type
Visibility
Attributes
Name
Initial
real(kind=wp),
private
::
de
real(kind=wp),
private
::
dw
integer,
private
::
jm
integer,
private
::
jp
Source Code
pure function varmix_dfdy_uface(f_centre,nx,ny,i,j,idy)result(dfdy)!! Cross-face df/dy at a u-face (i interior): average of the two!! centred y-derivatives in the west (i-1) and east (i) columns,!! clamped at the j edges (one-sided / zero there).integer,intent(in)::nx,ny,i,jreal(wp),intent(in)::f_centre(nx,ny)real(wp),intent(in)::idyreal(wp)::dfdy,dw,deinteger::jm,jpjm=max(j-1,1)jp=min(j+1,ny)if(jp==jm)thendfdy=0.0_wpreturn end ifdw=(f_centre(i-1,jp)-f_centre(i-1,jm))/real(jp-jm,wp)*idyde=(f_centre(i,jp)-f_centre(i,jm))/real(jp-jm,wp)*idydfdy=0.5_wp*(dw+de)end function varmix_dfdy_uface