35 2 ALE_NN_CONNECT ,NALE ,NODFT ,NODLT ,
36 3 NBRCVOIS ,NBSDVOIS,LNRCVOIS,LNSDVOIS)
54#include "implicit_f.inc"
61#include "tabsiz_c.inc"
70 INTEGER NALE(NUMNOD), NODFT, NODLT,
71 . NBRCVOIS(*),NBSDVOIS(*),
72 . LNRCVOIS(*),LNSDVOIS(*)
73 my_real d(3,sd/3), v(3,sv/3), w(3,sw/3)
79 my_real DX, DY, DZ,FAC
80 INTEGER :: IAD, IAD1, IAD2, NODE_ID
81 my_real :: dx_max, dx_min
82 my_real :: dy_max, dy_min
83 my_real :: dz_max, dz_min
91 lencom = nbrcvois(nspmd+1)+nbsdvois(nspmd+1)
92 CALL spmd_xvois(d,nbrcvois,nbsdvois,lnrcvois,lnsdvois,lencom)
97 IF(iabs(nale(i)) == 1)
THEN
98 iad1 = ale_nn_connect%IAD_CONNECT(i)
99 iad2 = ale_nn_connect%IAD_CONNECT(i + 1) - 1
107 node_id = ale_nn_connect%CONNECTED(iad)
108 dx_max =
max(dx_max, d(1, node_id))
109 dx_min =
min(dx_min, d(1, node_id))
110 dy_max =
max(dy_max, d(2, node_id))
111 dy_min =
min(dy_min, d(2, node_id))
112 dz_max =
max(dz_max, d(3, node_id))
113 dz_min =
min(dz_min, d(3, node_id))
115 dx = fac * (dx_max + dx_min - two * d(1, i))
116 dy = fac * (dy_max + dy_min - two * d(2, i))
117 dz = fac * (dz_max + dz_min - two * d(3, i))
118 w(1,i)=sign(one,dx)*
min(abs(dx),
ale%GRID%ALPHA)
119 w(2,i)=sign(one,dy)*
min(abs(dy),
ale%GRID%ALPHA)
120 w(3,i)=sign(one,dz)*
min(abs(dz),
ale%GRID%ALPHA)
121 ELSEIF(nale(i) == 0)
THEN
subroutine alew1(d, v, w, ale_nn_connect, nale, nodft, nodlt, nbrcvois, nbsdvois, lnrcvois, lnsdvois)