42#include "implicit_f.inc"
46 INTEGER IXC(NIXC,*), IXTG(NIXTG,*),
47 . sh4tree(ksh4tree,*), sh3tree(ksh3tree,*)
56#include "remesh_c.inc"
60 INTEGER N, NN, LEVEL, IP, NLEV
61 INTEGER SON,,M2,M3,M4,MC,N1,N2,N3,N4,J,K
62 INTEGER,
DIMENSION(:),
ALLOCATABLE :: LKINNOD
66 CALL my_alloc(lkinnod,numnod)
68 DO level=levelmax-1,0,-1
81 ac= fourth*diag_sms(mc)
82 diag_sms(n1)=diag_sms(n1)+ac
83 diag_sms(n2)=diag_sms(n2)+ac
84 diag_sms(n3)=diag_sms(n3)+ac
85 diag_sms(n4)=diag_sms(n4)+ac
91 IF(lkinnod(m1)==0)
THEN
94 diag_sms(n1)=diag_sms(n1)+a1
95 diag_sms(n2)=diag_sms(n2)+a1
100 IF(lkinnod(m2)==0)
THEN
103 diag_sms(n2)=diag_sms(n2)+a2
104 diag_sms(n3)=diag_sms(n3)+a2
109 IF(lkinnod(m3)==0)
THEN
112 diag_sms(n3)=diag_sms(n3)+a3
113 diag_sms(n4)=diag_sms(n4)+a3
118 IF(lkinnod(m4)==0)
THEN
121 diag_sms(n1)=diag_sms(n1)+a4
122 diag_sms(n4)=diag_sms(n4)+a4
139 IF(lkinnod(m1)==0)
THEN
142 diag_sms(n1)=diag_sms(n1)+a1
143 diag_sms(n2)=diag_sms(n2)+a1
148 IF(lkinnod(m2)==0)
THEN
151 diag_sms(n2)=diag_sms(n2)+a2
152 diag_sms(n3)=diag_sms(n3)+a2
157 IF(lkinnod(m3)==0)
THEN
160 diag_sms(n3)=diag_sms(n3)+a3
161 diag_sms(n1)=diag_sms(n1)+a3
181 . SH3TREE ,NODNX_SMS)
190#include "implicit_f.inc"
194 INTEGER IXC(,*), IXTG(NIXTG,*),
195 . SH4TREE(KSH4TREE,*), SH3TREE(KSH3TREE,*), NODNX_SMS(*)
198 . a(3,*), diag_sms(*)
202#include "com04_c.inc"
203#include "param_c.inc"
204#include "remesh_c.inc"
208 INTEGER N, NN, LEVEL, IP,
209 INTEGER SON,M1,M2,M3,M4,MC,N1,N2,N3,N4,J,K
210 INTEGER,
DIMENSION(:),
ALLOCATABLE :: LKINNOD
215 CALL my_alloc(lkinnod,numnod)
217 DO level=levelmax-1,0,-1
241 IF(lkinnod(m1)==0)
THEN
252 IF(lkinnod(m2)==0)
THEN
263 IF(lkinnod(m3)==0)
THEN
274 IF(lkinnod(m4)==0)
THEN
297 IF(lkinnod(m1)==0)
THEN
308 IF(lkinnod(m2)==0)
THEN
319 IF(lkinnod(m3)==0)
THEN
353#include "implicit_f.inc"
357 INTEGER IXC(NIXC,*), IXTG(NIXTG,*),
358 . SH4TREE(KSH4TREE,*), SH3TREE(KSH3TREE,*), ITASK
361 . a(3,*), diag_sms(*)
365#include "param_c.inc"
366#include "remesh_c.inc"
371 INTEGER N, NN, LEVEL, IP, NLEV
372 INTEGER SON,M1,,M3,M4,MC,N1,N2,N3,N4,J,K,NA,NB
373 INTEGER LL, SH4FT, SH4LT, SH3FT, SH3LT
384 DO level=0,levelmax-1
387 sh4ft =
psh4kin(level)+ 1+itask*ll/ nthread
388 sh4lt =
psh4kin(level)+ (itask+1)*ll/nthread
404 a(j,mc)= fourth*(a(j,n1)+a(j,n2)+a(j,n3)+a(j,n4))
414 a(j,m1)=half*(a(j,na)+a(j,nb))
424 a(j,m2)=half*(a(j,na)+a(j,nb))
434 a(j,m3)=half*(a(j,na)+a(j,nb))
444 a(j,m4)=half*(a(j,na)+a(j,nb))
452 sh3ft =
psh3kin(level)+ 1+itask*ll/ nthread
453 sh3lt =
psh3kin(level)+ (itask+1)*ll/nthread
470 a(j,m1)=half*(a(j,na)+a(j,nb))
480 a(j,m2)=half*(a(j,na)+a(j,nb))
490 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)