23 integer(kind=inttype) :: nn, level, sps
25 integer(kind=inttype) :: i, j, k, ii, ind(4)
26 real(kind=realtype) :: xp(3), xc(3), u, v
32 j = mod(ii/
nx,
ny) + 2
34 if (flowdoms(nn, level, sps)%surfnodeindices(1, i, j, k) .eq. 0) &
42 ind = flowdoms(nn, level, sps)%surfnodeindices(:, i, j, k)
43 u = flowdoms(nn, level, sps)%uv(1, i, j, k)
44 v = flowdoms(nn, level, sps)%uv(2, i, j, k)
48 & v)*
xsurf(3*(ind(2)-1)+1:3*ind(2)) + u*v*
xsurf(3*(ind(3)-1)+1:3&
49 & *ind(3)) + (
one-u)*v*
xsurf(3*(ind(4)-1)+1:3*ind(4))
51 xc(1) =
eighth*(
x(i-1, j-1, k-1, 1)+
x(i, j-1, k-1, 1)+
x(i-1, j, &
52 & k-1, 1)+
x(i, j, k-1, 1)+
x(i-1, j-1, k, 1)+
x(i, j-1, k, 1)+
x(i-&
53 & 1, j, k, 1)+
x(i, j, k, 1))
54 xc(2) =
eighth*(
x(i-1, j-1, k-1, 2)+
x(i, j-1, k-1, 2)+
x(i-1, j, &
55 & k-1, 2)+
x(i, j, k-1, 2)+
x(i-1, j-1, k, 2)+
x(i, j-1, k, 2)+
x(i-&
56 & 1, j, k, 2)+
x(i, j, k, 2))
57 xc(3) =
eighth*(
x(i-1, j-1, k-1, 3)+
x(i, j-1, k-1, 3)+
x(i-1, j, &
58 & k-1, 3)+
x(i, j, k-1, 3)+
x(i-1, j-1, k, 3)+
x(i, j-1, k, 3)+
x(i-&
59 & 1, j, k, 3)+
x(i, j, k, 3))
62 d2wall(i, j, k) = sqrt((xc(1)-xp(1))**2 + (xc(2)-xp(2))**2 + (xc&
real(kind=realtype), dimension(:, :, :), pointer d2wall
real(kind=realtype), dimension(:, :, :, :), pointer x
real(kind=realtype), parameter eighth
real(kind=realtype), parameter one
real(kind=realtype), parameter large
subroutine updatewalldistancesquickly(nn, level, sps)
real(kind=realtype), dimension(:), pointer xsurf