36 2 ALE_NN_CONNECT ,NALE ,NODFT ,NODLT ,
37 3 NBRCVOIS ,NBSDVOIS,LNRCVOIS ,LNSDVOIS )
55#include "implicit_f.inc"
62#include "tabsiz_c.inc"
66 INTEGER NALE(*), NODFT, NODLT,
67 . NBRCVOIS(*),NBSDVOIS(*),
68 . LNRCVOIS(*),LNSDVOIS(*)
69 my_real x(3,sx/3), d(3,sd/3), v(3,sv/3), w(3,sw/3), wa(3,*)
74 INTEGER N, I, NCI, K, J, LENCOM, IAD1, IAD2
75 my_real LIJ, , FIX, FIY, FIZ, SLI, WIX, WIY, WIZ, FAC,LIJ2,LIJSQR
92 lencom=nbrcvois(nspmd+1)+nbsdvois
93 CALL spmd_wvois(x,d,wa,nbrcvois,nbsdvois,lnrcvois,lnsdvois,lencom)
99 xlagr=
min(1,iabs(iabs(nale(n))-2))
105 IF(
ale%GRID%ALPHA == zero)
THEN
107 IF(nale(i) /= 0)
THEN
112 iad1 = ale_nn_connect%IAD_CONNECT(i)
113 iad2 = ale_nn_connect%IAD_CONNECT(i + 1) - 1
115 j = ale_nn_connect%CONNECTED(k)
132 IF(nale(i) /= 0)
THEN
141 iad1 = ale_nn_connect%IAD_CONNECT(i)
142 iad2 = ale_nn_connect%IAD_CONNECT(i + 1) - 1
144 j = ale_nn_connect%CONNECTED(k)
147 lij2= (x(1,j)-x(1,i))*(x(1,j)-x(1,i))+ (x(2,j)-x(2,i))*(x(2,j)-x(2,i))+ (x(3,j)-x(3,i))*(x(3,j)-x(3,i))
153 fiy=fiy+(d(2,j)-d(2,i))/lij
154 fiz=fiz+(d(3,j)-d(3,i))/lij
162 fac=
ale%GRID%ALPHA*sli/(nci*nci*dt2)
163 w(1,i) = wix/nci + fac*fix
164 w(2,i) = wiy/nci + fac*fiy
165 w(3,i) = wiz/nci + fac*fiz
171 IF(
ale%GRID%GAMMA < eighty19)
THEN
173 IF(nale(i) /= 0)
THEN
174 IF(v(1,i) /= zero) w(1,i)=
ale%GRID%VGX*v(1,i)*
max((one-
ale%GRID%GAMMA),
min((one+
ale%GRID%GAMMA),w(1,i)/v(1,i)))
175 IF(v(2,i) /= zero) w(2,i)=
ale%GRID%VGY*v(2,i)*
max((one-
ale%GRID%GAMMA),
min((one+
ale%GRID%GAMMA),w(2,i)/v(2,i)))
176 IF(v(3,i) /= zero) w(3,i)=
ale%GRID%VGZ*v(3,i)*
max((one-
ale%GRID%GAMMA),
min((one+
ale%GRID%GAMMA),w(3,i)/v(3,i)))
subroutine alew(x, d, v, w, wa, ale_nn_connect, nale, nodft, nodlt, nbrcvois, nbsdvois, lnrcvois, lnsdvois)