34 interpolation_scheme%dis => dis
35 interpolation_scheme%fmi => fmi
39 function compute(this, n, m, iposnm, phi)
result(phi_face)
44 integer(I4B),
intent(in) :: n
45 integer(I4B),
intent(in) :: m
46 integer(I4B),
intent(in) :: iposnm
47 real(dp),
intent(in),
dimension(:) :: phi
49 real(dp) :: lnm, lmn, omega
53 if (this%dis%con%ihc(this%dis%con%jas(iposnm)) == 0)
then
55 lnm =
dhalf * (this%dis%top(n) - this%dis%bot(n))
56 lmn =
dhalf * (this%dis%top(m) - this%dis%bot(m))
59 lnm = this%dis%con%cl1(this%dis%con%jas(iposnm))
60 lmn = this%dis%con%cl2(this%dis%con%jas(iposnm))
63 omega = lmn / (lnm + lmn)
66 phi_face%c_m =
done - omega
type(coefficientstype) function compute(this, n, m, iposnm, phi)
type(centraldifferenceschemetype) function constructor(dis, fmi)
This module contains simulation constants.
real(dp), parameter dhalf
real constant 1/2
real(dp), parameter done
real constant 1
This module defines variable data types.