32 SUBROUTINE m11vs2(PM ,IPARG,IXQ ,ALE_CONNECT ,ELBUF_TAB ,V ,
33 2 X ,DVP ,VN ,W ,VEL ,VD2 ,
34 3 VDY ,VDZ ,VIS ,MAT ,RHOV ,PV ,
36 5 SSP_EQ,VxV ,VyV ,VzV ,IALEFVM_FLG,
37 6 Vx ,Vy ,Vz ,MOM ,RHO ,VOL,
38 7 XmomV ,YmomV,ZmomV,BUFVOIS,NEL )
48#include "implicit_f.inc"
59#include "vect01_c.inc"
64 INTEGER IPARG(NPARG,*), IXQ(7,*), MAT(*),IALEFVM_FLG,NEL
66 . PM(NPROPM,*), V(3,*),X(3,*),DVP(*),VN(*),W(3,*),
67 . VEL(*),VD2(*),VDY(*),VDZ(*),
68 . RHOV(*), PV(*), EIV(*), REV(*), RKV(*),
69 . TV(*),VIS(*), BUFVOIS(
71 . xmomv(mvsiz), ymomv(mvsiz), zmomv(mvsiz)
72 TYPE (ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
73 TYPE(t_ale_connectivity),
INTENT(IN) :: ALE_CONNECT
77 INTEGER :: I,II,J,JJ(3),IVOI,ML,N,KTY,KLT,MFT,IS,IX1,IX2,
78 . inod,icf(2,4),mv,mt,k,kk(6),iad2
80 TYPE(g_bufel_) ,
POINTER :: GBUF
83 DATA icf/1,2,2,3,3,4,4,1/
89 iad2 = ale_connect%ee_connect%iad_connect(ii)
98 ivoi=ale_connect%ee_connect%connected(iad2 + j - 1)
119 IF (kty==2 .AND. ivoi<=klt+mft)
THEN
125 gbuf => elbuf_tab(n)%GBUF
133 pv(i) = -third*(gbuf%SIG(kk(1)+is+1)+
134 . gbuf%SIG(kk(2)+is+1)+
135 . gbuf%SIG(kk(3)+is+1))
137 eiv(i) = gbuf%EINT(is+1)
139 rhov(i) = gbuf%RHO(is+1)
140 IF(ml==6 .OR. ml==17)vis(i) =pm(24,mv)*rhov(i)
143 rkv(i) = gbuf%RK(is+1)
144 rev(i) = gbuf%RE(is+1)
145 vis(i)=vis(i)+pm(81,mv)*rkv(i)**2/rev(i)
147 IF (gbuf%G_TEMP > 0)
THEN
148 tv(i) = gbuf%TEMP(is+1)
153 massv = rhov(i)*gbuf%VOL(is)
154 vxv(i) = gbuf%MOM(jj(1) + is)/massv
155 vyv(i) = gbuf%MOM(jj(2) + is)/massv
156 vzv(i) = gbuf%MOM(jj(3) + is)/massv
157 xmomv(i) = gbuf%MOM(jj(1) + is)
158 ymomv(i) = gbuf%MOM(jj(2) + is)
159 zmomv(i) = gbuf%MOM(jj(3) + is)
167 eiv(i) =bufvois(2,is)
168 rhov(i)=bufvois(3,is)
169 IF(ml==6.OR.ml==17) vis(i) =pm(24,mv)*rhov(i)
171 rkv(i) =bufvois(4,is)
172 rev(i) =bufvois(6,is)
173 vis(i) =vis(i)+pm(81,mv)*rkv(i)**2/rev(i)
175 tv(i) = bufvois(5,is)
188 ix1 = ixq(icf(1,j)+1,ii)
189 ix2 = ixq(icf(2,j)+1,ii)
190 yn = (x(2,ix2)-x(2,ix1))
191 zn = (x(3,ix2)-x(3,ix1))
192 fac = one/sqrt(yn**2+zn**2)
193 inod = nint(pm(51,mt))
197 IF(ialefvm_flg <= 1)
THEN
201 vdy(i)=half*(v(2,ix1)+v(2,ix2))
202 vdz(i)=half*(v(3,ix1)+v(3,ix2))
204 vdy(i)=vdy(i)-half*(w(2,ix1)+w(2,ix2))
205 vdz(i)=vdz(i)-half*(w(3,ix1)+w(3,ix2))
207 vd2(i)=vdy(i)**2+vdz(i)**2
208 IF(-vdy(i)*zn+vdz(i)*yn<=zero)
THEN
216 vn(i)=fac*(v(2,inod)*yn+v(3,inod)*zn)
219 vn1=-v(2,ix1)*zn+v(3,ix1)*yn
220 vn2=-v(2,ix2)*zn+v(3,ix2)*yn
221 vel(i)=(
min(vn1,vn2))**2
222 vn(i)=half*fac*(vn1+vn2)
223 IF(vn(i)>=zero)vel(i)=zero
224 dvy=v(2,ix2)-v(2,ix1)
225 dvz=v(3,ix2)-v(3,ix1)
226 dvp(i)=fac**2*(dvy*yn+dvz*zn)*dt1
228 dvp(i)=dvp(i)+(v(2,ix1)+v(2,ix2))*dt1/(x(2,ix1)+x(2,ix2))
236 vdy(i) = half * (vy(i) + vyv(i))
237 vdz(i) = half * (vz(i) + vzv(i))
238 vd2(i) = vdy(i)**2 + vdz(i)**2
239 IF(vdy(i)*yn + vdz(i)*zn <= zero)
THEN
248 vn(i) = v(2,inod)*yn+v(3,inod)*zn
251 vn(i) = vdy(i)*yn + vdz(i)*zn
253 IF(vn(i)>=zero) vel(i) = zero
subroutine m11vs2(pm, iparg, ixq, ale_connect, elbuf_tab, v, x, dvp, vn, w, vel, vd2, vdy, vdz, vis, mat, rhov, pv, eiv, rev, rkv, tv, ssp_eq, vxv, vyv, vzv, ialefvm_flg, vx, vy, vz, mom, rho, vol, xmomv, ymomv, zmomv, bufvois, nel)