53#include "implicit_f.inc"
76 INTEGER :: IXS(NIXS,NUMELS),NV46, ITASK
77 INTEGER :: NBF, NBL, NIN
81 INTEGER :: IB, IBm, IBs, IADJ, MCELL, NumSECND, NADJ, ISECND
82 INTEGER :: I, II, J, IBv, NBCUT, NBCUTv, K, IV
83 INTEGER :: ICELLv, JV, ICELLs, ClosedSurface, IPRES_MOM, ISGN_NORM
109 SELECT CASE(ipres_mom)
140 !-----------------------------------
145 n(1:3) = isgn_norm*
brick_list(nin,ib)%PCUT(k)%N(1:3)
146 norm = sqrt(n(1)**2+n(2)**2+n(3)**2)
154 pf = p1 + coef2*theta*half*z1*un1
155 f0(1) = f0(1) -pf*surf*n(1)
156 f0(2) = f0(2) -pf*surf*n(2)
157 f0(3) = f0(3) -pf*surf*n(3)
162 n(1:3) = isgn_norm*
brick_list(nin,ib)%PCUT(k)%N(1:3)
163 norm = sqrt(n(1)**2+n(2)**2+n(3)**2)
168 un1 =
brick_list(nin,ib)%POLY(mcell)%FACE0%U_N(k)
172 pf = p1 + coef2*theta*half*z1*un1
173 f0(1) = f0(1) -pf*surf*n(1)
174 f0(2) = f0(2) -pf*surf*n(2)
175 f0(3) = f0(3) -pf*surf*n(3)
183 nadj =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%NAdjCell
184 closedsurface =
brick_list(nin,ib)%ClosedSurf(j)
200 IF(nadj==0 .OR. closedsurface == 1)
THEN
202 un1 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%U_N
207 pf = p1 + coef2*theta*half*z1*un1
209 surf =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%Surf
210 f0(1) = f0(1) -pf*surf*n(1)
211 f0(2) = f0(2) -pf*surf*n(2)
212 f0(3) = f0(3) -pf*surf*n(3)
225 ibm =
brick_list(nin,ibv)%POLY(icellv)%WhereIsMain(4)
232 un2 =
brick_list(nin,ibv)%POLY(icellv)%FACE(jv)%U_N
237 pf = coef1*(half*(p1+p2)) + coef2*((z1*p2 + z2*p1)/denom + theta*z1*z2*(un1+un2)/denom)
238 f0(1) = f0(1) - pf*surf*n(1)
239 f0(2) = f0(2) - pf*surf*n(2)
240 f0(3) = f0(3) - pf*surf*n(3)
251 pf = coef1*(half*(p1+p2)) + coef2*((z1*p2 + z2*p1)/denom
252 f0(1) = f0(1) - pf*surf*n(1)
253 f0(2) = f0(2) - pf*surf*n(2)
254 f0(3) = f0(3) - pf*surf*n(3)
265 ibs =
brick_list(nin,ib)%SecndList%IBV(isecnd)
266 icells =
brick_list(nin,ib)%SecndList%ICELLv(isecnd)
267 js =
brick_list(nin,ibs)%POLY(icells)%WhereIsMain(1)
273 !example : inter22/1d_expansion/9elems/law51/perfectgas/euler/small_main/0.fvm/mat51
283 n(1:3) = isgn_norm*
brick_list(nin,ibs)%PCUT(k)%N(1:3)
284 norm = sqrt(n(1)**2+n(2)**2+n(3)**2)
289 un1 =
brick_list(nin,ibs)%POLY(icells)%FACE0%U_N(k)
293 pf = p1 + coef2*theta*half*z1*un1
294 f0(1) = f0(1) -pf*surf*n(1)
295 f0(2) = f0(2) -pf*surf*n(2)
296 f0(3) = f0(3) -pf*surf*n(3)
300 n(1:3) = isgn_norm*
brick_list(nin,ibs)%PCUT(k)%N(1:3)
301 norm = sqrt(n(1)**2+n
306 un1 =
brick_list(nin,ibs)%POLY(icells)%FACE0%U_N(k)
310 pf = p1 + coef2*theta*half*z1*un1
311 f0(1) = f0(1) -pf*surf*n(1)
312 f0(2) = f0(2) -pf*surf*n(2)
313 f0(3) = f0(3) -pf*surf*n(3)
320 nadj =
brick_list(nin,ibs)%POLY(icells)%FACE(j)%NAdjCell
322 IF(nadj==0 .OR. closedsurface == 1)
THEN
324 un1 =
brick_list(nin,ibs)%POLY(icells)%FACE(j)%U_N
328 pf = p1 + coef2*theta*half*z1*un1
330 surf =
brick_list(nin,ibs)%POLY(icells)%FACE(j)%Surf
331 f0(1) = f0(1) -pf*surf*n(1)
332 f0(2) = f0(2) -pf*surf*n(2)
333 f0(3) = f0(3) -pf*surf*n(3)
340 un1 =
brick_list(nin,ibs)%POLY(icells)%FACE(j)%U_N
343 icellv =
brick_list(nin,ibs)%POLY(icells)%FACE(j)%Adjacent_Cell(iadj)
346 ibm =
brick_list(nin,ibv)%POLY(icellv)%WhereIsMain(4)
347 areav =
brick_list(nin,ibv)%POLY(icellv)%FACE(jv)%Surf
351 un2 =
brick_list(nin,ibv)%POLY(icellv)%FACE(jv)%U_N
357 pf = coef1*(half*(p1+p2)) + coef2*((z1*p2 + z2*p1)/denom + theta*z1*z2*(un1+un2)/denom)
359 f0(1) = f0(1) - pf*surf*n(1)
360 f0(2) = f0(2) - pf*surf*n
361 f0(3) = f0(3) - pf*surf*n
372 pf = coef1*(half*(p1+p2)) + coef2*((z1*p2 + z2*p1)/denom + theta*z1*z2*(un1+un2)/denom)
373 f0(1) = f0(1) - pf*surf
374 f0(2) = f0(2) - pf*surf*n(2)
375 f0(3) = f0(3) - pf*surf*n(3)
405 print *,
" |---alefvm_sfint3_int22.F---|"
406 print *,
" | THREAD INFORMATION |"
407 print *,
" |---------------------------|"
408 print *,
" NCYCLE =", ncycle
414 print *,
" brique_=", ixs(11,ii)
415 write(*,fmt=
'(A34,6A26)')
" "
416 .
"#--- internal force -----#"
419 write (*,fmt=
'(A,8E26.14)' )
" force-X =",
alefvm_buffer%FCELL(1,ii
420 write (*,fmt=
'(A,8E26.14)' )
" force-Y =",
alefvm_buffer%FCELL(2,ii)
421 write (*,fmt=
'(A,8E26.14)' )
" force-Z =",
alefvm_buffer%FCELL(3,ii)
422 write (*
'(A,8E26.14)' )
" P =",
brick_list(nin,i)%SIG(0)