40 use element_mod ,
only : nixc,nixtg
44#include "implicit_f.inc"
48 INTEGER IXC(NIXC,*), IXTG(NIXTG,*),
49 . sh4tree(ksh4tree,*), sh3tree(ksh3tree,*)
58#include "remesh_c.inc"
63 INTEGER SON,M1,M2,M3,M4,MC,N1,N2,N3,N4
64 INTEGER,
DIMENSION(:),
ALLOCATABLE :: LKINNOD
68 CALL my_alloc(lkinnod,numnod)
70 DO level=levelmax-1,0,-1
83 ac= fourth*diag_sms(mc)
84 diag_sms(n1)=diag_sms(n1)+ac
85 diag_sms(n2)=diag_sms(n2)+ac
86 diag_sms(n3)=diag_sms(n3)+ac
87 diag_sms(n4)=diag_sms(n4)+ac
93 IF(lkinnod(m1)==0)
THEN
96 diag_sms(n1)=diag_sms(n1)+a1
97 diag_sms(n2)=diag_sms(n2)+a1
102 IF(lkinnod(m2)==0)
THEN
105 diag_sms(n2)=diag_sms(n2)+a2
106 diag_sms(n3)=diag_sms(n3)+a2
111 IF(lkinnod(m3)==0)
THEN
114 diag_sms(n3)=diag_sms(n3)+a3
115 diag_sms(n4)=diag_sms(n4)+a3
120 IF(lkinnod(m4)==0)
THEN
123 diag_sms(n1)=diag_sms(n1)+a4
124 diag_sms(n4)=diag_sms(n4)+a4
141 IF(lkinnod(m1)==0)
THEN
144 diag_sms(n1)=diag_sms(n1)+a1
145 diag_sms(n2)=diag_sms(n2)+a1
150 IF(lkinnod(m2)==0)
THEN
153 diag_sms(n2)=diag_sms(n2)+a2
154 diag_sms(n3)=diag_sms(n3)+a2
159 IF(lkinnod(m3)==0)
THEN
162 diag_sms(n3)=diag_sms(n3)+a3
163 diag_sms(n1)=diag_sms(n1)+a3
184 . SH3TREE ,NODNX_SMS)
190 use element_mod ,
only : nixc,nixtg
194#include "implicit_f.inc"
198 INTEGER IXC(NIXC,*), IXTG(NIXTG,*),
199 . SH4TREE(KSH4TREE,*), SH3TREE(KSH3TREE,*), NODNX_SMS(*)
202 . a(3,*), diag_sms(*)
206#include "com04_c.inc"
207#include "param_c.inc"
208#include "remesh_c.inc"
213 INTEGER SON,M1,M2,M3,M4,MC,N1,N2,N3,N4,J
214 INTEGER,
DIMENSION(:),
ALLOCATABLE :: LKINNOD
219 CALL my_alloc(lkinnod,numnod)
221 DO level=levelmax-1,0,-1
245 IF(lkinnod(m1)==0)
THEN
256 IF(lkinnod(m2)==0)
THEN
267 IF(lkinnod(m3)==0)
THEN
278 IF(lkinnod(m4)==0)
THEN
301 IF(lkinnod(m1)==0)
THEN
312 IF(lkinnod(m2)==0)
THEN
323 IF(lkinnod(m3)==0)
THEN
355 use element_mod ,
only : nixc,nixtg
359#include "implicit_f.inc"
363 INTEGER IXC(NIXC,*), IXTG(NIXTG,*),
364 . SH4TREE(KSH4TREE,*), SH3TREE(KSH3TREE,*), ITASK
367 . a(3,*), diag_sms(*)
371#include "param_c.inc"
372#include "remesh_c.inc"
378 INTEGER SON,M1,M2,M3,M4,MC,N1,N2,N3,N4,J,NA,NB
379 INTEGER LL, SH4FT, SH4LT, SH3FT, SH3LT
390 DO level=0,levelmax-1
393 sh4ft =
psh4kin(level)+ 1+itask*ll/ nthread
394 sh4lt =
psh4kin(level)+ (itask+1)*ll/nthread
410 a(j,mc)= fourth*(a(j,n1)+a(j,n2)+a(j,n3)+a(j,n4))
420 a(j,m1)=half*(a(j,na)+a(j,nb))
430 a(j,m2)=half*(a(j,na)+a(j,nb))
440 a(j,m3)=half*(a(j,na)+a(j,nb))
450 a(j,m4)=half*(a(j,na)+a(j,nb))
459 sh3lt =
psh3kin(level)+ (itask+1)*ll/nthread
476 a(j,m1)=half*(a(j,na)+a(j,nb))
486 a(j,m2)=half*(a(j,na)+a(j,nb))
496 a(j,m3)=half*(a(j,na)+a(j,nb))
subroutine sms_admesh_1(a, diag_sms, ixc, ixtg, sh4tree, sh3tree, nodnx_sms)
subroutine sms_admesh_2(a, diag_sms, ixc, ixtg, sh4tree, sh3tree, itask)