33 SUBROUTINE cndint(IXC ,IPARTC ,IXTG ,IPARTTG,IPART,
34 2 ITASK ,A ,V ,AR ,VR ,
35 3 MS ,IN ,NODFT,NODLT ,X ,
36 4 SH4TREE ,SH3TREE,ITAB ,STIFN ,STIFR ,
42 use element_mod ,
only : nixc,nixtg
46#include "implicit_f.inc"
54#include "remesh_c.inc"
61 INTEGER IXC(NIXC,*), IPARTC(*), IXTG(NIXTG,*), IPARTTG(*),
62 . IPART(LIPART1,*), ITASK, NODFT, NODLT,SH4TREE(KSH4TREE,*),
63 . SH3TREE(KSH3TREE,*), ITAB(*)
66 . ar(3,*),vr(3,*), ms(*), in(*), x(3,*),
67 . stifn(*), stifr(*), mscnd(*), incnd(*)
71 INTEGER SH4FT, SH4LT, SH3FT, SH3LT
72 INTEGER N, NN, LEVEL, IP, NLEV, LL, IERR
73 INTEGER SON,M1,M2,M3,M4,MC,N1,N2,N3,N4,J,NA,NB
75 . vv, ax(3,numnod), arx(3,numnod), fac,
76 . dt2p, mas, iner, dtn
83 ax(1:3,nodft:nodlt)=acnd(1:3,nodft:nodlt)
84 arx(1:3,nodft:nodlt)=arcnd(1:3,nodft:nodlt)
89 sh4ft = 1+itask*ll/ nthread
90 sh4lt = (itask+1)*ll/nthread
106 arcnd(j,n1) =ar(j,n1)
116 arcnd(j,n2) =ar(j,n2)
126 arcnd(j,n3) =ar(j,n3)
136 arcnd(j,n4) =ar(j,n4)
143 sh3ft = 1+itask*ll/ nthread
144 sh3lt = (itask+1)*ll/nthread
159 arcnd(j,n1) =ar(j,n1)
169 arcnd(j,n2) =ar(j,n2)
179 arcnd(j,n3) =ar(j,n3)
193 DO level=0,levelmax-1
196 sh4ft =
psh4upl(level)+ 1+itask*ll/ nthread
197 sh4lt =
psh4upl(level)+ (itask+1)*ll/nthread
216 . fourth*(acnd(j,n1)+acnd(j,n2)+acnd(j,n3)+acnd(j,n4))
222 . fourth*(arcnd(j,n1)+arcnd(j,n2)+arcnd(j,n3)+arcnd(j,n4))
239 vv = half*(acnd(j,na)+acnd(j,nb))
244 vv = half*(arcnd(j,na)+arcnd(j,nb))
256 vv = half*(acnd(j,na)+acnd(j,nb))
261 vv = half*(arcnd(j,na)+arcnd(j,nb))
273 vv = half*(acnd(j,na)+acnd(j,nb))
278 vv = half*(arcnd(j,na)+arcnd(j,nb))
290 vv = half*(acnd(j,na)+acnd(j,nb))
295 vv = half*(arcnd(j,na)+arcnd(j,nb))
304 sh3ft =
psh3upl(level)+ 1+itask*ll/ nthread
305 sh3lt =
psh3upl(level)+ (itask+1)*ll/nthread
326 vv = half*(acnd(j,na)+acnd(j,nb))
330 vv = half*(arcnd(j,na)+arcnd(j,nb))
341 vv = half*(acnd(j,na)+acnd(j,nb))
345 vv = half*(arcnd(j,na)+arcnd(j,nb))
356 vv = half*(acnd(j,na)+acnd(j,nb))
360 vv = half*(arcnd(j,na)+arcnd(j,nb))
374 IF(nodadt /= 0.OR.i7kglo/=0.AND.(idtmin(11)==3.OR.idtmin(11)==8))
THEN
375 dt2p = dtmin1(11)/dtfac1(11)
378 mas = half * stifn(n) * dt2p * dt2p * onep00001
379 mscnd(n)=
max(mscnd(n),mas)
383 IF(nodadt /= 0.AND.(idtmin(11)==3.OR.idtmin(11)==8))
THEN
384 dt2p = dtmin1(11)/dtfac1(11)
387 iner = half * stifr(n) * dt2p * dt2p * onep00001
388 incnd(n)=
max(incnd(n),iner)
426 fac=one/
max(mscnd(n),em20)
427 a(1,n) = ax(1,n)*fac+acnd(1,n)
428 a(2,n) = ax(2,n)*fac+acnd(2,n)
429 a(3,n) = ax(3,n)*fac+acnd(3,n)
431 fac=one/
max(incnd(n),em20)
432 ar(1,n) = arx(1,n)*fac+arcnd(1,n)
433 ar(2,n) = arx(2,n)*fac+arcnd(2,n)
434 ar(3,n) = arx(3,n)*fac+arcnd(3,n)
subroutine cndint(ixc, ipartc, ixtg, iparttg, ipart, itask, a, v, ar, vr, ms, in, nodft, nodlt, x, sh4tree, sh3tree, itab, stifn, stifr, mscnd, incnd)