51 use element_mod ,
only : nixs
55#include "implicit_f.inc"
78 INTEGER :: IXS(NIXS,NUMELS),NV46, ITASK
79 INTEGER :: NBF, NBL, NIN
83 INTEGER :: IB, IBm, IBs, IADJ, MCELL, NumSECND, NADJ, ISECND
84 INTEGER :: I, II, J, IBv, NBCUT, NBCUTv, K, IV
85 INTEGER :: ICELLv, JV, ICELLs, ClosedSurface, IPRES_MOM, ISGN_NORM
111 SELECT CASE(ipres_mom)
147 n(1:3) = isgn_norm*
brick_list(nin,ib)%PCUT(k)%N(1:3)
148 norm = sqrt(n(1)**2+n(2)**2+n(3)**2)
153 un1 =
brick_list(nin,ib)%POLY(mcell)%FACE0%U_N(k)
156 pf = p1 + coef2*theta*half*z1*un1
157 f0(1) = f0(1) -pf*surf*n(1)
158 f0(2) = f0(2) -pf*surf*n(2)
159 f0(3) = f0(3) -pf*surf*n(3)
164 n(1:3) = isgn_norm*
brick_list(nin,ib)%PCUT(k)%N(1:3)
165 norm = sqrt(n(1)**2+n(2)**2+n(3)**2)
170 un1 =
brick_list(nin,ib)%POLY(mcell)%FACE0%U_N(k)
174 pf = p1 + coef2*theta*half*z1*un1
175 f0(1) = f0(1) -pf*surf*n(1)
176 f0(2) = f0(2) -pf*surf*n(2)
177 f0(3) = f0(3) -pf*surf*n(3)
185 nadj =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%NAdjCell
186 closedsurface =
brick_list(nin,ib)%ClosedSurf(j)
202 IF(nadj==0 .OR. closedsurface == 1)
THEN
204 un1 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%U_N
209 pf = p1 + coef2*theta*half*z1*un1
211 surf =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%Surf
212 f0(1) = f0(1) -pf*surf*n(1)
213 f0(2) = f0(2) -pf*surf*n(2)
214 f0(3) = f0(3) -pf*surf*n(3)
221 un1 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%U_N
227 ibm =
brick_list(nin,ibv)%POLY(icellv)%WhereIsMain
234 un2 =
brick_list(nin,ibv)%POLY(icellv)%FACE(jv)%U_N
239 pf = coef1*(half*(p1+p2)) + coef2*((z1*p2 + z2*p1)/denom + theta*z1*z2*(un1+un2)/denom)
240 f0(1) = f0(1) - pf*surf*n(1)
241 f0(2) = f0(2) - pf*surf*n(2)
242 f0(3) = f0(3) - pf*surf*n(3)
253 pf = coef1*(half*(p1+p2)) + coef2*((z1*p2 + z2*p1)/denom + theta*z1*z2*(un1+un2)/denom)
254 f0(1) = f0(1) - pf*surf*n(1)
255 f0(2) = f0(2) - pf*surf*n(2)
256 f0(3) = f0(3) - pf*surf*n(3)
267 ibs =
brick_list(nin,ib)%SecndList%IBV(isecnd)
268 icells =
brick_list(nin,ib)%SecndList%ICELLv(isecnd)
269 js =
brick_list(nin,ibs)%POLY(icells)%WhereIsMain(1)
285 n(1:3) = isgn_norm*
brick_list(nin,ibs)%PCUT(k)%N(1:3)
286 norm = sqrt(n(1)**2+n(2)**2+n(3)**2)
291 un1 =
brick_list(nin,ibs)%POLY(icells)%FACE0%U_N(k)
295 pf = p1 + coef2*theta*half*z1*un1
296 f0(1) = f0(1) -pf*surf*n(1)
297 f0(2) = f0(2) -pf*surf*n(2)
298 f0(3) = f0(3) -pf*surf*n(3)
302 n(1:3) = isgn_norm*
brick_list(nin,ibs)%PCUT(k)%N(1:3)
303 norm = sqrt(n(1)**2+n(2)**2+n(3)**2)
308 un1 =
brick_list(nin,ibs)%POLY(icells)%FACE0%U_N(k)
312 pf = p1 + coef2*theta*half*z1
313 f0(1) = f0(1) -pf*surf*n(1)
314 f0(2) = f0(2) -pf*surf*n(2)
315 f0(3) = f0(3) -pf*surf*n(3)
322 nadj =
brick_list(nin,ibs)%POLY(icells)%FACE(j)%NAdjCell
324 IF(nadj==0 .OR. closedsurface == 1)
THEN
326 un1 =
brick_list(nin,ibs)%POLY(icells)%FACE(j)%U_N
330 pf = p1 + coef2*theta*half*z1*un1
332 surf =
brick_list(nin,ibs)%POLY(icells)%FACE(j)%Surf
333 f0(1) = f0(1) -pf*surf*n(1)
334 f0(2) = f0(2) -pf*surf*n(2)
335 f0(3) = f0(3) -pf*surf*n(3)
342 un1 =
brick_list(nin,ibs)%POLY(icells)%FACE(j)%U_N
345 icellv =
brick_list(nin,ibs)%POLY(icells)%FACE(j)%Adjacent_Cell(iadj)
348 ibm =
brick_list(nin,ibv)%POLY(icellv)%WhereIsMain(4)
349 areav =
brick_list(nin,ibv)%POLY(icellv)%FACE(jv)%Surf
353 un2 =
brick_list(nin,ibv)%POLY(icellv)%FACE(jv)%U_N
359 pf = coef1*(half*(p1+p2)) + coef2*((z1*p2 + z2*p1)/denom + theta*z1*z2*(un1+un2)/denom)
361 f0(1) = f0(1) - pf*surf*n(1)
362 f0(2) = f0(2) - pf*surf*n(2)
363 f0(3) = f0(3) - pf*surf*n(3)
374 pf = coef1*(half*(p1+p2)) + coef2*((z1*p2 + z2*p1)/denom + theta*z1*z2*(un1+un2)/denom)
375 f0(1) = f0(1) - pf*surf*n(1)
376 f0(2) = f0(2) - pf*surf*n(2)
377 f0(3) = f0(3) - pf*surf*n(3)
407 print *,
" |---alefvm_sfint3_int22.F---|"
408 print *,
" | THREAD INFORMATION |"
409 print *,
" |---------------------------|"
410 print *,
" NCYCLE =", ncycle
416 print *,
" brique_=", ixs(11,ii)
417 write(*,fmt=
'(A34,6A26)')
" ",
418 .
"#--- internal force -----#"
421 write (*,fmt=
'(A,8E26.14)' )
" force-X =",
alefvm_buffer%FCELL(1,ii)
422 write (*,fmt=
'(A,8E26.14)' )
" force-Y =",
alefvm_buffer%FCELL(2,ii)
423 write (*,fmt=
'(A,8E26.14)' )
" force-Z =",
alefvm_buffer%FCELL(3,ii)
424 write (*,fmt=
'(A,8E26.14)' )
" P =",
brick_list(nin,i)%SIG(0)