37 1 NUM_IMP ,NS_IMP ,NE_IMP ,IPARI ,INTBUF_TAB,
38 2 NPBY ,LPBY ,ITAB ,NRBYAC ,
39 3 IRBYAC ,NINT2 ,IINT2 ,IDDL ,IKC ,
40 4 NDOF ,INLOC ,NSREM ,NSL ,NBINTC ,
41 5 INTLIST ,X ,IBFV ,LJ ,SKEW ,
42 6 XFRAME ,ISKEW ,ICODT ,A ,UD ,
43 7 LB ,IFDIS ,NDDL ,URD ,IDDLI ,
44 8 IRBE3 ,LRBE3 ,FRBE3 ,IRBE2 ,LRBE2 )
52#include "implicit_f.inc"
61 INTEGER IPARI(NPARI,*),NUM_IMP(*),NS_IMP(*),
62 . NE_IMP(*),NSREM ,NSL,NBINTC,INTLIST(*),
63 . IRBE3(*),LRBE3(*),IRBE2(*),LRBE2(*)
64 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
65 . NINT2,IINT2(*),IDDL(*),IKC(*),NDOF(*),INLOC(*),
66 . IBFV(*),LJ(*),ISKEW(*),ICODT(*),IFDIS,NDDL,IDDLI(*)
69 . x(3,*),skew(*) ,xframe(*),
70 . a(3,*),ud(3,*),lb(*),urd(3,*),frbe3(*)
72 TYPE(intbuf_struct_) INTBUF_TAB(*)
78 .
DIMENSION(:),
ALLOCATABLE :: LB0
86 IF ((nsrem+nsl)>0)
THEN
89 1 ipari ,intbuf_tab,num_imp ,ns_imp ,ne_imp ,
90 2 npby ,lpby ,itab ,nrbyac ,irbyac ,
91 3 nint2 ,iint2 ,iddl ,ikc ,ndof ,
92 4 inloc ,nsrem ,nsl ,nbintc ,intlist ,
94 6 xframe ,iskew ,icodt ,irbe3 ,lrbe3 ,
95 7 frbe3 ,irbe2 ,lrbe2 )
100 1 npby ,lpby ,itab ,nrbyac ,irbyac ,
101 2 ipari ,intbuf_tab,nint2 ,iint2 ,iddl ,
102 3 ikc ,ndof ,inloc ,nsrem ,nsl ,
103 4 nbintc ,intlist ,x ,ibfv ,
104 5 lj ,skew ,xframe ,iskew ,icodt ,
105 6 a ,ud ,lb0 ,ifdis ,urd ,
106 7 iddli ,irbe3 ,lrbe3 ,frbe3 ,irbe2 ,
136 1 NUM_IMP ,NS_IMP ,NE_IMP ,IPARI ,INTBUF_TAB,
137 2 IDDL ,IKC ,NDOF ,NSREM ,
138 3 NSL ,D_IMP ,DD ,DR_IMP ,DDR ,
140 5 LB ,NDDL ,IBFV ,SKEW ,XFRAME ,
141 6 IRBE3 ,LRBE3 ,IRBE2 ,LRBE2 ,DE ,
150#include "implicit_f.inc"
154#include
"com01_c.inc"
155#include "com04_c.inc"
156#include "param_c.inc"
157#include "impl1_c.inc"
161 INTEGER IPARI(NPARI,*),NUM_IMP(*),NS_IMP(*),
162 . NE_IMP(*),NSREM ,NSL,NDDL,IRBE3(*),LRBE3(*)
163 INTEGER IDDL(*),IKC(*),NDOF(*),IBFV(*),IRBE2(*),LRBE2(*),
167 . D_IMP(3,*) ,DD(3,*),DR_IMP(3,*) ,DDR(3,*),LB(*),
168 . A(3,*) ,AR(3,*),MS(*) ,V(3,*),X(3,*),
169 . SKEW(*),XFRAME(*),DE
170 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
178 .
DIMENSION(:),
ALLOCATABLE :: dd_tmp,ddr_tmp
184 CALL fr_matv( a ,v ,d_imp ,ms ,x ,
185 1 dr_imp,ar ,ipari ,intbuf_tab ,
186 2 ndof ,num_imp,ns_imp,ne_imp,lx ,
187 3 nsrem ,nsl ,ibfv ,skew ,xframe ,
188 4 lx ,irbe3 ,lrbe3,irbe2 ,lrbe2 )
194 .
CALL ini_dd0(iddl ,ikc ,ndof ,ipari ,intbuf_tab,
195 . d_imp,dr_imp,nsl ,irbe3,lrbe3 ,
206 .
CALL ini_ddfv(iddl ,ikc ,ndof ,ipari ,intbuf_tab,
207 . d_imp,dr_imp,dd_tmp,ddr_tmp,nsl ,
208 . irbe3,lrbe3 ,irbe2 ,lrbe2 )
212 CALL fr_matv( a ,v ,dd_tmp ,ms ,x ,
213 1 ddr_tmp ,ar ,ipari ,intbuf_tab ,
214 2 ndof ,num_imp,ns_imp,ne_imp,lx ,
215 3 nsrem ,nsl ,ibfv ,skew ,xframe ,
216 4 lx ,irbe3 ,lrbe3 ,irbe2 ,lrbe2 )
218 IF (iroddl/=0)
DEALLOCATE(ddr_tmp)
225 . dd ,ddr ,lb ,de ,w_ddl )
227 .
CALL ini_dd0(iddl ,ikc ,ndof ,ipari ,intbuf_tab ,
228 . dd ,ddr ,nsl ,irbe3,lrbe3 ,
234!||====================================================================
253 1 IPARI ,INTBUF_TAB,NUM_IMP ,NS_IMP ,NE_IMP ,
254 2 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
255 3 NINT2 ,IINT2 ,IDDL ,IKC ,NDOF ,
256 4 INLOC ,NSREM ,NSL ,NBINTC ,INTLIST ,
257 5 X ,IBFV ,LJ ,SKEW ,
258 6 XFRAME ,ISKEW ,ICODT ,IRBE3 ,LRBE3 ,
259 7 FRBE3 ,IRBE2 ,LRBE2 )
267#include "implicit_f.inc"
271#include "com04_c.inc"
272#include "param_c.inc"
276 INTEGER IPARI(NPARI,*),NUM_IMP(*),NS_IMP(*),
277 . NE_IMP(*),NSREM ,NSL,NBINTC,INTLIST(*)
278 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
279 . NINT2,IINT2(*),IDDL(*),IKC(*),NDOF(*),INLOC(*),
280 . IBFV(*),LJ(*),ISKEW(*),ICODT(*),IRBE3(*),LRBE3(*),
284 . X(3,*),SKEW(*),XFRAME(*),FRBE3(*)
285 TYPE(intbuf_struct_) INTBUF_TAB(*)
289 INTEGER NIN,NTY,ILOCP(NUMNOD),IDDLM(NUMNOD),LNS,LNS2,N_KINE
290 INTEGER I,J,K,L,NDOFI,N,IAD,NRTS,
291 . NSN,NKC,J1,ND,N_KINE_M,LNSS ,LNSS2,LNS3,LNSS3,
296 CALL SPMD_IFC1(NSREM ,NSL ,KSS )
297 IF (NSL>0) CALL IMP_FRSN(IPARI ,INTBUF_TAB ,NBINTC,INTLIST)
311 IF(nty==5) iad=iad+num_imp(nin)
320 ELSEIF(nty==7.OR.nty==10.OR.nty==24)
THEN
322 CALL tag_intm(num_imp(nin),ns_imp(iad),ne_imp(iad),
323 . intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV , ilocp ,
329 CALL tag_intm11(num_imp(nin),ns_imp(iad),ne_imp(iad),
330 . intbuf_tab(nin)%IRECTS,intbuf_tab(nin)%IRECTM, ilocp ,
338 CALL ini_intm(ilocp ,n_kine_m, n_kine )
346 IF (ikc(nd)/=0) nkc = nkc + 1
351 1 npby ,lpby ,itab ,nrbyac ,irbyac ,
352 2 nint2 ,iint2 ,ipari ,intbuf_tab,ilocp,
353 3 lns ,lns2 ,lnss ,lnss2 ,n_kine_m ,
354 4 irbe3 ,lns3 ,lnss3 ,irbe2 ,lrbe2 ,
357 1 npby ,lpby ,itab ,nrbyac ,irbyac ,
358 2 nint2 ,iint2 ,ipari
359 3 lns ,lns2 ,lnss ,lnss2 ,n_kine_m ,
360 4 ibfv ,lj ,iskew ,icodt ,irbe3 ,
361 5 lns3 ,lnss3 ,irbe2 ,lrbe2 ,lrs2 ,
363 CALL iddl_int(nsl ,iddl ,ikc ,ndof ,iddlm ,
364 . ipari ,intbuf_tab ,irbe3 ,lrbe3 ,frbe3 ,
365 . x ,skew ,irbe2 ,lrbe2 )
367 .
CALL diag_int(nsl ,ndof ,ipari ,intbuf_tab,
368 . kss ,x ,ibfv ,skew ,xframe ,
369 . irbe3 ,lrbe3 ,irbe2 ,lrbe2 )
383 SUBROUTINE imp_frsn(IPARI ,INTBUF_TAB ,NBINTC,INTLIST)
392#include "implicit_f.inc"
396#include "param_c.inc"
397#include "com01_c.inc"
401 INTEGER IPARI(NPARI,*), NBINTC,INTLIST(*)
402 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
406 INTEGER I,J,K,L,N,NN,IAD,NSN,NIN,NUM,NTY,II,NB
421 IF(nty==7.OR.nty==10.OR.nty==24)
THEN
425 n = intbuf_tab(nin)%NSV(n0)
433 n1 = intbuf_tab(nin)%IRECTS(2*(n0-1)+1)
434 n2 = intbuf_tab(nin)%IRECTS(2*(n0-1)+2)
463#include "implicit_f.inc"
467#include "impl1_c.inc"
504 SUBROUTINE imp_fr7i(IPARI ,INTBUF_TAB,NUM_IMP ,NS_IMP ,NSREM ,
515#include "implicit_f.inc"
519#include "param_c.inc"
520#include "com01_c.inc"
521#include "com04_c.inc"
526 INTEGER NUM_IMP(*),NS_IMP(*),IPARI(NPARI,*),
527 . nsrem,nbintc,intlist(*)
528 TYPE(intbuf_struct_) INTBUF_TAB(*)
532 INTEGER I,J,K,L,N,NN,IAD,NSN,NIN,NUM,NTY,,NB
533 INTEGER IERROR1,IERROR2,,NSREM11,NCONT,
534 . ierror3,ierror4,ierror5,ierror6,ierror7
535 INTEGER DEBUT(NINTER),DEBUTI(NINTER),L1,
536 . IERROR8,IERROR9,IDEB,IDEBI,LOC_PROC
552 IF(nty==7.OR.nty==10.OR.nty==11.OR.nty==24)
THEN
554 debuti(nin) = debuti(nin) + nb
567 IF(nty==5) iad=iad+num_imp(nin)
574 IF(nty==7.OR.nty==10.OR.nty==24)
THEN
576 IF (ns_imp(i+iad)>nsn)
THEN
588 IF (ns_imp(i+iad)>nrts)
THEN
589 nn=ns_imp(i+iad)-nrts
593 nsrem11 = nsrem11 + 1
603 IF (l1>0)
ALLOCATE(
ind_int(nin)%P(l1),stat=ierror1)
610 ncont = nsrem-nsrem11
612 IF(
ALLOCATED(stifs))
DEALLOCATE(stifs)
613 ALLOCATE(stifs(ncont),stat=ierror3)
614 IF(
ALLOCATED(h_e))
DEALLOCATE(h_e)
615 ALLOCATE(h_e(4,ncont),stat=ierror4)
616 IF(
ALLOCATED(n_e))
DEALLOCATE(n_e)
617 ALLOCATE(n_e(3,ncont),stat=ierror5)
622 ALLOCATE(
fr_srem(nsrem),stat=ierror2)
623 IF(
ALLOCATED(dfi))
DEALLOCATE(dfi)
624 ALLOCATE(dfi(3,nsrem),stat=ierror6)
625 IF(
ALLOCATED(ffi))
DEALLOCATE(ffi)
629 ALLOCATE(
iad_srem(nspmd+1),stat=ierror8)
631 ALLOCATE(
inbsl(nbintc,nspmd),stat=ierror9)
651 IF(nty==7.OR.nty==10.OR.nty==11.OR.nty==24)
THEN
653 IF(nty==7.OR.nty==10.OR.nty==24)
THEN
655 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
662 debuti(nin) = debuti(nin) + nb
666 IF(
nsvfi(nin)%P(ideb+n)<0)
THEN
675 debuti(nin) = debuti(nin) + nb
678 debut(nin) = debut(nin) + nb
708#include "implicit_f.inc"
712#include "com01_c.inc"
716 INTEGER NBINTC,NSL,NSREM
720 INTEGER I,IERROR1,IERROR2,IERROR3,IERROR4,IERROR5,
727 ALLOCATE(
iad_sl(nspmd+1),stat=ierror1)
730 ALLOCATE(
iad_srem(nspmd+1),stat=ierror2)
740 ALLOCATE(
inbsl(nbintc,nspmd),stat=ierror5)
749 IF(
ALLOCATED(
isl))
DEALLOCATE(
isl)
750 ALLOCATE(
isl(nsl),stat=ierror3)
753 IF(
ALLOCATED(diag_s))
DEALLOCATE(diag_s)
754 ALLOCATE(diag_s(3,nsl),stat=ierror4)
755 IF(
ALLOCATED(
islm))
DEALLOCATE(
islm)
756 ALLOCATE(
islm(nsl),stat=ierror5)
771 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NSV ,
772 2 ILOC ,N_IMPN ,NSN )
776#include "implicit_f.inc"
783 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NSV(*),
789 INTEGER I,J,N,N1,N2,NE,IG
803 IF (irect(3,ne)/=irect(4,ne))
THEN
816!||====================================================================
832#include "implicit_f.inc"
836 INTEGER NSL,ILOC(*),N_IMPN
841 INTEGER ,J,N,N1,N2,NE,IG
847 IF (iloc(n)==0) iloc(n)=i
877 SUBROUTINE ini_ddfv(IDDL ,IKC ,NDOF ,IPARI ,INTBUF_TAB ,
878 . D ,DR ,DD ,DDR ,NSL ,
879 . IRBE3,LRBE3,IRBE2 ,LRBE2 )
891#include "implicit_f.inc"
895#include "param_c.inc"
899 INTEGER IDDL(*),(*),NDOF(*),NSL
900 INTEGER IPARI(NPARI,*),IRBE3(NRBE3L,*),LRBE3(*) ,
901 . IRBE2(NRBE2L,*),LRBE2(*)
904 . d(3,*),dr(3,*),dd(3,*),ddr(3,*)
905 TYPE(intbuf_struct_) INTBUF_TAB(*)
910 INTEGER M,NSN,JI,L,NNOD,NJ,NL,NI
915 DO j = 1,
min(3,ndof(n))
917 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
923 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
932 DO j = 1,
min(3,ndof(n))
934 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
940 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
948 DO j=1,
min(3,ndof(m))
950 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
956 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
967 l=intbuf_tab(n)%IRTLM(ni)
969 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
976 nj=intbuf_tab(n)%IRECTM(nl+m)
977 DO j = 1 ,
min(3,ndof(nj))
979 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
985 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
986 ddr(j-3,nj)=dr(j-3,nj)
999 DO j = 1 ,
min(3,ndof(nj))
1001 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
1007 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
1008 ddr(j-3,nj)=dr(j-3,nj)
1017 DO j=1,
min(3,ndof(m))
1019 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
1025 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
1026 ddr(j-3,m)=dr(j-3,m)
1041 SUBROUTINE ini_dd0(IDDL ,IKC ,NDOF ,IPARI ,INTBUF_TAB ,
1042 . DD ,DDR ,NSL ,IRBE3 ,LRBE3 ,
1052#include "implicit_f.inc"
1056#include "param_c.inc"
1060 INTEGER IDDL(*),IKC(*),NDOF(*),NSL
1061 INTEGER IPARI(NPARI,*),IRBE3(NRBE3L,*),LRBE3(*),
1062 . IRBE2(NRBE2L,*),LRBE2(*)
1066 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
1070 INTEGER I,ND,N,J,IAD,JI
1071 INTEGER M,NSN,L,NNOD,NJ,NL,NI
1076 DO j = 1,
min(3,ndof(n))
1078 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
1084 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
1093 DO j = 1,
min(3,ndof(n))
1095 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
1101 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
1109 DO j=1,
min(3,ndof(m))
1111 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
1117 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
1128 l=intbuf_tab(n)%IRTLM(ni)
1130 IF (intbuf_tab(n)%IRECTM(nl+3)==intbuf_tab(n)%IRECTM(nl+4))
THEN
1137 nj=intbuf_tab(n)%IRECTM(nl+m)
1138 DO j = 1 ,
min(3,ndof(nj))
1140 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
1146 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
1160 DO j = 1 ,
min(3,ndof(nj))
1162 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
1168 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
1178 DO j=1,
min(3,ndof(m))
1180 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
1186 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
1210#include "implicit_f.inc"
1214#include "com04_c.inc"
1218 INTEGER ILOC(*),N_IMPN,N_IMPS
1228 IF(
ALLOCATED(
iml))
DEALLOCATE(
iml)
1229 ALLOCATE(
iml(nml),stat=ierror1)
1231 IF (iloc(n)>n_imps)
THEN
1248 1 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
1249 2 NINT2 ,IINT2 ,IPARI ,INTBUF_TAB,INLOC ,
1250 3 LNS ,LNS2 ,LNSS ,LNSS2 ,NK_M ,
1251 4 IRBE3 ,LNS3 ,LNSS3 ,IRBE2 ,LRBE2 ,
1260#include "implicit_f.inc"
1264#include "com04_c.inc"
1265#include "param_c.inc"
1270 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
1271 . NINT2,IINT2(*),IPARI(NPARI,*)
1273 . inloc(*),lns ,lns2,lnss ,lnss2,nk_m,
1274 . irbe3(nrbe3l,*),lns3 ,lnss3 ,irbe2(nrbe2l,*),lrbe2(*),
1277 TYPE(intbuf_struct_) INTBUF_TAB(*)
1282 . i,j,k,n,l,
nl,nj,ni,j1,m,nsn,n1,n2,nk,
id,
1292 ni=intbuf_tab(n)%NSV(i)
1293 IF (inloc(ni)>0)
THEN
1295 IF (inloc(ni)<=nk_m) lnss2=lnss2+1
1305 IF (inloc(ni)>0)
THEN
1307 IF (inloc(ni)<=nk_m) lnss3=lnss3+1
1321 IF (inloc(ni)>0)
THEN
1323 IF (inloc(ni)<=nk_m) lnss=lnss+1
1324 IF (inloc(m)==0) inloc(m) = 1
1338 IF (inloc(ni)>0)
THEN
1340 IF (inloc(ni)<=nk_m) lnrs2=lnrs2+1
1341 IF (inloc(m)==0) inloc(m) = 2
1359 1 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
1360 2 NINT2 ,IINT2 ,IPARI ,INTBUF_TAB,INLOC ,
1361 3 NSS ,NSS2 ,NSS_S ,NSS2_S ,KN_M ,
1362 4 IBFV ,LJ ,ISKEW ,ICODT ,IRBE3 ,
1363 5 NSS3 ,NSS3_S ,IRBE2 ,LRBE2 ,NSR2 ,
1375#include "implicit_f.inc"
1379#include "com04_c.inc"
1380#include "param_c.inc"
1385 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
1386 . nint2,iint2(*),ipari(npari,*),iskew(*),icodt(*)
1388 . inloc(*),nss,nss2,nss_s ,nss2_s,kn_m,ibfv(nifv,*),lj(*),
1389 . irbe3(nrbe3l,*),nss3 ,nss3_s ,irbe2(nrbe2l,*),lrbe2(*),
1392 TYPE(intbuf_struct_) INTBUF_TAB(*)
1397 . I,J,K,N,L,NL,NJ,NI,J1,M,NSN,N1,N2,NK,ID,IAD,JI,
1398 . ierror1,ierror2,ierror3,ierror4,ierror5,ierror6,ierror7
1404 ALLOCATE(
ifrs2(2,nss2),stat=ierror1)
1407 ALLOCATE(
ifrs2_s(nss2_s),stat=ierror3)
1414 ni=intbuf_tab(n)%NSV(i)
1415 IF (inloc(ni)>0)
THEN
1419 IF (inloc(ni)<=kn_m)
THEN
1427 .
WRITE(*,*)
'pb cal NI2_FR'
1434 ALLOCATE(
ifrs3(nss3),stat=ierror1)
1437 ALLOCATE(
ifrs3_s(nss3_s),stat=ierror3)
1442 IF (inloc(ni)>0)
THEN
1445 IF (inloc(ni)<=kn_m)
THEN
1452 .
WRITE(*,*)
'pb cal NRBE3_FR'
1459 ALLOCATE(
ifrsr(2,nss),stat=ierror2)
1462 ALLOCATE(
ifrsr_s(nss_s),stat=ierror4)
1468 IF (inloc(m)>0)
THEN
1473 IF (inloc(ni)>0)
THEN
1477 IF (inloc(ni)<=kn_m)
THEN
1489 IF (iskew(n)>1.AND.icodt(n)/=7)
THEN
1498 IF (iskew(n)>1.AND.icodt(n)/=7)
THEN
1499 IF (inloc(n)>0.AND.inloc(n)<=kn_m)
THEN
1512 IF (inloc(n)>0.AND.inloc(n)<=kn_m.AND.
ic_spc(i)<=3)
1521 IF (inloc(n)>0.AND.inloc(n)<=kn_m.AND.
ic_spc(i)<=3)
THEN
1530 IF (lj(j)>0.AND.lj(j)<=3)
THEN
1540 IF (lj(j)>0.AND.lj(j)<=3)
THEN
1542 IF (inloc(n)>0.AND.inloc(n)<=kn_m)
THEN
1562 IF (inloc(n)>0)
THEN
1574 ALLOCATE(
ifrs4(2,nsr2),stat=ierror2)
1577 ALLOCATE(
ifrs4_s(nrs2_s),stat=ierror4)
1581 IF (inloc(m)>0)
THEN
1587 IF (inloc(ni)>0)
THEN
1591 IF (inloc(ni)<=kn_m)
THEN
1603!||====================================================================
1614 . IPARI ,INTBUF_TAB,IRBE3 ,LRBE3 ,FRBE3 ,
1615 . X ,SKEW ,IRBE2 ,LRBE2 )
1624#include "implicit_f.inc"
1628#include "param_c.inc"
1629#include "tabsiz_c.inc"
1633 INTEGER NSL,IDDL(*) ,IKC(*) ,NDOF(*) ,IDDLM(*)
1634 INTEGER IPARI(NPARI,*),IRBE3(NRBE3L,*),LRBE3(*),
1635 . irbe2(nrbe2l,*),lrbe2(*)
1637 . frbe3(*),x(*),skew(*)
1638 TYPE(intbuf_struct_) INTBUF_TAB(*)
1642 INTEGER,N,J,NDD,I1,IAD,NMT,IROTG,IADS
1643 INTEGER M,NSN,L,NNOD,NJ,NL,NI,
1644 INTEGER IERROR1,IERROR2,IERROR3,IERROR4,IERROR5
1650 IF(ALLOCATED(IDDML)) DEALLOCATE(IDDML)
1651 ALLOCATE(IDDML(3,NML),STAT=ierror1)
1657 DO j = 1 ,
min(3,ndof(n))
1661 iddml(j,i) = iddlm(n) + ndd
1663 iddml(j,i) = -ikc(
id)
1671 ALLOCATE(
iddsl(3,nsl),stat=ierror2)
1676 DO j = 1 ,
min(3,ndof(n))
1680 iddsl(j,i) = iddlm(n) + ndd
1698 iddmr(j,i) = iddlm(n) + ndd
1714 l=intbuf_tab(n)%IRTLM(ni)
1716 IF (intbuf_tab(n)%IRECTM(nl+3)==intbuf_tab(n)%IRECTM(nl+4))
THEN
1723 nj=intbuf_tab(n)%IRECTM(nl+m)
1729 iddmi2(j,m,i) = iddlm(nj) + ndd
1743 ndd =
max(ndd ,irbe3(5,n))
1753 irotg =
max(irotg,irbe3(6,n))
1762 iddmi3(j,m,i) = iddlm(nj) + ndd
1770 IF(
ALLOCATED(frcdi))
DEALLOCATE(frcdi)
1771 ALLOCATE(frcdi(18*nmt))
1773 IF(
ALLOCATED(mrcdi))
DEALLOCATE(mrcdi)
1774 ALLOCATE(mrcdi(18*nmt))
1785 CALL rbe3cl(lrbe3(iad+1),lrbe3(nmt+iad+1),ni ,x ,
1786 . frbe3(6*iad+1),skew ,nnod ,irotg ,frcdi(iads),
1787 . mrcdi(iads) ,irbe3(2,n))
1804 iddmr2(j,i) = iddlm(m) + ndd
1822!||
i2_frup0 ../engine/source/interfaces
1837 . KSS ,X ,IBFV ,SKEW ,XFRAME,
1838 . IRBE3 ,LRBE3 ,IRBE2 ,LRBE2 )
1849#include "implicit_f.inc"
1853#include "param_c.inc"
1857 INTEGER NSL , NDOF(*) ,IBFV(NIFV,*)
1858 INTEGER IPARI(NPARI,*),IRBE3(NRBE3L,*),LRBE3(*),
1859 . IRBE2(NRBE2L,*),LRBE2(*)
1861 . KSS(6,*),X(3,*),SKEW(LSKEW,*),XFRAME(NXFRAME,*)
1862 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
1866 INTEGER I,ID,N,J,NDD,I1,IS,NS,ILEV,JT(3),JR(3)
1867 INTEGER M,NSN,JI,L,NNOD,NJ,NL,NI,IROT,IRAD
1868 INTEGER IERROR1,IERROR2,J1,ISK,IFM,K1,K2,K3,ICT,NN,IAD,IADS,K
1870 . XS,YS,ZS,KII(3,3),(6),EJ(3),S,KDD(6,6),KMM(6)
1876 IF(ALLOCATED(DIAG_MR)) DEALLOCATE(DIAG_MR)
1877 ALLOCATE(DIAG_MR(6,NRB_FRS),STAT=ierror1)
1885 IF(
ALLOCATED(diag_m2))
DEALLOCATE(diag_m2)
1886 ALLOCATE(diag_m2(6,4,
ni2_frs),stat=ierror2)
1890 diag_m2(j,m,i1)=zero
1901 iads=
max(iads,irbe3(5,n))
1903 IF(
ALLOCATED(diag_m3))
DEALLOCATE(diag_m3)
1904 ALLOCATE(diag_m3(6,iads,
nrbe3_frs),stat=ierror1)
1909 IF(
ALLOCATED(diag_mr2))
DEALLOCATE(diag_mr2)
1910 ALLOCATE(diag_mr2(6,
nrbe2_frs),stat=ierror1)
1916 DO j = 1,
min(3,ndof(n))
1918 IF (id>0) diag_s(j,i)=kss(j,i)
1928 ns=intbuf_tab(n)%NSV(ni)
1930 IF (
isl(is)==ns)
THEN
1933 CALL i2_frup1(x ,intbuf_tab(n)%IRECTM,intbuf_tab(n)%DPARA ,intbuf_tab(n)%NSV ,
1934 1 intbuf_tab(n)%IRTLM ,ns ,kss(1,is),diag_m2(1,1,i1))
1936 CALL i2_frup0(x ,intbuf_tab(n)%IRECTM,intbuf_tab(n)%CSTS ,intbuf_tab(n)%NSV ,
1937 1 intbuf_tab(n)%IRTLM,ns,ndof,kss(1,is),diag_m2(1,1,i1))
1961 IF (
isl(is)==ns)
THEN
1963 kdd(j,j) = kss(j,is)
1972 2 jr ,ndof ,skew(1,isk),kdd ,kmm ,
1973 3 diag_s(1,is),irad )
1975 diag_mr2(j,i1) = diag_mr2(j,i1) + kmm(j)
1990 IF (
isl(is)==ni)
THEN
1993 CALL rbe3_frupd(nnod ,lrbe3(iad+1) ,frcdi(iads),
1994 1 mrcdi(iads),ndof ,jt ,irot ,
1995 2 kss(1,is),diag_m3(1,1,i1))
2006 IF (
isl(is)==n)
THEN
2010 CALL updfr_rb(xs,ys,zs,kss(1,is),diag_mr(1,i1))
2019 IF (
isl(is)==n)
THEN
2029 CALL bcl_impkd(ict ,isk ,skew ,kii ,diag_s(1,is))
2040 IF (
isl(is)==i)
THEN
2052 ej(2)=skew_spc(iad+1)
2053 ej(3)=skew_spc(iad+2)
2057 CALL fv_updkd2(skew_spc(iad),skew_spc(iad+3),kii,
2070 IF (ifm<=1) j=j-10*isk
2079 ej(1)=xframe(k1,ifm)
2080 ej(2)=xframe(k2,ifm)
2081 ej(3)=xframe(k3,ifm)
2084 IF (
isl(is)==i)
THEN
2098 CALL fv_updkd(ej ,j1 ,kii ,diag_s(1,is))
2106 IF (
isl(is)==n)
THEN
2120 CALL fv_updkd(ej ,j1 ,kii ,diag_s(1,is))
2127!||====================================================================
2143#include "implicit_f.inc"
2147 INTEGER N ,NIC,IC(*),INTAB
2173 SUBROUTINE imp_diags(DIAG_K,NDOF,NSL,IPARI,INTBUF_TAB,IRBE3,LRBE3,
2183#include "implicit_f.inc"
2187#include "param_c.inc"
2192 INTEGER IPARI(NPARI,*),IRBE3(NRBE3L,*),LRBE3(*),
2197 TYPE(intbuf_struct_) INTBUF_TAB(*)
2201 INTEGER I,J,N,ID,I1,IAD
2202 INTEGER M,NSN,L,NNOD,,NL,NI,JI
2207 diag_k(id)=diag_k(id)+diag_sl(i)
2213 DO j = 1,
min(3,ndof(n))
2215 IF (id>0) diag_k(id)=diag_k(id)+diag_s(j,i)
2225 l=intbuf_tab(n)%IRTLM(ni)
2227 IF (intbuf_tab(n)%IRECTM(nl+3)==intbuf_tab(n)%IRECTM(nl+4))
THEN
2233 nj=intbuf_tab(n)%IRECTM(nl+m)
2236 IF (id>0) diag_k(id)=diag_k(id)+diag_m2(j,m,i1)
2250 IF (id>0) diag_k(id)=diag_k(id)+diag_m3(j,m,i1)
2259 IF (id>0) diag_k(id)=diag_k(id)+diag_mr(j,i1)
2269 IF (id>0) diag_k(id)=diag_k(id)+diag_mr2(j,i1)
2287 SUBROUTINE imp_diagsn(DIAG_K,NDOF,NSL,IPARI,INTBUF_TAB,IRBE3,LRBE3,
2297#include "implicit_f.inc"
2301#include "param_c.inc"
2306 INTEGER IPARI(NPARI,*),IRBE3(NRBE3L,*),LRBE3(*),
2311 TYPE(intbuf_struct_) INTBUF_TAB(*)
2315 INTEGER I,J,N,ID,I1,IAD
2316 INTEGER M,NSN,L,NNOD,NJ,NL,NI,JI
2321 diag_k(id)=diag_k(id)-diag_sl(i)
2327 DO j = 1,
min(3,ndof(n))
2329 IF (id>0) diag_k(id)=diag_k(id)-diag_s(j,i)
2339 l=intbuf_tab(n)%IRTLM(ni)
2341 IF (intbuf_tab(n)%IRECTM(nl+3)==intbuf_tab(n)%IRECTM(nl+4))
THEN
2347 nj=intbuf_tab(n)%IRECTM(nl+m)
2350 IF (id>0) diag_k(id)=diag_k(id)-diag_m2(j,m,i1)
2364 IF (id>0) diag_k(id)=diag_k(id)-diag_m3(j,m,i1)
2373 IF (id>0) diag_k(id)=diag_k(id)-diag_mr(j,i1)
2383 IF (id>0) diag_k(id)=diag_k(id)-diag_mr2(j,i1)
2414 1 DR ,AR ,IPARI ,INTBUF_TAB ,
2415 2 NDOF ,NUM_IMP,NS_IMP,NE_IMP,LX ,
2416 3 NSREM ,NSL ,IBFV ,SKEW ,XFRAME ,
2417 4 F ,IRBE3 ,LRBE3 ,IRBE2 ,LRBE2 )
2425#include "implicit_f.inc"
2429#include "param_c.inc"
2430#include "impl1_c.inc"
2434 INTEGER IPARI(NPARI,*), NDOF(*),IBFV(*) ,
2435 . num_imp(*),ns_imp(*),ne_imp(*),nsrem,nsl,
2436 . irbe3(*) ,lrbe3(*),irbe2(*),lrbe2(*)
2438 . a(3,*),ar(3,*),v(3,*),d(3,*),dr(3,*),x(3,*) ,
2439 . ms(*),skew(*) ,xframe(*)
2442 TYPE(intbuf_struct_) INTBUF_TAB(*)
2448 IF ((NSREM+NSL)==0) return
2459 CALL fr_u2d(ndof ,lx ,d ,a ,nsrem, nsl )
2461 CALL fr_u2dd(d ,dr ,x ,ipari ,intbuf_tab,
2463 2 ibfv ,skew ,xframe,irbe3,lrbe3 ,
2470 1 ipari ,intbuf_tab ,num_imp,ns_imp,
2475 CALL upd_fr(a ,ar ,x ,ipari ,intbuf_tab,
2476 1 ndof ,ibfv ,skew ,xframe ,
2477 2 irbe3 ,lrbe3 ,irbe2 ,lrbe2 )
2479 CALL fr_a2b(ndof ,f ,a ,nsl )
2480 CALL fr_a2bd(ndof ,ipari ,intbuf_tab,f ,a ,
2481 . ar ,irbe3 ,lrbe3 ,irbe2 ,lrbe2 )
2497#include "implicit_f.inc"
2501#include "impl1_c.inc"
2505 INTEGER , NSL, NINDEX(*)
2513 IF ((NSREM+NSL)==0) return
2522 print*,
'**ERROR OPTION NOT COMPATIBLE WITH GPU'
2535 SUBROUTINE fr_u2d(NDOF ,LX ,D ,A ,NSREM ,NSL )
2543#include "implicit_f.inc"
2547 INTEGER NDOF(*),,NSREM
2549 . D(3,*),A(3,*),LX(*)
2553 INTEGER I,J,K,ID,ND,M,N
2562 DO j=1,
min(3,ndof(n))
2564 IF (nd>0) d(j,n)=lx(nd)
2571 DO j=1,
min(3,ndof(n))
2573 IF (nd>0) d(j,n)=lx(nd)
2605 . IBFV ,SKEW ,XFRAME,IRBE3 ,LRBE3 ,
2617#include "implicit_f.inc"
2621#include "com04_c.inc"
2622#include "param_c.inc"
2626 INTEGER IRBE3(NRBE3L,*),(*),IRBE2(,*),LRBE2(*),
2627 . ipari(npari,*), ndof(*),ibfv(nifv,*)
2629 . d(3,*),dr(3,*),a(3,*),ar(3,*),x(3,*) ,lx(*),
2630 . skew(lskew,*) ,xframe(*)
2631 TYPE(intbuf_struct_) INTBUF_TAB(*)
2635 INTEGER I,J,N,M,NS,NI,NSN,ILEV,IADS,IROT,IAD,JI,
2636 . L,NNOD,NJ,ND,NL,ISK,IFM,LJFR(NFXVEL),
2637 . JT(3),JR(3),IRAD,NN,IC
2644 CALL bcl_impd(ifm ,isk ,skew ,i ,d )
2656 ej(2)=skew_spc(iad+1)
2657 ej(3)=skew_spc(iad+2)
2662 CALL bc_upd2d(i ,skew_spc(iad),skew_spc(iad+3),d )
2677 CALL fv_impd(ibfv ,ljfr ,skew ,xframe,d ,
2701 IF (j<=3.AND.nd>0)
THEN
2723 IF (j<=3.AND.nd>0)
THEN
2733 CALL rbe3_frd(nnod ,lrbe3(iad+1),ns ,d ,dr ,
2734 1 frcdi(iads),mrcdi(iads),jt ,jr ,irot )
2743 IF (j<=3.AND.nd>0)
THEN
2759 1 jt ,jr ,skew(1,isk),isk ,irad )
2770 l=intbuf_tab(n)%IRTLM(ni)
2772 IF (intbuf_tab(n)%IRECTM(nl+3)==intbuf_tab(n)%IRECTM(nl+4))
THEN
2779 nj=intbuf_tab(n)%IRECTM(nl+m)
2782 IF (j<=3.AND.nd>0)
THEN
2793 CALL i2_frrd1(x ,intbuf_tab(n)%IRECTM,intbuf_tab(n)%DPARA ,intbuf_tab(n)%NSV ,
2794 1 intbuf_tab(n)%IRTLM ,d ,ni )
2796 CALL i2_frrd0(x ,intbuf_tab(n)%IRECTM,intbuf_tab(n)%CSTS ,intbuf_tab(n)%NSV ,
2797 1 intbuf_tab(n)%IRTLM ,d ,dr ,ni ,ndof )
2827 SUBROUTINE upd_fr( A ,AR ,X ,IPARI ,INTBUF_TAB,
2828 1 NDOF ,IBFV ,SKEW ,XFRAME ,
2829 2 IRBE3 ,LRBE3 ,IRBE2 ,LRBE2 )
2840#include "implicit_f.inc"
2844#include "param_c.inc"
2848 INTEGER IRBE3(NRBE3L,*),LRBE3(*),IRBE2(NRBE2L,*),LRBE2(*),
2849 . IPARI(NPARI,*), NDOF(*),(NIFV,*)
2851 . a(3,*),ar(3,*),x(3,*) ,skew(lskew,*),xframe(nxframe,*)
2852 TYPE(intbuf_struct_) INTBUF_TAB(*)
2856 INTEGER I,J,N,M,NS,NI,NSN,ILEV,I1,IADS,IROT,IAD,NNOD,ISK,IRAD,
2857 . ji,jt(3),jr(3),nn,ic
2868 CALL i2_frfm1(x ,intbuf_tab(n)%IRECTM,intbuf_tab(n)%DPARA ,intbuf_tab(n)%NSV ,
2869 1 intbuf_tab(n)%IRTLM ,a ,ni )
2871 CALL i2_frfm0(x ,intbuf_tab(n)%IRECTM,intbuf_tab(n)%CSTS ,intbuf_tab(n)%NSV ,
2872 1 intbuf_tab(n)%IRTLM ,a ,ar ,ni ,ndof )
2886 CALL rbe2frf(ns ,m ,a ,ar ,jt ,
2887 1 jr ,x ,isk ,skew(1,isk),irad )
2898 CALL rbe3frf(nnod ,lrbe3(iad+1),ns ,a ,ar ,
2899 1 frcdi(iads),mrcdi(iads),jt ,jr ,irot )
2919 ej(2)=skew_spc(iad+1)
2920 ej(3)=skew_spc(iad+2)
2922 CALL bc_fi(i ,skew_spc(iad),j ,a )
2924 CALL bc_fi2(i ,skew_spc(iad),skew_spc(iad+3),a )
2959#include "implicit_f.inc"
2969 INTEGER I,J,K,ID,ND,M,N
2974 DO j=1,
min(3,ndof(n))
2976 IF (nd>0) lb(nd)=lb(nd)+a(j,n)
2982 DO j=1,
min(3,ndof(n))
2984 IF (nd>0) lb(nd)=lb(nd)+a(j,n)
2998 SUBROUTINE fr_a2bd(NDOF ,IPARI ,INTBUF_TAB ,LB ,A ,
2999 . AR ,IRBE3 ,LRBE3 ,IRBE2 ,LRBE2 )
3008#include "implicit_f.inc"
3012#include "param_c.inc"
3016 INTEGER NDOF(*),IPARI(NPARI,*),
3017 . IRBE3(NRBE3L,*),LRBE3(*) ,IRBE2(NRBE2L,*),LRBE2(*)
3019 . a(3,*),ar(3,*),lb(*)
3020 TYPE(intbuf_struct_) INTBUF_TAB(*)
3024 INTEGER I,J,N,M,NS,NI,NSN,
3025 . l,nnod,nj,nd,
nl,iad,ji
3032 IF (j<=3.AND.nd>0)
THEN
3033 lb(nd)=lb(nd)+a(j,m)
3036 lb(nd)=lb(nd)+ar(j-3,m)
3047 l=intbuf_tab(n)%IRTLM(ni)
3049 IF (intbuf_tab(n)%IRECTM(
nl+3)==intbuf_tab(n)%IRECTM(
nl+4))
THEN
3056 nj=intbuf_tab(n)%IRECTM(
nl+m)
3059 IF (j<=3.AND.nd>0)
THEN
3060 lb(nd)=lb(nd)+a(j,nj)
3063 lb(nd)=lb(nd)+ar(j-3,nj)
3078 IF (j<=3.AND.nd>0)
THEN
3079 lb(nd)=lb(nd)+a(j,nj)
3082 lb(nd)=lb(nd)+ar(j-3,nj)
3094 IF (j<=3.AND.nd>0)
THEN
3095 lb(nd)=lb(nd)+a(j,m)
3098 lb(nd)=lb(nd)+ar(j-3,m)
3121#include "implicit_f.inc"
3125#include "com01_c.inc"
3129 INTEGER NROW(*),IAD_ELEM(2,*),FR_ELEM(*),NNMAX
3138 DO j=iad_elem(1,i),iad_elem(1,i+1)-1
3143 nnmax =
max(nnmax,nrow(n))
3150!||====================================================================
3160 1 NNMAX ,NKMAX ,NROWK ,ICOK ,ICOKM ,
3161 2 ILOC ,INK ,FR_ELEM ,IAD_ELEM )
3169#include "implicit_f.inc"
3173#include "com01_c.inc"
3177 INTEGER NNMAX,NKMAX,NROWK(*),ILOC(*),INK
3178 INTEGER ICOK(NNMAX,*),ICOKM(NKMAX,*),IAD_ELEM(2,*),FR_ELEM(*)
3182 INTEGER I,J,N,NL,NR,K,NN
3184 IF (N_FRNN==0) return
3187 DO j=iad_elem(1,i),iad_elem(1,i+1)-1
3192 nl =
fr_icol(k)+iad_elem(1,i)-1
3193 CALL reorder_a(nrowk(nn),icok(1,nn),fr_elem(nl))
3197 nl =
fr_icol(k)+iad_elem(1,i)-1
3198 CALL reorder_a(nrowk(nn),icokm(1,nn),fr_elem(nl))
3217 1 NNMAX ,NKMAX ,NROWK ,ICOK ,ICOKM ,
3218 2 ILOC ,INK ,FR_ELEM ,IAD_ELEM )
3226#include "implicit_f.inc"
3230#include "com01_c.inc"
3234 INTEGER ,NKMAX,NROWK(*),ILOC(*),INK
3235 INTEGER ICOK(NNMAX,*),ICOKM(NKMAX,*),IAD_ELEM(2,*),FR_ELEM(*)
3239 INTEGER I,J,N,NL,NR,K,NK,NN
3241 IF (N_FRNN==0) return
3244 DO j=iad_elem(1,i),iad_elem(1,i+1)-1
3250 nl =
fr_icol(k)+iad_elem(1,i)-1
3251 CALL reorder_a(nrowk(nn),icokm(1,nk),fr_elem(nl))
3255 nl =
fr_icol(k)+iad_elem(1,i)-1
3256 CALL reorder_a(nrowk(nn),icok(1,nn),fr_elem(nl))
3272 1 NFT ,NEL ,NPN ,NPPS ,NNMAX ,
3273 2 NROW ,ICOL ,IAD_RL ,FR_ICOL ,N_FRNN )
3277#include "implicit_f.inc"
3281#include "com04_c.inc"
3285 INTEGER NNMAX,IAD_RL(*),FR_ICOL(*),N_FRNN
3286 INTEGER NFT,NEL,NPN,NPPS,NROW(*),ICOL(NNMAX,*)
3290 INTEGER I,J,N,M,JLT,JLT1,NK,NFT1,ISH,L,NPP
3292 IF (N_FRNN==0) return
3296 jlt1 =
min( nel, npn - nft )
3299 DO i=iad_rl(j),iad_rl(j+1)-1
3300 CALL reorder_a(nrow(nk),icol(1,nk),fr_icol(i))
3305 nft1 =
max(nft,npp)+1
3310 DO i=iad_rl(j),iad_rl(j+1)-1
3311 CALL reorder_a(nrow(nk),icol(1,nk),fr_icol(i))
3327!||
spmd_icol ../engine/source/mpi/
implicit/imp_spmd.f
3330!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.f90
3335 1 ELBUF ,IPARG ,IXS ,IXQ ,IXC ,
3336 2 IXT ,IXP ,IXR ,IXTG ,IXTG1 ,
3337 3 IXS10 ,IXS20 ,IXS16 ,NDOF ,
3338 4 NNMAX ,INLOC ,FR_ELEM ,IAD_ELEM ,N_FR ,
3339 5 IGEO ,FR_I2M ,IAD_I2M ,ELBUF_TAB )
3345 use element_mod ,
only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
3349#include "implicit_f.inc"
3353#include "com01_c.inc"
3354#include "com04_c.inc"
3355#include "param_c.inc"
3359 INTEGER IPARG(NPARG,*),NNMAX,N_FR ,NDOF(*),IGEO(*),
3360 . fr_i2m(*),iad_i2m(*)
3362 . ixs(nixs,*),ixq(nixq,*),ixc(nixc,*), ixt(nixt,*),ixp(nixp,*),
3363 . ixr(nixr,*), ixtg(nixtg,*),ixs10(6,*),ixs20(12,*),
3364 . ixs16(8,*),ixtg1(4,*),inloc(*),fr_elem(*),iad_elem(2,*)
3368 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) ::
3377 INTEGER I,J,N,NK,ICOL(NNMAX,N_FR),NROW(N_FR),IP,JLT,NFT,
3378 . fr_nrow(n_fr),l,iad_s(nspmd+1),iad_r(nspmd+1),nf1,
3379 . ierror1,ierror2,ierror3,ls,lr,ssize,rsize,j0,nn,nr,
nl,nrn
3381 IF (n_fr <=0 .OR. nnmax <=0 )
THEN
3395 jlt=iad_elem(1,ip+1)-iad_elem(1,ip)
3396 nft=iad_elem(1,ip)-1
3404 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
3406 3 ixs10 ,ixs20 ,ixs16 ,nrow(nf1),
3407 4 inloc ,nnmax ,icol(1,nf1),igeo ,elbuf_tab )
3414 CALL spmd_nrow(nrow,fr_nrow,iad_elem,n_fr)
3421 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3429 ssize=iad_s(nspmd+1)-1
3430 rsize=iad_r(nspmd+1)-1
3433 1 iad_s ,iad_r ,nnmax ,icol ,nrow ,
3434 2 fr_nrow ,iad_elem ,fr_elem ,ssize ,rsize )
3438 nr=iad_i2m(ip+1)-iad_i2m(ip)
3440 jlt=iad_elem(1,ip+1)-iad_elem(1,ip)
3441 nft=iad_elem(1,ip)-1
3447 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3449 IF (intab(nr,fr_i2m(iad_i2m(ip)),n))
THEN
3450 DO l=iad_i2m(ip),iad_i2m(ip+1)-1
3453 IF (
nl>0.AND.nn/=n)
THEN
3454 nrn =
max(nrow(nk),fr_nrow(nk))
3456 IF (nrn>
max(nrow(nk),fr_nrow(nk))) fr_nrow(nk)=nrn
3471 ALLOCATE(
iad_rl(n_fr+1),stat=ierror3)
3475 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3476 IF (nrow(nk)<fr_nrow(nk))
THEN
3477 nr=fr_nrow(nk)-nrow(nk)
3488 ALLOCATE(
fr_icol(lr),stat=ierror2)
3490 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3501 ALLOCATE(
ifrloc(n_fr),stat=ierror1)
3507 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3509 IF (inloc(n)==0)
THEN
3515 ifrloc(nk)=-icol(1,inloc(n))
3516 IF (nrow(nk)<fr_nrow(nk))
nrmax=
nrmax+fr_nrow(nk)-nrow(nk)
3537 1 ELBUF ,IPARG ,IXS ,IXQ ,IXC ,
3538 2 IXT ,IXP ,IXR ,IXTG ,IXTG1 ,
3539 3 IXS10 ,IXS20 ,IXS16 ,NDOF ,
3540 4 NNMAX ,INLOC ,FR_ELEM ,IAD_ELEM ,N_FR ,
3547 use element_mod ,
only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
3551#include "implicit_f.inc"
3555#include "com01_c.inc"
3556#include "com04_c.inc"
3557#include "param_c.inc"
3561 INTEGER IPARG(NPARG,*),NNMAX,N_FR ,NDOF(*),IGEO(*)
3563 . ixs(nixs,*),ixq(nixq,*),ixc(nixc,*), ixt(nixt,*),ixp(nixp,*),
3564 . ixr(nixr,*), ixtg(nixtg,*),ixs10(6,*),ixs20(12,*),
3565 . ixs16(8,*),ixtg1(4,*),inloc(*),fr_elem(*),iad_elem(2,*)
3569 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
3573 INTEGER I,J,N,NK,ICOL(NNMAX,N_FR),NROW(N_FR),IP,JLT,NFT,
3574 . ierror1,ierror2,ierror3,ls,lr,ssize,rsize,j0,l,nf1
3584 jlt=iad_elem(1,ip+1)-iad_elem(1,ip)
3585 nft=iad_elem(1,ip)-1
3593 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
3594 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
3595 3 ixs10 ,ixs20 ,ixs16 ,nrow(nf1),
3596 4 inloc ,nnmax ,icol(1,nf1),igeo ,elbuf_tab )
3606 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3616 1 ndof ,nrow ,nnmax ,icol ,fr_elem ,
3628!||--- uses -----------------------------------------------------
3632 1 NFT ,NEL ,NPN ,NPP ,NNMAX ,
3633 2 NROW ,ICOL ,FR_ELEM ,IAD_ELEM ,N_FR ,
3642#include "implicit_f.inc"
3646#include "com01_c.inc"
3650 INTEGER NNMAX,NFT,NEL,NPN,NPP,NROW(*),ICOL(NNMAX,*)
3652 . fr_elem(*),iad_elem(2,*),n_fr,icok(
nrmax,n_fr)
3657 INTEGER I,J,N,NK,NROWK(N_FR),IP,
3658 . l,iad_r(n_fr+1),fr_icol1(
n_frnn+1),lr,j0,nn,n_frn
3660 IF (nnmax <=0 )
RETURN
3662 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3664 j0 = iad_elem(1,ip)-1
3668 icok(j,nk)=fr_elem(n)
3674 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3678 CALL reorder_a(nrowk(n),icok(1,n),icok(j,nk))
3687 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3696 if (n_frn>
n_frnn) print *,
'PROBLEM IN IND_NRFR'
3699 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3704 fr_icol1(l)=icok(j,nk)
3712 1 nft ,nel ,npn ,npp ,nnmax ,
3713 2 nrow ,icol ,iad_r ,fr_icol1 ,
n_frnn )
3724!||
spmd_sum_s ../engine/source/mpi/
implicit/imp_spmd.f
3729 1 NDOF ,NROW ,NNMAX ,ICOL ,FR_ELEM ,
3738#include "implicit_f.inc"
3742#include "com01_c.inc"
3743#include "impl1_c.inc"
3747 INTEGER NNMAX,N_FR ,NDOF(*),NROW(*)
3749 . fr_elem(*),iad_elem(2,*),icol(nnmax,*)
3754 INTEGER I,J,N,NK,IP,L,NDDL0,NZZK0,NN,IAD,NB,
3755 . nnz(nspmd),ndofj,k,nddl,nzzk,nj,nk0,njn,
nl,nzz,
3756 . ierror0,ierror1,ierror2,ierror3,ierror4,ierror5
3757 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ITAG
3771 ALLOCATE(
nd_fr(nspmd),stat=ierror0)
3775 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3781 IF (j/=k) nnz(ip) = nnz(ip)+1
3793 nzzk = nzzk + nnz(ip)
3798 ALLOCATE(itag(n_fr))
3802 IF (nb>0) itag(nb) = itag(nb) + 1
3808 stmp = stmp + s1*ndof(fr_elem(nb))
3818 ALLOCATE(
iadfr(nddl),stat=ierror1)
3820 ALLOCATE(
jdifr(nzzk),stat=ierror2)
3822 ALLOCATE(
iddlfr(n_fr),stat=ierror3)
3825 IF (iprec>2.OR.iautspc>0)
THEN
3827 ALLOCATE(
jfr2k(nzzk),stat=ierror5)
3831 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3843 nk0=iad_elem(1,ip)-1
3847 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3849 CALL reorder_l(nrow(nk),icol(1,nk),nk-nk0,
3850 .
iddlfr(iad_elem(1,ip)))
3867 iadfr(nddl+iad) = nzz+1
3874 IF (nzzk>nzzk0.OR.iad/=nddl0)
3875 .
WRITE(*,*)
'--MEMERY PROBLEM 3--:',nzzk,nzzk0,iad,nddl0
3896 1 ELBUF ,IPARG ,IXS ,IXQ ,IXC ,
3897 2 IXT ,IXP ,IXR ,IXTG ,IXTG1 ,
3898 3 IXS10 ,IXS20 ,IXS16 ,NDOF ,
3899 4 NNMAX ,INLOC ,FR_ELEM ,IAD_ELEM ,N_FR ,
3900 5 IGEO ,FR_I2M ,IAD_I2M ,ELBUF_TAB ,NNRMAX )
3906 use element_mod ,
only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
3910#include "implicit_f.inc"
3914#include "com01_c.inc"
3915#include "com04_c.inc"
3916#include "param_c.inc"
3920 INTEGER IPARG(NPARG,*),NNMAX,N_FR ,NDOF(*),IGEO(*),
3921 . fr_i2m(*),iad_i2m(*),nnrmax
3923 . ixs(nixs,*),ixq(nixq,*),ixc(nixc,*), ixt(nixt,*),ixp(nixp,*),
3924 . ixr(nixr,*), ixtg(nixtg,*),ixs10(6,*),ixs20(12,*),
3925 . ixs16(8,*),ixtg1(4,*),inloc(*),fr_elem(*),iad_elem(2,*)
3929 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
3938 INTEGER I,J,N,NK,ICOL(NNMAX,N_FR),NROW(N_FR),IP,JLT,NFT,
3939 . fr_nrow(n_fr),l,iad_s(nspmd+1),iad_r(nspmd+1),
3940 . ierror1,ierror2,ierror3,ls,lr,ssize,rsize,j0,nn,nr,
nl,nrn,
3951 jlt=iad_elem(1,ip+1)-iad_elem(1,ip)
3952 nft=iad_elem(1,ip)-1
3960 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
3961 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
3962 3 ixs10 ,ixs20 ,ixs16 ,nrow(nf1),
3963 4 inloc ,nnmax ,icol(1,nf1),igeo ,elbuf_tab )
3970 CALL spmd_nrow(nrow,fr_nrow,iad_elem,n_fr)
3977 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3985 ssize=iad_s(nspmd+1)-1
3986 rsize=iad_r(nspmd+1)-1
3989 1 iad_s ,iad_r ,nnmax ,icol ,nrow ,
3990 2 fr_nrow ,iad_elem ,fr_elem ,ssize ,rsize )
3993 nr2=iad_i2m(nspmd+1)-iad_i2m(1)
3996 nr=iad_i2m(ip+1)-iad_i2m(ip)
3998 jlt=iad_elem(1,ip+1)-iad_elem(1,ip)
3999 nft=iad_elem(1,ip)-1
4005 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
4007 IF (intab(nr,fr_i2m(iad_i2m(ip)),n))
THEN
4008 DO l=iad_i2m(ip),iad_i2m(ip+1)-1
4011 IF (
nl>0.AND.nn/=n)
THEN
4012 nrn =
max(nrow(nk),fr_nrow(nk))
4014 IF (nrn>
max(nrow(nk),fr_nrow(nk))) fr_nrow(nk)=nrn
4030 ALLOCATE(
iad_rl(n_fr+1),stat=ierror3)
4035 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
4036 IF (nrow(nk)<fr_nrow(nk))
THEN
4037 nr=fr_nrow(nk)-nrow(nk)
4041 IF (inloc(n)==0)
THEN
4053 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
4054 IF (nrow(nk)<fr_nrow(nk))
THEN
4065 ALLOCATE(
fr_icol(lr),stat=ierror2)
4067 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
4095 1 IADK ,JDIK ,NDOF ,IKC ,IDDL ,
4096 2 INLOC ,FR_ELEM ,IAD_ELEM ,NDDL )
4104#include "implicit_f.inc"
4108#include "com01_c.inc"
4109#include "com04_c.inc"
4110#include "impl1_c.inc"
4111#include "task_c.inc"
4115 INTEGER IADK(*) ,JDIK(*),IDDL(*),INLOC(*),NDOF(*)
4117 . ikc(*), fr_elem(*),iad_elem(2,*),nddl
4127 INTEGER I,J,N,NK,IP,L,IFIX,II,IAD2,IJ,IND,N_FR,NB,
4128 . k,nd,nzzk,nj,nzz,iad,jad,
id,jd,idk,nc,idf,ikcfr(
nddlfr)
4129 INTEGER IIC(NDFRMAX),IDDLM(NUMNOD),NDN(NSPMD),NZN(NSPMD)
4130 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ITAG
4139 n_fr = iad_elem(1,nspmd+1)-iad_elem(1,1)
4140 ALLOCATE(itag(n_fr))
4144 IF (nb>0) itag(nb) = itag(nb) + 1
4153 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
4158 ikcfr(
id+j)=ikc(idk+j)
4161 iad2 = iad2 +
nd_fr(ip)
4171 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
4177 iic(
id+j)=ikcfr(
id+iad2+j)
4178 IF (iic(
id+j)/=0) ifix=ifix+1
4184 stmp = stmp + s1*(ifix-ind)
4190 iad2 = iad2 +
nd_fr(ip)
4208 IF (ndn(nspmd)>0)
THEN
4218 iad = iad +
nd_fr(ip) + 1
4231 iad = iad +
nd_fr(ip) + 1
4239 iddlm(i)=iddl(i)-ifix
4242 IF (ikc(nd)/=0) ifix=ifix+1
4250 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
4256 IF (ikc(idk+j)<1)
THEN
4264 iad2 = iad2 +
nd_fr(ip)
4282 nc = iadk(ii+1)-iadk(ii)
4283 n=intab0(nc,jdik(iadk(ii)),ij)
4285 jfr2k(jd)=n+iadk(ii)-1
4287 write(*,*)
'index error in UPD_FR_K I>J',ij,ip,nc
4291 nc = iadk(ij+1)-iadk(ij)
4292 n=intab0(nc,jdik(iadk(ij)),ii)
4294 jfr2k(jd)=n+iadk(ij)-1
4296 write(*,*)
'index error in UPD_FR_K J>I',ii,ip,nc
4303 iad = iad +
nd_fr(ip) +1
4304 iad2 = iad2 +
nd_fr(ip)
4316 DO ip =ispmd+2,nspmd
4318 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
4323 IF (ikc(idk+j)>0) ifix=ifix+1
4328 IF (ikc(idk+j)<1)
THEN
4336 iad2 = iad2 +
nd_fr(ip)
4362#include "implicit_f.inc"
4366 INTEGER IDLFT0,IDLFT1,NDDL
4395#include "implicit_f.inc"
4399#include "com04_c.inc"
4403 INTEGER NKINE,INLOC(*)
4410 IF (nkine<=0)
RETURN
4412 ALLOCATE(
ikin2g(nkine),stat=ierror1)
4425!||--- uses -----------------------------------------------------
4436#include "implicit_f.inc"
4440 INTEGER NKINE,ILOC(*),INK
4460!||====================================================================
4475#include "implicit_f.inc"
4479 INTEGER NKINE,ILOC(*),INK
4504 1 NROWK ,ICOK ,ICOKM ,NNMAX ,NKMAX ,
4505 2 NKINE ,INK ,IKPAT ,IDDL )
4513#include
"implicit_f.inc"
4520 INTEGER NNMAX,NKMAX,NROWK(*),NKINE,INK,IKPAT
4521 INTEGER ICOK(NNMAX,*),ICOKM(NKMAX,*),IDDL(*)
4526 INTEGER I,J,N,K,NL,NK,NJ,NRB
4532 CALL reorder_j(nrowk(nk+ink),icokm(1,nk),j,iddl)
4537 CALL reorder_j(nrowk(nj),icok(1,nj),j,iddl)
4542 CALL reorder_l(nrowk(nk+ink),icokm(1,nk),j,iddl)
4547 CALL reorder_l(nrowk(nj),icok(1,nj),j,iddl)
4557!||====================================================================
4559 1 JLT ,NS_IMP ,NE_IMP ,IRECTS ,IRECTM ,
4560 2 ILOC ,N_IMPN ,NSN )
4564#include "implicit_f.inc"
4568 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECTS(2,*),IRECTM(2,*),
4569 . ILOC(*),N_IMPN,NSN
4574 INTEGER I,J,N,N1,N2,NE,IG,M1,M2
4583 IF (iloc(m1)==0)
THEN
4587 IF (iloc(m2)==0)
THEN
4611#include "implicit_f.inc"
4632 fsi(i) = fsi(i) + l_k*v(k)
4633 w(k) = w(k) + l_k*usi(i)
4639 w(id) = w(id) + diag_sl(i)*v(id)
4643 w(id) = w(id) + l_k*v(k)
4644 w(k) = w(k) + l_k*v(id)
4652!||--- called by ------------------------------------------------------
4665#include "implicit_f.inc"
4676 INTEGER I,J,K,,KK,II
4688 fsi(i) = fsi(i) + l_k*v(kk)
4689 w(kk) = w(kk) + l_k*usi(i)
4696 w(ii) = w(ii) + diag_sl(i)*v(ii)
4701 w(ii) = w(ii) + l_k*v(kk)
4702 w(kk) = w(kk) + l_k*v(ii)
4725 1 IPARI ,INTBUF_TAB,NUM_IMP ,NS_IMP ,NE_IMP ,
4726 2 IDDL ,IKC ,NDOF ,NSREM ,IND_IMP )
4734#include "implicit_f.inc"
4738#include "com04_c.inc"
4739#include "param_c.inc"
4743 INTEGER IPARI(NPARI,*),NUM_IMP(*),NS_IMP(*),
4744 . NE_IMP(*),NSREM,IND_IMP(*)
4745 INTEGER IDDL(*),IKC(*),NDOF(*)
4747 TYPE(intbuf_struct_) INTBUF_TAB(*)
4751 INTEGER NIN,NTY,NROW(NSREM)
4752 INTEGER I,J,,L,NDOFI,N,IAD,INSV11,NRTS,
4753 . INSV,NSN,NKC,J1,ND,IER1,NNMAX
4754 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: ICOL
4764 IF(nty==5) iad=iad+num_imp(nin)
4773 ELSEIF(nty==7.OR.nty==10)
THEN
4775 CALL rowfr_dim(num_imp(nin),ns_imp(iad),ne_imp(iad),
4776 . intbuf_tab(nin)%IRECTM,nrow ,nsn ,nin )
4777 iad=iad+num_imp(nin)
4780 CALL rowfr_dim24(num_imp(nin),ns_imp(iad),ne_imp(iad),
4781 . intbuf_tab(nin)%IRECTM,nrow ,nsn ,nin ,
4782 . ind_imp ,intbuf_tab(nin)%NVOISIN)
4783 iad=iad+num_imp(nin)
4786 CALL rowfr_dim11(num_imp(nin),ns_imp(iad),ne_imp(iad),
4787 . intbuf_tab(nin)%IRECTM, nrow ,nrts ,nin )
4788 iad=iad+num_imp(nin)
4794 nnmax=
max(nnmax,nrow(n))
4797 ALLOCATE(icol(nnmax,nsrem),stat=ier1)
4802 IF(nty==5) iad=iad+num_imp(nin)
4811 ELSEIF(nty==7.OR.nty==10)
THEN
4813 CALL rowfr_ind(num_imp(nin),ns_imp(iad),ne_imp(iad),
4814 . intbuf_tab(nin)%IRECTM,nrow ,icol ,nnmax ,
4816 iad=iad+num_imp(nin)
4819 CALL rowfr_ind24(num_imp(nin),ns_imp(iad),ne_imp(iad),
4820 . intbuf_tab(nin)%IRECTM,nrow ,icol ,nnmax ,
4821 . nsn ,nin ,ind_imp ,intbuf_tab(nin)%NVOISIN)
4822 iad=iad+num_imp(nin)
4825 CALL rowfr_ind11(num_imp(nin),ns_imp(iad),ne_imp(iad),
4826 . intbuf_tab(nin)%IRECTM, nrow ,icol ,nnmax ,
4828 iad=iad+num_imp(nin)
4836 1 nsrem ,iddl ,ndof ,nrow ,icol ,
4851 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NROW ,
4860#include "implicit_f.inc"
4864 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NROW(*),NSN,NIN
4876 IF (irect(3,ne)==irect(4,ne))
THEN
4886!||====================================================================
4894 1 JLT ,NS_IMP ,NE_IMP ,IRECTM ,NROW ,
4903#include "implicit_f.inc"
4907 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECTM(2,*),NROW(*),NSN,NIN
4912 INTEGER I,NE,IG,NS1,NS2
4920 nrow(ns1)=nrow(ns1)+2
4921 nrow(ns2)=nrow(ns2)+2
4937 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NROW ,
4938 2 ICOL ,NNMAX ,NSN ,NIN )
4946#include "implicit_f.inc"
4951 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NROW(*),
4952 . icol(nnmax,*),nsn,nin
4957 INTEGER I,J,NE,IG,NS,NM
4977!||--- calls -----------------------------------------------------
4983 1 JLT ,NS_IMP ,NE_IMP ,IRECTM ,NROW ,
4984 2 ICOL ,NNMAX ,NSN ,NIN )
4992#include "implicit_f.inc"
4997 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECTM(2,*),NROW(*),
4998 . ICOL(NNMAX,*),NSN,NIN
5003 INTEGER I,NE,IG,NS1,NS2,NM1,NM2
5013 CALL reorder_a(nrow(ns1),icol(1,ns1),nm1)
5015 CALL reorder_a(nrow(ns2),icol(1,ns2),nm1)
5016 CALL reorder_a(nrow(ns2),icol(1,ns2),nm2)
5032 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NROW ,
5033 2 NSN ,NIN ,SUBTRIA ,NVOISIN )
5041#include "implicit_f.inc"
5045 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NROW(*),NSN,NIN,
5046 + SUBTRIA(*),NVOISIN(8,*)
5051 INTEGER I,NE,IG,NS,IRTLM(4),NEI
5060 CALL i24msegv(ne,irtlm ,subtria(i),irect(1,nei),nvoisin(1,nei))
5062 irtlm(1:4) = irect(1:4,ne)
5064 IF (irtlm(3)==irtlm(4))
THEN
5085 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NROW ,
5086 2 ICOL ,NNMAX ,NSN ,NIN ,SUBTRIA ,
5095#include "implicit_f.inc"
5100 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NROW(*),
5101 . ICOL(NNMAX,*),NSN,NIN,SUBTRIA(*),NVOISIN(8,*)
5106 INTEGER I,J,NE,IG,NS,NM,IRTLM(4),NEI
5115 CALL i24msegv(ne,irtlm ,subtria(i),irect(1,nei),nvoisin(1,nei))
5117 irtlm(1:4) = irect(1:4,ne)
5138 1 NSREM ,IDDL ,NDOF ,NROW ,ICOL ,
5147#include "implicit_f.inc"
5153 . NSREM,IDDL(*),NDOF(*),NROW(*) ,ICOL(NNMAX,*)
5157 INTEGER I,J,K,L,N,NL,NJ,NDOFI,NZ
5158 INTEGER IER1,IER2,IER3,IER4,IER5,IER6
5162 ALLOCATE(
iddl_si(nsrem),stat=ier1)
5183 ALLOCATE(
jdi_si(nz),stat=ier3)
5184 IF(
ALLOCATED(lt_si))
DEALLOCATE(lt_si)
5185 ALLOCATE(lt_si(nz),stat=ier4)
5186 CALL zero1(lt_si,nz)
5212 ALLOCATE(
iad_sinr(nsrem+1),stat=ier5)
5237#include "implicit_f.inc"
5241 INTEGER N ,IC(*),IDDL(*)
5245 INTEGER I,J,II,IT,IIC,IMIN
5280#include "implicit_f.inc"
5336 1 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
5337 2 IPARI ,INTBUF_TAB,NINT2 ,IINT2 ,IDDL ,
5338 3 IKC ,NDOF ,INLOC ,NSREM ,NSL ,
5339 4 NBINTC ,INTLIST ,X ,IBFV ,
5340 5 LJ ,SKEW ,XFRAME ,ISKEW ,ICODT ,
5341 6 A ,UD ,LB ,IFDIS ,URD ,
5342 7 IDDLI ,IRBE3 ,LRBE3 ,FRBE3 ,IRBE2 ,
5351#include "implicit_f.inc"
5355#include "com01_c.inc"
5356#include "com04_c.inc"
5357#include "param_c.inc"
5361 INTEGER IPARI(NPARI,*),NSREM ,NSL,NBINTC,INTLIST(*)
5362 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
5363 . nint2,iint2(*),iddl(*),ikc(*),ndof(*),inloc(*),
5364 . ibfv(*),lj(*),iskew(*),icodt(*),ifdis,iddli(*),
5365 . irbe3(*),lrbe3(*),irbe2(*),lrbe2(*)
5368 . x(3,*),ud(3,*),a(3,*),skew(*),xframe(*),
5369 . lb(*),urd(3,*),frbe3(*)
5370 TYPE(intbuf_struct_) INTBUF_TAB(*)
5374 INTEGER LSI,LSL,IDDLM(NUMNOD),ILOCP(NUMNOD)
5375 INTEGER I,J,K,L,N,NKC,J1,ND,LSG,
5376 . nf_sl(nsl),nf_si(nsrem),n_kine,
5377 . iad_sld(nspmd+1),iad_mld(nspmd+1),
5378 . isi ,isl,nfv,lvsi,lvsl,lfsi,lfsl,nz,
5379 . ier1,ier2,ier3,ier4,ier5,ier6,ier7,lsi0
5382 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IAD_M,IKCSI,IKCSL,
5384 my_real,
DIMENSION(:),
ALLOCATABLE :: KSI_FR,KSL_FR,
5396 iddlm(i)=iddl(i)-nkc
5399 IF (ikc(nd)/=0) nkc = nkc + 1
5403 CALL imp_frsn(ipari ,intbuf_tab ,nbintc,intlist)
5404 ALLOCATE(iad_m(nsl+1))
5410 CALL ini_frkc(nsrem ,nsl ,ikc ,ndof ,iddl)
5412 CALL dim_frkm(nsrem ,nsl ,lsi ,lsl )
5417 IF (ifdis>0) nfv = 0
5419 ALLOCATE(ksi_fr(9*lsi),stat=ier1)
5420 CALL ini_ksi(nsrem ,ksi_fr ,iddli )
5422 IF (lsl>0)
ALLOCATE(ksl_fr(9*lsl),stat=ier2)
5423 CALL scom_frk(ksi_fr,ksl_fr,lsi ,lsl)
5427 1 ipari ,intbuf_tab,nint2 ,iint2 ,
5428 2 npby ,lpby ,itab ,nrbyac ,irbyac ,
5429 3 x ,ibfv ,lj ,skew ,xframe ,
5430 4 iskew ,icodt ,ndof ,ilocp ,nsl ,
5431 5 iad_m ,irbe3 ,lrbe3 ,irbe2 ,lrbe2 )
5432 lsi = iad_m(nsl+1) -iad_m(1)
5435 IF(
ALLOCATED(ksi_fr))
DEALLOCATE(ksi_fr)
5436 ALLOCATE(ksi_fr(9*lsi),stat=ier3)
5438 1 ipari ,intbuf_tab,nint2 ,iint2 ,
5439 2 npby ,lpby ,itab ,nrbyac ,irbyac ,
5440 3 x ,ibfv ,lj ,skew ,xframe ,
5441 4 iskew ,icodt ,ilocp ,nsl ,iad_m ,
5442 5 iddl ,ikc ,ndof ,iddlm ,ud ,
5443 6 a ,lb ,kss ,ksl_fr ,ksi_fr ,
5444 7 irbe3 ,lrbe3 ,frbe3 ,irbe2 ,lrbe2 )
5449 1 ndof ,iddl ,ikc ,ilocp ,nfv )
5452 1 ndof ,iddl ,ikc ,ilocp ,nfv )
5453 ALLOCATE(udsl(3*nfv))
5456 1 kss ,iddl ,iddlm ,ikc ,nsl ,
5457 2 ud ,lb ,nfv ,udsl ,ilocp ,
5463 CALL dim_frkm1(nsrem,nsl ,iddl ,ikc ,ndof ,
5464 . nf_si,nf_sl,lsi ,lsl ,isi ,isl )
5467 IF(
ALLOCATED(ksl_fr))
DEALLOCATE(ksl_fr)
5468 ALLOCATE(ksl_fr(9*lsl),ikcsl(3*isl),stat=ier5)
5470 CALL tra_frkm(nsl ,iddl ,ikc ,ndof ,iad_m ,
5471 . ksi_fr,ksl_fr,ikcsl)
5472 IF(
ALLOCATED(ksi_fr))
DEALLOCATE(ksi_fr)
5473 IF (ifdis>0)
ALLOCATE(ifvsl(isl))
5476 IF(
ALLOCATED(ksi_fr))
DEALLOCATE(ksi_fr)
5477 ALLOCATE(ksi_fr(9*lsi),ikcsi(3*isi),stat=ier6)
5478 IF (ifdis>0)
ALLOCATE(ifvsi(isi))
5484 .
CALL scom_frk1(ksl_fr,ksi_fr,nf_sl,nf_si,ikcsl,ikcsi)
5485 IF(
ALLOCATED(ksl_fr))
DEALLOCATE(ksl_fr)
5488 CALL ini_frud(nsrem ,nsl ,nfv ,ifvsi ,ifvsl ,
5489 . nf_si ,nf_sl ,lvsi )
5490 IF (lvsi>0)
ALLOCATE(udsi(3*lvsi))
5491 CALL scom_frud(udsl,udsi,nf_sl,nf_si,ifvsl,ifvsi)
5494 1 iddl ,iddlm ,ikc ,ifvsi ,nf_si ,
5495 2 ksi_fr ,lb ,nsrem ,udsi )
5496 IF(
ALLOCATED(udsi).AND.lvsi>0)
DEALLOCATE(udsi)
5498 IF(
ALLOCATED(udsl).AND.nfv>0)
DEALLOCATE(udsl)
5499 IF(
ALLOCATED(ifvsi).AND.isi>0)
DEALLOCATE(ifvsi)
5500 IF(
ALLOCATED(ifvsl).AND.isl>0)
DEALLOCATE(ifvsl)
5501 IF(
ALLOCATED(ikcsl).AND.isl>0)
DEALLOCATE(ikcsl)
5506 CALL imp_frks(nsl ,iddl ,ikc ,ndof ,iddlm,kss ,iad_sld )
5509 IF (ifdis>0) nfv = 0
5516 CALL tag_intml(nsrem ,ilocp ,n_kine ,iddl ,ikc ,ndof ,lsi)
5518 ALLOCATE(iad_m(n_kine+1))
5520 1 ipari ,intbuf_tab,nint2 ,iint2 ,
5521 2 npby ,lpby ,itab ,nrbyac ,irbyac ,
5522 3 x ,ibfv ,lj ,skew ,xframe ,
5523 4 iskew ,icodt ,ndof ,ilocp ,nsrem ,
5524 5 iddl ,ikc ,iad_m ,n_kine ,irbe3 ,
5525 6 lrbe3 ,irbe2 ,lrbe2 )
5527 lsl = iad_m(n_kine+1) -iad_m(1)
5528 ALLOCATE(ksl_fr(9*lsl),stat=ier7)
5530 1 ipari ,intbuf_tab,nint2 ,iint2 ,
5531 2 npby ,lpby ,itab ,nrbyac ,irbyac ,
5532 3 x ,ibfv ,lj ,skew ,xframe ,
5533 4 iskew ,icodt ,ilocp ,n_kine ,iad_m ,
5534 5 iddl ,ikc ,ndof ,iddlm ,ud ,
5535 6 a ,ksl_fr ,ksi_fr ,nsrem ,nf_si ,
5536 7 iddli ,irbe3 ,lrbe3 ,frbe3 ,irbe2 ,
5540 1 ndof ,iddl ,ikc ,ilocp ,nfv )
5543 1 ndof ,iddl ,ikc ,ilocp ,nfv )
5545 DO j =1,
max(1,nf_si(i))
5549 ALLOCATE(fdsi(3*lfsi))
5552 1 ksi_fr ,ksl_fr ,iddl ,ndof ,ikc ,
5553 2 ilocp ,iad_m ,nsrem ,n_kine ,ud ,
5554 3 fdsi ,nf_si ,nfv ,lfsi ,iddli )
5558 lsi = lsi + isi + lsi0
5561 1 nsrem ,lsi ,ikcsi ,ikc ,ndof ,
5562 2 iddl ,iddlm ,ilocp ,iad_m ,ksi_fr ,
5563 3 ksl_fr ,nf_si ,iad_mld ,iddli )
5565 IF(
ALLOCATED(iad_m))
DEALLOCATE(iad_m)
5566 IF(
ALLOCATED(ksi_fr))
DEALLOCATE(ksi_fr)
5567 IF(
ALLOCATED(ksl_fr))
DEALLOCATE(ksl_fr)
5568 IF (ifdis>0)
CALL ini_frfd(nsrem ,nfv ,ikcsi,nf_si ,fdsi )
5569 CALL cp_iadd(nsl ,nsrem,iad_sld ,iad_mld)
5572 IF(
ALLOCATED(ikcsi).AND.isi>0)
DEALLOCATE(ikcsi)
5573 IF(
ALLOCATED(fdsi).AND.lfsi>0)
DEALLOCATE(fdsi)
5594#include "implicit_f.inc"
5598 INTEGER NSREM ,NSL ,IKC(*) ,NDOF(*) ,IDDL(*)
5603 INTEGER I,J,N,ID,NDD,IERROR1,IERROR2
5606 ALLOCATE(
ikc_sl(nsl),stat=ierror1)
5608 ALLOCATE(
ikc_si(nsrem),stat=ierror2)
5613 DO j = 1 ,
min(3,ndof(n))
5614 ndd = ndd + ikc(id+j)
5616 IF (ndof(n)==0) ndd = 21
5644#include "implicit_f.inc"
5648 INTEGER NSREM ,NSL ,SSIZE,RSIZE
5661 ssize = ssize +
ikc_si(i)
5690#include "implicit_f.inc"
5694 INTEGER NSREM ,IDDL(*)
5701 INTEGER I,J,ID,JD,NM,ND,IAD
5713 1 ksi(1,iad),nd ,nd )
5748 1 IPARI ,INTBUF_TAB,NINT2 ,IINT2 ,
5749 2 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
5750 3 X ,IBFV ,LJ ,SKEW ,XFRAME ,
5751 4 ISKEW ,ICODT ,INLOC ,NSL ,IAD_M ,
5752 5 IDDL ,IKC ,NDOF ,IDDLM ,UD ,
5753 6 A ,B ,KSS ,KSL_FR ,KSI_FR ,
5754 7 IRBE3 ,LRBE3 ,FRBE3 ,IRBE2 ,LRBE2 )
5765#include "implicit_f.inc"
5769#include "param_c.inc"
5770#include "tabsiz_c.inc"
5774 INTEGER IBFV(NIFV,*),IPARI(NPARI,*),NSL,IAD_M(*)
5775 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
5776 . nint2,iint2(*),iddl(*),ikc(*),ndof(*),inloc(*),
5777 . lj(*),iskew(*),icodt(*),iddlm(*),irbe3(nrbe3l,*),
5778 . lrbe3(*),irbe2(nrbe2l,*),lrbe2(*)
5781 . x(3,*),skew(lskew,*),xframe(*),frbe3(*)
5783 . ud(3,*),a(3,*),b(*) ,kss(6,*),ksl_fr(9,*) ,ksi_fr(9,*)
5784 TYPE(intbuf_struct_) INTBUF_TAB(*)
5788 INTEGER I,J,N,K,M,NS,NI,NSN,ILEV,IAD_M1(NSL+1),IS,
5789 . ji,l,nnod,nj,nd,
nl,isk,ifm,j1,nm,
id,iad0,iad,iads,
5790 . i1,ict,ifss,ifsm,idm(4),nr,jt(3),jr(3),irot,
5791 . idlm(slrbe3/2),iadr,nn,irad,ic,eid
5793 . ej(3),ksm(9),knm(9,4),krm(9,4)
5796 .
DIMENSION(:),
ALLOCATABLE :: knm3,krm3
5807 iad_m1(n+1) = iad_m1(n)+
nl
5815 l=intbuf_tab(n)%IRTLM(ni)
5817 IF (intbuf_tab(n)%IRECTM(
nl+3)==intbuf_tab(n)%IRECTM(
nl+4))
THEN
5825 IF (
isl(is)==ns)
THEN
5828 nj=intbuf_tab(n)%IRECTM(
nl+k)
5831 idm(k) =
iddl_sl(iad_m1(is)+j-1)
5836 CALL i2_frk1(intbuf_tab(n)%IRECTM,intbuf_tab(n)%DPARA,x ,itab ,
5837 . intbuf_tab(n)%NSV,
5838 1 intbuf_tab(n)%IRTLM,ikc ,ndof ,iddl ,iddlm,
5840 3 kss(1,is),ksm ,knm ,krm ,ni ,
5843 CALL i2_frk0(intbuf_tab(n)%IRECTM,intbuf_tab(n)%CSTS,x ,itab ,
5844 . intbuf_tab(n)%NSV,
5845 1 intbuf_tab(n)%IRTLM,ikc ,ndof ,iddl ,iddlm,
5847 3 kss(1,is),ksm ,knm ,krm ,ni ,
5864 IF (
isl(is)==ns)
THEN
5868 idm(1) =
iddl_sl(iad_m1(is)+j-1)
5872 CALL rbe2_frk(ns ,m ,x ,isk ,skew(1,isk) ,
5873 1 irad ,ndof ,iddl ,jt ,jr ,
5875 3 a ,kss(1,is),ksm ,knm ,krm ,
5876 4 idm(1),ifss,ifsm )
5892 IF (
isl(is)==ns)
THEN
5898 idlm(k) =
iddl_sl(iad_m1(is)+j-1)
5902 CALL rbe3_fr0(ns ,nnod ,lrbe3(iad+1) ,x ,irot ,
5903 2 jt ,jr ,frbe3(6*iad+1) ,skew ,ikc ,
5905 2 kss(1,is),ksm ,knm ,krm ,idlm ,
5906 3 ifss ,ifsm ,itab ,lrbe3(iads+1),eid)
5915 IF (
isl(is)==ns)
THEN
5919 idm(1) =
iddl_sl(iad_m1(is)+j-1)
5922 CALL rby_frk(ns ,m ,x ,itab ,ikc ,
5924 2 diag_sl,lt_sl ,b ,a ,kss(1,is),
5925 3 ksm ,knm ,krm ,idm(1),ifss,ifsm )
5935 IF (
isl(is)==n)
THEN
5939 idm(1) =
iddl_sl(iad_m1(is)+j-1)
5943 CALL bcl_frk(n ,iddl ,iddlm ,ict ,isk ,
5945 2 lt_sl ,b ,a ,kss(1,is),ksm ,
5946 3 idm(1) ,ifss ,ifsm )
5957 IF (
isl(is)==i)
THEN
5961 idm(1) =
iddl_sl(iad_m1(is)+j-1)
5967 ej(2)=skew_spc(iad+1)
5968 ej(3)=skew_spc(iad+2)
5970 CALL bc_updfr(i ,iddl ,ej ,j ,iddlm ,
5972 2 b ,a ,kss(1,is),ksm ,idm(1),
5975 CALL bc_updfr2(i ,iddl ,skew_spc(iad),skew_spc(iad+3),
5977 2 b ,a ,kss(1,is),ksm ,idm(1),
5990 IF (
isl(is)==n)
THEN
5994 idm(1) =
iddl_sl(iad_m1(is)+j-1)
5998 CALL fvl_frk(j1 ,i ,ibfv ,skew ,xframe,
6000 2 diag_sl ,lt_sl ,ud ,b ,a ,
6001 3 kss(1,is),ksm ,idm(1) ,ifss ,ifsm )
6015 IF (
isl(is)==n)
THEN
6019 idm(1) =
iddl_sl(iad_m1(is)+j-1)
6023 CALL fv_updfr(n ,ej ,j1 ,iddl ,iddlm ,
6025 2 ud ,b ,a ,kss(1,is),ksm ,
6026 3 idm(1) ,ifss ,ifsm)
6035 iad_m1(n+1) = iad_m1(n)+
ikc_sl(n)
6042 CALL cp_real(9,ksl_fr(1,iad),ksm)
6044 1 j ,
ikc_sl(i),ndof ,iad )
6045 IF (iad>0)
CALL cp_real(9,ksm,ksi_fr(1,iad))
6054 l=intbuf_tab(n)%IRTLM(ni)
6056 IF (intbuf_tab(n)%IRECTM(
nl+3)==intbuf_tab(n)%IRECTM(
nl+4))
THEN
6064 IF (
isl(is)==ns)
THEN
6067 IF (inloc(ns)>nsl)
THEN
6069 1 j ,
ikc_sl(is),ndof ,iad )
6070 CALL cp_real(9,ksi_fr(1,iad),ksm)
6073 CALL cp_real(9,ksl_fr(1,iad),ksm)
6076 CALL i2_frk1(intbuf_tab(n)%IRECTM,intbuf_tab(n)%DPARA,x ,itab ,
6077 . intbuf_tab(n)%NSV,
6078 1 intbuf_tab(n)%IRTLM,ikc ,ndof ,iddl ,iddlm,
6080 3 kss(1,is),ksm ,knm ,krm ,ni ,
6083 CALL i2_frk0(intbuf_tab(n)%IRECTM,intbuf_tab(n)%CSTS,x ,itab ,
6084 . intbuf_tab(n)%NSV,
6085 1 intbuf_tab(n)%IRTLM,ikc ,ndof ,iddl ,iddlm,
6087 3 kss(1,is),ksm ,knm ,krm ,ni ,
6091 nj=intbuf_tab(n)%IRECTM(
nl+k)
6093 1 j ,
ikc_sl(is),ndof ,iad )
6094 CALL cp_real(9,knm(1,k),ksi_fr(1,iad))
6095 IF (ndof(nj)==6)
CALL cp_real(9,krm(1,k),ksi_fr(1,iad+1))
6112 IF (
isl(is)==ns)
THEN
6115 IF (inloc(ns)>nsl)
THEN
6117 1 j ,
ikc_sl(is),ndof ,iad )
6118 CALL cp_real(9,ksi_fr(1,iad),ksm)
6121 CALL cp_real(9,ksl_fr(1,iad),ksm)
6124 CALL rbe2_frk(ns ,m ,x ,isk ,skew(1,isk) ,
6125 1 irad ,ndof ,iddl ,jt ,jr ,
6127 3 a ,kss(1,is),ksm ,knm ,krm ,
6128 4 idm(1),ifss,ifsm )
6130 1 j ,
ikc_sl(is),ndof ,iad )
6131 CALL cp_real(9,knm,ksi_fr(1,iad))
6132 CALL cp_real(9,krm,ksi_fr(1,iad+1))
6145 iads = slrbe3/2+iadr
6147 ALLOCATE(knm3(9*nnod))
6148 IF (irot>0)
ALLOCATE(krm3(9*nnod))
6151 IF (
isl(is)==ns)
THEN
6154 IF (inloc(ns)>nsl)
THEN
6156 1 j ,
ikc_sl(is),ndof ,iad )
6157 CALL cp_real(9,ksi_fr(1,iad),ksm)
6160 CALL cp_real(9,ksl_fr(1,iad),ksm)
6162 CALL rbe3_fr0(ns ,nnod ,lrbe3(iadr+1) ,x ,irot ,
6163 2 jt ,jr ,frbe3(6*iadr+1) ,skew ,ikc ,
6165 2 kss(1,is),ksm ,knm3 ,krm3 ,idlm ,
6166 3 ifss ,ifsm ,itab ,lrbe3(iads+1),eid)
6170 1 j ,
ikc_sl(is),ndof ,iad )
6173 IF (irot>0.AND.ndof(nj)==6)
6174 +
CALL cp_real(9,krm3(
id),ksi_fr(1,iad+1))
6180 IF (irot>0)
DEALLOCATE(krm3)
6187 IF (
isl(is)==ns)
THEN
6190 IF (inloc(ns)>nsl)
THEN
6192 1 j ,
ikc_sl(is),ndof ,iad )
6193 CALL cp_real(9,ksi_fr(1,iad),ksm)
6196 CALL cp_real(9,ksl_fr(1,iad),ksm)
6198 CALL rby_frk(ns ,m ,x ,itab ,ikc ,
6200 2 diag_sl,lt_sl ,b ,a ,kss(1,is),
6201 3 ksm ,knm ,krm ,idm(1),ifss,ifsm )
6203 1 j ,
ikc_sl(is),ndof ,iad )
6204 CALL cp_real(9,knm,ksi_fr(1,iad))
6205 CALL cp_real(9,krm,ksi_fr(1,iad+1))
6216 IF (
isl(is)==n)
THEN
6218 IF (inloc(n)>nsl)
THEN
6220 1 j ,
ikc_sl(is),ndof ,iad )
6221 CALL cp_real(9,ksi_fr(1,iad),ksm)
6224 CALL cp_real(9,ksl_fr(1,iad),ksm)
6226 CALL bcl_frk(n ,iddl ,iddlm ,ict ,isk ,
6228 2 lt_sl ,b ,a ,kss(1,is),ksm ,
6229 3 idm(1) ,ifss ,ifsm )
6230 IF (inloc(n)<=nsl)
THEN
6232 1 j ,
ikc_sl(is),ndof ,iad )
6234 CALL cp_real(9,ksm,ksi_fr(1,iad))
6246 IF (
isl(is)==i)
THEN
6248 IF (inloc(i)>nsl)
THEN
6250 1 j ,
ikc_sl(is),ndof ,iad )
6251 CALL cp_real(9,ksi_fr(1,iad),ksm)
6254 CALL cp_real(9,ksl_fr(1,iad),ksm)
6257 ej(1)=skew_spc(iadr)
6258 ej(2)=skew_spc(iadr+1)
6259 ej(3)=skew_spc(iadr+2)
6261 CALL bc_updfr(i ,iddl ,ej ,ji ,iddlm ,
6263 2 b ,a ,kss(1,is),ksm ,idm(1),
6266 CALL bc_updfr2(i ,iddl ,skew_spc(iadr),skew_spc(iadr+3),
6268 2 b ,a ,kss(1,is),ksm ,idm(1),
6271 IF (inloc(i)<=nsl)
THEN
6273 1 j ,
ikc_sl(is),ndof ,iad )
6275 CALL cp_real(9,ksm,ksi_fr(1,iad))
6287 IF (
isl(is)==n)
THEN
6289 IF (inloc(n)>nsl)
THEN
6291 1 j ,
ikc_sl(is),ndof ,iad )
6292 CALL cp_real(9,ksi_fr(1,iad),ksm)
6295 CALL cp_real(9,ksl_fr(1,iad),ksm)
6297 CALL fvl_frk(j1 ,i ,ibfv ,skew ,xframe,
6299 2 diag_sl ,lt_sl ,ud ,b ,a ,
6300 3 kss(1,is),ksm ,idm ,ifss ,ifsm )
6301 IF (inloc(n)<=nsl)
THEN
6303 1 j ,
ikc_sl(is),ndof ,iad )
6305 CALL cp_real(9,ksm,ksi_fr(1,iad))
6320 IF (
isl(is)==n)
THEN
6322 IF (inloc(n)>nsl)
THEN
6324 1 j ,
ikc_sl(is),ndof ,iad )
6325 CALL cp_real(9,ksi_fr(1,iad),ksm)
6328 CALL cp_real(9,ksl_fr(1,iad),ksm)
6330 CALL fv_updfr(n ,ej ,j1 ,iddl ,iddlm ,
6332 2 ud ,b ,a ,kss(1,is),ksm ,
6333 3 idm(1) ,ifss ,ifsm)
6334 IF (inloc(n)<=nsl)
THEN
6336 1 j ,
ikc_sl(is),ndof ,iad )
6338 CALL cp_real(9,ksm,ksi_fr(1,iad))
6363#include "implicit_f.inc"
6367#include "mvsiz_p.inc"
6368#include "param_c.inc"
6373 . iddl(*) ,iadk(*) ,jdik(*),nsl
6375 . k_diag(*) ,k_lt(*) ,kss(6,*)
6379 INTEGER I, JLT , NFT ,ND ,J,N0,JLT_NEW,IS
6381 . k11(3,3,mvsiz),off(mvsiz)
6384 DO nft = 0 , nsl - 1 , nvsiz
6385 jlt =
min( nvsiz, nsl - nft )
6390 jlt_new = jlt_new + 1
6392 k11(j,j,jlt_new) = kss(j,is)
6394 k11(1,2,jlt_new) = kss(4,is)
6395 k11(1,3,jlt_new) = kss(5,is)
6396 k11(2,3,jlt_new) = kss(6,is)
6401 CALL assem_kii(
isl(nft+1),jlt,iddl,iadk,k_diag,k_lt,k11,nd,off)
6417#include "implicit_f.inc"
6422 INTEGER ID,JD,IADK(*),JDIK(*)
6425 . k_lt(*) ,kij(nd,nd)
6429 INTEGER I,J,K,JDL,L,JJ
6433 DO jj = iadk(id+k),iadk(id+1+k)-1
6435 IF (jdik(jj)==(jd+1))
THEN
6443 k_lt(jdl+l) = k_lt(jdl+l) + kij(k,l)
6465#include "implicit_f.inc"
6470 INTEGER ID,JD,IADK(*),JDIK(*)
6473 . K_LT(*) ,KIJ(NK,NL)
6477 INTEGER I,J,K,JDL,L,JJ
6481 DO jj = iadk(id+k),iadk(id+1+k)-1
6483 IF (jdik(jj)==(jd+1))
THEN
6491 kij(k,l) = k_lt(jdl+l)
6508#include "implicit_f.inc"
6513 INTEGER ID,JD,IADK(*),JDIK(*)
6516 . k_lt(*) ,kij(nk,nl)
6520 INTEGER I,J,K,JDL,L,JJ
6524 DO jj = iadk(id+k),iadk(id+1+k)-1
6526 IF (jdik(jj)==(jd+1))
THEN
6533 k_lt(jdl+l) = kij(k,l)
6554 1 IPARI ,INTBUF_TAB,NINT2 ,IINT2 ,
6555 2 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
6556 3 X ,IBFV ,LJ ,SKEW ,XFRAME ,
6557 4 ISKEW ,ICODT ,NDOF ,ILOCP ,NSL ,
6558 5 IAD_M ,IRBE3 ,LRBE3 ,IRBE2 ,LRBE2 )
6566#include "implicit_f.inc"
6570#include "com04_c.inc"
6571#include "param_c.inc"
6575 INTEGER IPARI(NPARI,*),NSL
6576 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
6577 . NINT2,IINT2(*),ILOCP(*),NDOF(*) ,
6578 . IBFV(*),LJ(*),ISKEW(*),ICODT(*),IAD_M(*),
6579 . irbe3(*),lrbe3(*),irbe2(*),lrbe2(*)
6582 . x(3,*),skew(*),xframe(*)
6583 TYPE(intbuf_struct_) INTBUF_TAB(*)
6587 INTEGER LNS,LNS2,NNMAX,NZ,LNS3,LNS4
6588 INTEGER I,J,K,L,N_KINE,IA2(NINT2),IA(NRBYAC),NRS(NSL)
6589 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: ICOL
6602 1 npby ,lpby ,itab ,nrbyac ,irbyac ,
6603 2 nint2 ,iint2 ,ipari ,intbuf_tab,ilocp ,
6604 3 ia ,ia2 ,nrs ,lns ,lns2 ,
6605 4 nsl ,irbe3 ,lrbe3 ,lns3 ,irbe2 ,
6610 nnmax=
max(nnmax,nrs(i))
6613 ALLOCATE(icol(nnmax,nsl))
6615 1 npby ,lpby ,itab ,nrbyac ,irbyac ,
6616 2 nint2 ,iint2 ,ipari ,intbuf_tab,ilocp ,
6617 3 ia ,ia2 ,lns ,lns2 ,nsl ,
6618 4 ibfv ,lj ,iskew ,icodt ,nrs ,
6619 5 icol ,nnmax ,irbe3 ,lrbe3 ,lns3 ,
6620 6 irbe2 ,lrbe2 ,lns4 )
6622 CALL doub_nrs(nsl ,nnmax ,nrs ,icol ,ilocp )
6629 CALL ini_slnr(nsl ,nnmax ,nrs ,icol ,nz ,
6652#include "implicit_f.inc"
6656 INTEGER NSL,NNMAX ,NRS(*),ILOCP(*)
6657 INTEGER ICOL(NNMAX,*)
6669 IF (nrs(i)<nrs(k))
THEN
6670 CALL cp_int(nrs(k),icol(1,k),icol(1,i))
6694#include "implicit_f.inc"
6698 INTEGER NSL,NZ,NNMAX ,NRS(*),NDOF(*),IAD_M(*)
6699 INTEGER ICOL(NNMAX,*)
6726 DO j=1,
max(1,nrs(n))
6731 IF (ndof(nj)==6) nz = nz+
ikc_sl(n)
6749 1 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
6750 2 NINT2 ,IINT2 ,IPARI ,INTBUF_TAB,INLOC ,
6751 3 IA ,IA2 ,NRS ,LNS ,LNS2 ,
6752 4 N_KINE ,IRBE3 ,LRBE3 ,LNS3 ,IRBE2 ,
6761#include "implicit_f.inc"
6765#include "com04_c.inc"
6766#include "param_c.inc"
6771 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),,IRBYAC(*),
6772 . NINT2,IINT2(*),IPARI(NPARI,*),
6773 . IRBE3(NRBE3L,*),LRBE3(*) ,LNS3 ,
6774 . IRBE2(,*),LRBE2(*) ,LNS4
6776 . INLOC(*),NRS(*),LNS
6778 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
6783 . i,j,k,n,l,
nl,nj,ni,j1,m,nsn,n1,n2,nk,
id,
6794 ni=intbuf_tab(n)%NSV(i)
6795 IF (inloc(ni)>0)
THEN
6796 l=intbuf_tab(n)%IRTLM(ni)
6798 IF (intbuf_tab(n)%IRECTM(
nl+3)==intbuf_tab(n)%IRECTM(
nl+4))
THEN
6804 IF (nk>n_kine ) nk = nk - n_kine
6805 nrs(nk) = nrs(nk)+nnod
6810 nj=intbuf_tab(n)%IRECTM(
nl+k)
6811 IF (inloc(nj)==0) inloc(nj) = n_kine + inloc(ni)
6824 IF (inloc(ni)>0)
THEN
6826 IF (nk>n_kine ) nk = nk - n_kine
6827 nrs(nk) = nrs(nk)+nnod
6832 IF (inloc(nj)==0) inloc(nj) = n_kine + inloc(ni)
6849 IF (nk>n_kine) nk = inloc(ni)-n_kine
6854 IF (inloc(m)==0) inloc(m) = n_kine + inloc(ni)
6868 IF (nk>n_kine) nk = inloc(ni)-n_kine
6872 IF (inloc(m)==0) inloc(m) = n_kine + inloc(ni)
6893 1 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
6894 2 NINT2 ,IINT2 ,IPARI ,INTBUF_TAB,INLOC ,
6895 3 IA ,IA2 ,NSS ,NSS2 ,N_KINE ,
6896 4 IBFV ,LJ ,ISKEW ,ICODT ,NRS ,
6897 5 ICOL ,NNMAX ,IRBE3 ,LRBE3 ,LNS3 ,
6898 6 IRBE2 ,LRBE2 ,LNS4 )
6909#include "implicit_f.inc"
6913#include "com04_c.inc"
6914#include "param_c.inc"
6919 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
6920 . NINT2,IINT2(*),IPARI(NPARI,*),ISKEW(*),ICODT(*)
6922 . INLOC(*),NSS,NSS2,N_KINE,IBFV(NIFV,*),LJ(*),ICOL(NNMAX,*),
6923 . ia(*),ia2(*),nrs(*),irbe3(nrbe3l,*),lrbe3(*),lns3 ,
6924 . irbe2(nrbe2l,*),lrbe2(*),lns4
6926 TYPE(intbuf_struct_) INTBUF_TAB(*)
6931 . i,j,k,n,l,
nl,nj,ni,j1,m,nsn,n1,n2,nk,
id,
6933 . ierror1,ierror2,ierror3,ierror4,ierror5,ierror6,ierror7
6939 ALLOCATE(
ifrs2(2,nss2),stat=ierror1)
6946 ni=intbuf_tab(n)%NSV(i)
6948 IF (nk>n_kine) nk =nk-n_kine
6950 l=intbuf_tab(n)%IRTLM(ni)
6953 nj=intbuf_tab(n)%IRECTM(
nl+k)
6969 ALLOCATE(
ifrs4(2,lns4),stat=ierror2)
6973 IF (inloc(m)>0)
THEN
6979 IF (nk>n_kine) nk = inloc(ni)-n_kine
6995 ALLOCATE(
ifrs3(lns3),stat=ierror1)
7001 IF (inloc(ni)>0)
THEN
7003 IF (nk>n_kine) nk =nk-n_kine
7018 ALLOCATE(
ifrsr(2,nss),stat=ierror2)
7024 IF (inloc(m)>0)
THEN
7030 IF (nk>n_kine) nk = inloc(ni)-n_kine
7045 IF (iskew(n)>1.AND.icodt(n)/=7)
THEN
7054 IF (iskew(n)>1.AND.icodt(n)/=7)
THEN
7055 IF (inloc(n)>0)
THEN
7076 IF (inloc(n)>0.AND.
ic_spc(n)<=3)
THEN
7085 IF (lj(j)>0.AND.lj(j)<=3)
THEN
7095 IF (lj(j)>0.AND.lj(j)<=3)
THEN
7097 IF (inloc(n)>0)
THEN
7118 IF (inloc(n)>0)
THEN
7138 1 J ,NRJ ,NDOF ,IAD )
7142#include "implicit_f.inc"
7146 INTEGER IAD_M(*),IAD_S(*),JDI_S(*),NM ,NS,J,IAD,NRJ ,NDOF(*)
7151 INTEGER I,K,NR,L,IS,NK,NZ,NJ,I0,ID
7153 nr =iad_s(is+1)-iad_s(is)
7155 nk =(iad_m(is+1)-iad_m(is))/nrj
7157 IF (nm>0.AND.nr>0)
THEN
7159 CALL intabfr(nr,jdi_s(i0),nm,id
7164 IF (ndof(nj)==6)
THEN
7189#include "implicit_f.inc"
7198 IF (i==0.OR.(i>=2.AND.i<=4).OR.i==9)
THEN
7217 . NF_SI,NF_SL,LSI ,LSL ,MSI,MSL)
7225#include "implicit_f.inc"
7229 INTEGER NSREM ,NSL ,LSI,LSL ,NF_SL(*),NF_SI(*),
7230 . iddl(*) ,ikc(*) ,ndof(*) ,msi,msl
7240 INTEGER I,J,N,ID,NFAC,NJ
7246 IF (ndof(n)==0.OR.(ikc(id+1)/=0.AND.ikc(id+2)/=0
7247 . .AND.ikc(id+3)/=0))
THEN
7252 IF (ikincf(ikc(id+1)).OR.ikincf(ikc(id+2)).OR.
7253 . ikincf(ikc(id+3)))
7255 IF (ndof(nj)==6)
THEN
7256 IF (ikincf(ikc(id+4)).OR.ikincf(ikc(id+5)).OR.
7257 . ikincf(ikc(id+6)))
7278 msl = msl + nf_sl(i)
7279 lsl = lsl +
ikc_sl(i)*nf_sl(i)
7287 msi = msi + nf_si(i)
7288 lsi = lsi +
ikc_si(i)*nf_si(i)
7313#include
"implicit_f.inc"
7317 INTEGER NSL,IDDL(*),IKC(*),NDOF(*),IAD_M(*),IKCSL(3,*)
7329 INTEGER I,J,K,N,ID,IADI,IADL,SIZE,NJ,NB,IDM,NKC
7339 IF (ndof(n)==0.OR.(ikc(id+1)/=0.AND.ikc(id+2)/=0
7340 . .AND.ikc(id+3)/=0))
THEN
7350 IF (nodof.AND.(ikincf(ikc(id+1)).OR.ikincf(ikc(id+2)).OR.
7351 . ikincf(ikc(id+3))))
THEN
7352 CALL cp_real(
SIZE,ksi(1,iadi),ksl(1,iadl))
7356 IF (ndof(nj)==6)
THEN
7357 IF (nodof.AND.(ikincf(ikc(id+4)).OR.ikincf(ikc(id+5)).OR.
7358 . ikincf(ikc(id+6))))
THEN
7359 CALL cp_real(
SIZE,ksi(1,iadi),ksl(1,iadl))
7369 CALL cp_real(nb,ksi(1,iadi),ksl(1,iadl))
7374 CALL cp_real(nb,ksi(1,iadi),ksl(1,iadl))
7392 IF (ikincf(ikc(id+1)).OR.ikincf(ikc(id+2)).OR.
7393 . ikincf(ikc(id+3)))
THEN
7395 ikcsl(k,iadi) = ikc(id+k)
7399 IF (ndof(nj)==6)
THEN
7400 IF (ikincf(ikc(id+4)).OR.ikincf(ikc(id+5)).OR.
7401 . ikincf(ikc(id+6)))
THEN
7403 ikcsl(k,iadi) = ikc(id+k+3)
7412 IF (ikincf(ikc(id+1)).OR.ikincf(ikc(id+2)).OR.
7413 . ikincf(ikc(id+3)))
THEN
7415 ikcsl(k,iadi) = ikc(id+k)
7434!|| intbufdef_mod ../common_source/modules/interfaces
7437 1 IPARI ,INTBUF_TAB,NINT2 ,IINT2 ,
7438 2 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
7439 3 X ,IBFV ,LJ ,SKEW ,XFRAME ,
7440 4 ISKEW ,ICODT ,NDOF ,ILOCP ,NSREM ,
7441 5 IDDL ,IKC ,IAD_M ,NML ,IRBE3 ,
7442 6 LRBE3 ,IRBE2 ,LRBE2 )
7450#include "implicit_f.inc"
7454#include "param_c.inc"
7458 INTEGER IBFV(NIFV,*),IPARI(NPARI,*),NSREM,NML
7459 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),,IRBYAC(*),
7460 . NINT2,IINT2(*),ILOCP(*),NDOF(*) ,(*) ,IKC(*),
7461 . LJ(*),ISKEW(*),ICODT(*),IAD_M(*),IRBE3(*),LRBE3(*),
7465 . X(3,*),SKEW(*),XFRAME(*)
7466 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
7470 INTEGER LNS,LNS2,NNMAX,NZ,LNS3,LNS4
7471 INTEGER ,J,K,L,N_KINE,IA2(NINT2),IA(NRBYAC)
7472 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ICOL,NRS
7480 1 npby ,lpby ,itab ,nrbyac ,irbyac ,
7481 2 nint2 ,iint2 ,ipari ,intbuf_tab,ilocp ,
7482 3 ia ,ia2 ,nrs ,lns ,lns2 ,
7483 4 nml ,irbe3 ,lrbe3 ,lns3 ,irbe2 ,
7488 nnmax=
max(nnmax,nrs(i))
7491 ALLOCATE(icol(nnmax*nml))
7494 1 npby ,lpby ,itab ,nrbyac ,irbyac ,
7495 2 nint2 ,iint2 ,ipari ,intbuf_tab,ilocp ,
7496 3 ia ,ia2 ,lns ,lns2 ,nml ,
7497 4 ibfv ,lj ,iskew ,icodt ,nrs ,
7498 5 icol ,nnmax ,irbe3 ,lrbe3 ,lns3 ,
7499 6 irbe2 ,lrbe2 ,lns4 )
7507 CALL ini_slnr(nml ,nnmax ,nrs ,icol ,nz ,
7520!||====================================================================
7530#include "implicit_f.inc"
7534 INTEGER NSREM,ILOC(*),N_IMPN,IDDL(*) ,IKC(*) ,NDOF(*) ,LSI
7539 INTEGER I,J,N,IG,NM,NDD,ID,IER1,IER2
7544 IF (iloc(ig)==0)
THEN
7552 IF(
ALLOCATED(
iml))
DEALLOCATE(
iml)
7553 ALLOCATE(
iml(
nml),stat=ier1)
7569 DO j = 1 ,
min(3,ndof(n))
7570 ndd = ndd + ikc(id+j)
7572 IF (ndof(n)==0.OR.ndd>0) ndd = nsrem
7596#include "implicit_f.inc"
7600#include "com01_c.inc"
7604 INTEGER SSIZE ,RSIZE
7606 . KS11(9,*),KR11(9,*)
7610 INTEGER I,J,SIZE,IAD_S(NSPMD+1),(NSPMD+1)
7618 iad_s(i+1) = iad_s(i)
7619 iad_r(i+1) = iad_r(i)
7621 iad_s(i+1) = iad_s(i+1) +
ikc_si(j)
7624 iad_r(i+1) = iad_r(i+1) +
ikc_sl(j)
7628 CALL spmd_exck(ks11,kr11,iad_s,iad_r,
SIZE ,ssize,rsize)
7650#include "implicit_f.inc"
7654#include "com01_c.inc"
7658 INTEGER NFACS(*),NFACR(*),IKCS(3,*),IKCR(3,*)
7660 . ks11(9,*),kr11(9,*)
7664 INTEGER I,J,SSIZE,RSIZE,SIZE,IAD_S(NSPMD+1),IAD_R(NSPMD+1)
7671 iad_s(i+1) = iad_s(i)
7672 iad_r(i+1) = iad_r(i)
7674 iad_s(i+1) = iad_s(i+1) + nfacs(j)
7677 iad_r(i+1) = iad_r(i+1) + nfacr(j)
7682 ssize = iad_s(nspmd+1) - 1
7683 rsize = iad_r(nspmd+1) - 1
7684 CALL spmd_exci(ikcs,ikcr,iad_s,iad_r,
SIZE ,ssize,rsize)
7689 iad_s(i+1) = iad_s(i)
7690 iad_r(i+1) = iad_r(i)
7692 iad_s(i+1) = iad_s(i+1) + nfacs(j)*
ikc_sl(j)
7695 iad_r(i+1) = iad_r(i+1) + nfacr(j)*
ikc_si(j)
7698 ssize = iad_s(nspmd+1) - 1
7699 rsize = iad_r(nspmd+1) - 1
7700 CALL spmd_exck(ks11,kr11,iad_s,iad_r,
SIZE ,ssize,rsize)
7733 1 IPARI ,INTBUF_TAB,NINT2 ,IINT2 ,
7734 2 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
7735 3 X ,IBFV ,LJ ,SKEW ,XFRAME ,
7736 4 ISKEW ,ICODT ,INLOC ,NSL ,IAD_M ,
7737 5 IDDL ,IKC ,NDOF ,IDDLM ,UD ,
7738 6 A ,KSL ,KSI ,NSREM ,NF_SI ,
7739 7 IDDLI ,IRBE3 ,LRBE3 ,FRBE3 ,IRBE2 ,
7751#include "implicit_f.inc"
7755#include "param_c.inc"
7756#include "tabsiz_c.inc"
7760 INTEGER IPARI(NPARI,*),NSL,IAD_M(*),NSREM
7761 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
7762 . NINT2,IINT2(*),IDDL(*),IKC(*),NDOF(*),INLOC(*),
7763 . ibfv(nifv,*),lj(*),iskew(*),icodt(*),iddlm(*),
7764 . nf_si(*) ,iddli(*),irbe3(nrbe3l,*),lrbe3(*),
7765 . irbe2(nrbe2l,*),lrbe2(*)
7768 . x(3,*),skew(lskew,*),xframe(*),
7769 . ud(3,*),a(3,*),ksl(9,*) ,ksi(9,*),frbe3(*)
7770 TYPE(intbuf_struct_) INTBUF_TAB(*)
7774 INTEGER I,J,N,K,M,NS,NI,NSN,ILEV,IAD_M1(NSREM+1),
7776 . nj,nd,
nl,isk,ifm,j1,iflag,nss,nm,
id,iad0,iad,
7777 . i1,ict,nf,nr,is,jd,ifss,ifsm,ibid,jt(3),jr(3),iads,
7778 . irot,iadr,nn,irad,ic,eid
7780 . ej(3),ksm(9),knm(9,4),krm(9,4),rbid
7782 .
DIMENSION(:),
ALLOCATABLE :: knm3,krm3
7791 iad_m1(n+1) = iad_m1(n)+
ikc_si(n)*nf_si(n)
7793 DO i=1,iad_m(nsl+1)-1
7804 ns=intbuf_tab(n)%NSV(ni)
7805 l=intbuf_tab(n)%IRTLM(ni)
7807 IF (intbuf_tab(n)%IRECTM(
nl+3)==intbuf_tab(n)%IRECTM(
nl+4))
THEN
7814 IF (inloc(ns)>nsl)
THEN
7820 iad = iad_m(nss) + j + is -2
7821 CALL cp_real(9,ksl(1,iad),ksm)
7823 CALL i2_frk1(intbuf_tab(n)%IRECTM,intbuf_tab(n)%DPARA,x ,itab ,
7824 . intbuf_tab(n)%NSV,
7825 1 intbuf_tab(n)%IRTLM,ikc ,ndof ,iddl ,iddlm,
7826 2 ibid ,ibid ,rbid,rbid ,rbid ,a ,
7827 3 rbid ,ksm ,knm ,krm ,ni ,
7830 CALL i2_frk0(intbuf_tab(n)%IRECTM,intbuf_tab(n)%CSTS,x ,itab ,
7831 . intbuf_tab(n)%NSV,
7832 1 intbuf_tab(n)%IRTLM,ikc ,ndof ,iddl ,iddlm,
7833 2 ibid ,ibid ,rbid,rbid ,rbid ,a ,
7834 3 rbid ,ksm ,knm ,krm ,ni ,
7838 nj=intbuf_tab(n)%IRECTM(
nl+k)
7840 iad = iad_m(nss) + j +is -2
7841 CALL cp_real(9,knm(1,k),ksl(1,iad))
7842 IF (ndof(nj)>3)
CALL cp_real(9,krm(1,k),ksl(1,iad+nsrem))
7852 DO nf = 1,
max(1,nf_si(is))
7854 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
7857 1 j ,
ikc_si(is),ndof ,iad )
7859 CALL cp_real(9,ksi(1,iad),ksm)
7868 CALL i2_frk1(intbuf_tab(n)%IRECTM,intbuf_tab(n)%DPARA,x ,itab ,
7869 . intbuf_tab(n)%NSV,
7870 1 intbuf_tab(n)%IRTLM,ikc ,ndof ,iddl ,iddlm,
7871 2 ibid ,ibid ,rbid,rbid ,rbid ,a ,
7872 3 rbid ,ksm ,knm ,krm ,ni ,
7875 CALL i2_frk0(intbuf_tab(n)%IRECTM,intbuf_tab(n)%CSTS,x ,itab ,
7876 . intbuf_tab(n)%NSV,
7877 1 intbuf_tab(n)%IRTLM,ikc ,ndof ,iddl ,iddlm,
7878 2 ibid ,ibid ,rbid,rbid ,rbid ,a ,
7879 3 rbid ,ksm ,knm ,krm ,ni ,
7883 nj=intbuf_tab(n)%IRECTM(
nl+k)
7886 iad = iad_m(nss) + j + is -2
7887 CALL cp_real(9,knm(1,k),ksl(1,iad))
7888 IF (ndof(nj)>3)
CALL cp_real(9,krm(1,k),ksl(1,iad+nsrem))
7906 IF (inloc(ns)>nsl)
THEN
7912 iad = iad_m(nss) + j + is -2
7915 CALL rbe2_frk(ns ,m ,x ,isk ,skew(1,isk) ,
7917 2 ibid ,ibid ,rbid ,rbid ,rbid ,
7918 3 a ,rbid ,ksm ,knm ,krm ,
7919 4 ibid ,ifss ,ifsm )
7921 iad = iad_m(nss) + j + is -2
7922 CALL cp_real(9,knm,ksl(1,iad))
7923 CALL cp_real(9,krm,ksl(1,iad+nsrem))
7932 DO nf = 1,
max(1,nf_si(is))
7934 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
7937 1 j ,
ikc_si(is),ndof ,iad )
7939 CALL cp_real(9,ksi(1,iad),ksm)
7948 CALL rbe2_frk(ns ,m ,x ,isk ,skew(1,isk) ,
7949 1 irad ,ndof ,iddl ,jt ,jr ,
7950 2 ibid ,ibid ,rbid ,rbid ,rbid ,
7951 3 a ,rbid ,ksm ,knm ,krm ,
7952 4 ibid ,ifss ,ifsm )
7955 iad = iad_m(nss) + j + is -2
7956 CALL cp_real(9,knm,ksl(1,iad))
7957 CALL cp_real(9,krm,ksl(1,iad+nsrem))
7971 iads = slrbe3/2+iadr
7973 ALLOCATE(knm3(9*nnod))
7974 IF (irot>0)
ALLOCATE(krm3(9*nnod))
7975 IF (inloc(ns)>nsl)
THEN
7981 iad = iad_m(nss) + j + is -2
7982 CALL cp_real(9,ksl(1,iad),ksm)
7983 CALL rbe3_fr0(ns ,nnod ,lrbe3(iadr+1) ,x ,irot ,
7984 2 jt ,jr ,frbe3(6*iadr+1) ,skew ,ikc ,
7985 3 ndof ,ibid ,ibid ,rbid ,rbid ,
7986 2 rbid ,ksm ,knm3 ,krm3 ,ibid ,
7987 3 ifss ,ifsm ,itab ,lrbe3(iads+1),eid)
7991 iad = iad_m(nss) + j +is -2
7994 IF (irot>0.AND.ndof(nj)==6)
7995 +
CALL cp_real(9,krm3(
id),ksl(1,iad+nsrem))
8005 DO nf = 1,
max(1,nf_si(is))
8007 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8010 1 j ,
ikc_si(is),ndof ,iad )
8012 CALL cp_real(9,ksi(1,iad),ksm)
8020 CALL rbe3_fr0(ns ,nnod ,lrbe3(iadr+1) ,x ,irot ,
8021 2 jt ,jr ,frbe3(6*iadr+1) ,skew ,ikc ,
8022 3 ndof ,ibid ,ibid ,rbid ,rbid ,
8023 2 rbid ,ksm ,knm3 ,krm3 ,ibid ,
8024 3 ifss ,ifsm ,itab ,lrbe3(iads+1),eid)
8029 iad = iad_m(nss) + j + is -2
8032 IF (irot>0.AND.ndof(nj)==6)
8033 +
CALL cp_real(9,krm3(
id),ksl(1,iad+nsrem))
8040 IF (irot>0)
DEALLOCATE(krm3)
8047 IF (inloc(ns)>nsl)
THEN
8053 iad = iad_m(nss) + j + is -2
8054 CALL cp_real(9,ksl(1,iad),ksm)
8055 CALL rby_frk(ns ,m ,x ,itab ,ikc ,
8056 1 ndof ,iddl ,iddlm,ibid ,ibid ,
8057 2 rbid ,rbid ,rbid ,a ,rbid ,
8058 3 ksm ,knm ,krm ,ibid,ifss,ifsm)
8060 iad = iad_m(nss) + j + is -2
8061 CALL cp_real(9,knm,ksl(1,iad))
8062 CALL cp_real(9,krm,ksl(1,iad+nsrem))
8071 DO nf = 1,
max(1,nf_si(is))
8073 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8076 1 j ,
ikc_si(is),ndof ,iad )
8078 CALL cp_real(9,ksi(1,iad),ksm)
8086 CALL rby_frk(ns ,m ,x ,itab ,ikc ,
8087 1 ndof ,iddl ,iddlm,ibid ,ibid ,
8088 2 rbid ,rbid ,rbid ,a ,rbid ,
8089 3 ksm ,knm ,krm ,ibid,ifss,ifsm)
8092 iad = iad_m(nss) + j + is - 2
8093 CALL cp_real(9,knm,ksl(1,iad))
8094 CALL cp_real(9,krm,ksl(1,iad+nsrem))
8105 IF (inloc(ns)>nsl)
THEN
8111 iad = iad_m(nss) + j + is -2
8112 CALL cp_real(9,ksl(1,iad),ksm)
8113 CALL bcl_frk(ns ,iddl ,iddlm ,ict ,isk ,
8114 1 skew ,ikc ,ibid ,ibid ,rbid ,
8115 2 rbid ,rbid ,a ,rbid ,ksm ,
8116 3 ibid ,ifss ,ifsm )
8117 CALL cp_real(9,knm,ksl(1,iad))
8126 DO nf = 1,
max(1,nf_si(is))
8128 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8131 1 j ,
ikc_si(is),ndof ,iad )
8133 CALL cp_real(9,ksi(1,iad),ksm)
8141 CALL bcl_frk(ns ,iddl ,iddlm ,ict ,isk ,
8142 1 skew ,ikc ,ibid ,ibid ,rbid ,
8143 2 rbid ,rbid ,a ,rbid ,ksm ,
8144 3 ibid ,ifss ,ifsm )
8146 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8147 CALL cp_real(9,knm,ksi(1,iad))
8149 iad = iad_m(nss) + is -1
8150 CALL cp_real(9,knm,ksl(1,iad))
8163 IF (inloc(ns)>nsl)
THEN
8169 iad = iad_m(nss) + j + is -2
8170 CALL cp_real(9,ksl(1,iad),ksm)
8171 CALL bc_updfr(ns ,iddl ,skew_spc(iadr),ji ,iddlm ,
8172 1 ikc ,ibid ,ibid ,rbid ,rbid ,
8173 2 rbid ,a ,rbid ,ksm ,ibid ,
8176 ej(1)=skew_spc(iadr)
8177 ej(2)=skew_spc(iadr+1)
8178 ej(3)=skew_spc(iadr+2)
8180 CALL bc_updfr(i ,iddl ,ej ,ji ,iddlm ,
8181 1 ikc ,ibid ,ibid ,rbid ,rbid ,
8182 2 rbid ,a ,rbid ,ksm ,ibid ,
8185 CALL bc_updfr2(i ,iddl ,skew_spc(iadr),skew_spc(iadr+3),
8186 1 iddlm ,ibid ,ibid ,ibid ,rbid ,rbid ,
8187 2 rbid ,a ,rbid ,ksm ,ibid ,
8190 CALL cp_real(9,knm,ksl(1,iad))
8199 DO nf = 1,
max(1,nf_si(is))
8201 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8204 1 j ,
ikc_si(is),ndof ,iad )
8206 CALL cp_real(9,ksi(1,iad),ksm)
8215 ej(1)=skew_spc(iadr)
8216 ej(2)=skew_spc(iadr+1)
8217 ej(3)=skew_spc(iadr+2)
8219 CALL bc_updfr(i ,iddl ,ej ,ji ,iddlm ,
8220 1 ikc ,ibid ,ibid ,rbid ,rbid ,
8221 2 rbid ,a ,rbid ,ksm ,ibid ,
8224 CALL bc_updfr2(i ,iddl ,skew_spc(iadr),skew_spc(iadr+3),
8225 1 iddlm ,ibid ,ibid ,ibid ,rbid ,rbid ,
8226 2 rbid ,a ,rbid ,ksm ,ibid ,
8230 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8231 CALL cp_real(9,knm,ksi(1,iad))
8233 iad = iad_m(nss) + is -1
8234 CALL cp_real(9,knm,ksl(1,iad))
8247 IF (inloc(ns)>nsl)
THEN
8253 iad = iad_m(nss) + j + is -2
8254 CALL cp_real(9,ksl(1,iad),ksm)
8255 CALL fvl_frk(j1 ,i ,ibfv ,skew ,xframe,
8256 1 iddl ,iddlm ,ikc ,ibid ,ibid ,
8257 2 rbid ,rbid ,ud ,rbid
8258 3 rbid ,ksm ,ibid ,ifss ,ifsm )
8260 iad = iad_m(nss) + j + is -2
8261 CALL cp_real(9,knm,ksl(1,iad))
8262 CALL cp_real(9,krm,ksl(1,iad+nsrem))
8271 DO nf = 1,
max(1,nf_si(is))
8273 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8276 1 j ,
ikc_si(is),ndof ,iad )
8278 CALL cp_real(9,ksi(1,iad),ksm)
8286 CALL fvl_frk(j1 ,i ,ibfv ,skew ,xframe,
8287 1 iddl ,iddlm ,ikc ,ibid ,ibid ,
8288 2 rbid ,rbid ,ud ,rbid ,a ,
8289 3 rbid ,ksm ,ibid ,ifss ,ifsm )
8291 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8292 CALL cp_real(9,knm,ksi(1,iad))
8294 iad = iad_m(nss) + is -1
8295 CALL cp_real(9,knm,ksl(1,iad))
8311 IF (inloc(ns)>nsl)
THEN
8317 iad = iad_m(nss) + j + is -2
8318 CALL cp_real(9,ksl(1,iad),ksm)
8319 CALL fv_updfr(ns ,ej ,j1 ,iddl ,iddlm ,
8320 1 ikc ,ibid ,ibid ,rbid ,rbid ,
8321 2 ud ,rbid ,a ,rbid ,ksm ,
8322 3 ibid ,ifss ,ifsm )
8324 iad = iad_m(nss) + j + is -2
8325 CALL cp_real(9,knm,ksl(1,iad))
8326 CALL cp_real(9,krm,ksl(1,iad+nsrem))
8335 DO nf = 1,
max(1,nf_si(is))
8337 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8340 1 j ,
ikc_si(is),ndof ,iad )
8342 CALL cp_real(9,ksi(1,iad),ksm)
8350 CALL fv_updfr(ns ,ej ,j1 ,iddl ,iddlm ,
8351 1 ikc ,ibid ,ibid ,rbid ,rbid ,
8352 2 ud ,rbid ,a ,rbid ,ksm ,
8353 3 ibid ,ifss ,ifsm )
8355 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8356 CALL cp_real(9,knm,ksi(1,iad))
8358 iad = iad_m(nss) + is -1
8359 CALL cp_real(9,knm,ksl(1,iad))
8370!||====================================================================
8374!||--- calls -----------------------------------------------------
8382 1 NSREM ,IKINM ,IKCSI ,IKC ,NDOF ,
8383 2 IDDL ,IDDLM ,INLOC ,IAD_M ,FRK_SI ,
8384 3 FRK_SL ,NF_SI ,IAD_MLD ,IDDLI )
8392#include "implicit_f.inc"
8396#include "com01_c.inc"
8401 . nsrem,iddl(*),iddlm(*),inloc(*),ikc(*),ndof(*),iad_m(*),
8402 . ikcsi(3,*),ikinm ,nf_si(*) ,iad_mld(*) ,iddli(*)
8404 . frk_si(3,3,*) ,frk_sl(3,3,*)
8408 INTEGER I,J,N,K,P,L,NL,NJ,NDOFI,NZ,NDS,NKC,IAD,J1,K1,ID,NS,NM
8409 INTEGER IDDL_CP(NDDL_SI),IAD_CP(NDDL_SI+1),JDI_CP(NZ_SI),
8410 . iad_m1(nsrem+1),nr,idm,jd,iadi,
8411 . ier1,ier2,ier3,ier4,ier5,ier6
8413 . kij(3,3),lt_cp(nz_si)
8418 CALL cp_real(nz_si,lt_si,lt_cp)
8434 IF (ndof(nj)>0)
THEN
8437 CALL getfr_kij( id ,jd ,iad_cp ,jdi_cp,lt_cp ,
8438 1 kij ,ndofi,ndofi )
8442 lt_si(nz) = kij(k,k1)
8448 iad_mld(p+1) = nl +1
8454 iad_m1(n+1) = iad_m1(n)+
ikc_si(n)*nf_si(n)
8465 IF (ikcsi(k,iad)==0)
THEN
8471 IF (ikc(k1+id)==0) nz = nz + 1
8480 IF (ikc(k1+id)==0) nz = nz + 1
8503 IF (ikc(k1+id)==0) nz = nz + 1
8510 IF (ikc(k1+id)==0) nz = nz + 1
8512 IF (ndof(nm)==6)
THEN
8514 IF (ikc(k1+id+3)==0) nz = nz + 1
8531 ALLOCATE(
iad_si(nl+1),stat=ier1)
8534 ALLOCATE(
jdi_si(nz),stat=ier2)
8535 IF(
ALLOCATED(lt_si))
DEALLOCATE(lt_si)
8536 ALLOCATE(lt_si(nz),stat=ier3)
8551 IF (ikcsi(k,iad)==0)
THEN
8557 IF (ndof(nj)>0)
THEN
8559 iadi = iad_m1(i) +nf_si(i)*(j1-
iad_sinr(i))+ j
8561 IF (ikc(k1+id)==0)
THEN
8563 jdi_si(nz) = idm + k1-nkc
8564 lt_si(nz) = frk_si(k,k1,iadi)
8577 IF (ndof(nm)>0)
THEN
8579 iadi = iad_m(ns) + l-
iad_slnr(ns) + i
8581 IF (ikc(k1+id)==0)
THEN
8583 jdi_si(nz) = idm + k1-nkc
8584 lt_si(nz) = frk_sl(k,k1,iadi)
8589 END IF !(ndof(nm)>0)
THEN
8617 1 kij ,ndofi,ndofi )
8620 IF (ikc(k1+id)==0)
THEN
8622 jdi_si(nz) = idm + k1 -nkc
8623 lt_si(nz) = kij(k,k1)
8634 iadi = iad_m(ns) + l-
iad_slnr(ns) +i-1
8636 IF (ikc(k1+id)==0)
THEN
8638 jdi_si(nz) = idm + k1-nkc
8639 lt_si(nz) = frk_sl(k1,k,iadi)
8644 IF (ndof(nm)==6)
THEN
8646 IF (ikc(k1+id)==0)
THEN
8648 jdi_si(nz) = idm + k1-nkc
8649 lt_si(nz) = frk_sl(k1-3,k,iadi+nsrem)
8657 ELSEIF (ndof(nj)>0)
THEN
8661 CALL getfr_kij( id ,jd ,iad_cp ,jdi_cp,lt_cp ,
8662 1 kij ,ndofi,ndofi )
8666 lt_si(nz) = kij(k,k1)
8682 IF(
ALLOCATED(usi))
DEALLOCATE(usi)
8683 ALLOCATE(usi(nddl_si),stat=ier4)
8684 IF(
ALLOCATED(fsi))
DEALLOCATE(fsi)
8685 ALLOCATE(fsi(nddl_si),stat=ier5)
8695 1 NDOF ,IDDL ,IKC ,INLOC ,NFV )
8699#include "implicit_f.inc"
8703#include "com04_c.inc"
8707 INTEGER NFV, INLOC(*),NDOF(*),IKC(*),(*)
8719 IF (inloc(n)>0)
THEN
8721 DO j = 1,
min(3,ndof(n))
8723 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9) ns=1
8725 IF (ns==1) nfv = nfv +1
8740 1 NDOF ,IDDL ,IKC ,INLOC ,NFV )
8748#include "implicit_f.inc"
8752#include "com04_c.inc"
8756 INTEGER NFV,INLOC(*),NDOF(*),IKC(*),IDDL(*)
8764 IF(
ALLOCATED(
islm))
DEALLOCATE(
islm)
8770 IF (inloc(n)>0)
THEN
8772 DO j = 1,
min(3,ndof(n))
8774 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9) ns = 1
8797 1 KSS ,IDDL ,IDDLM ,IKC ,NSL ,
8798 2 D_IMP ,LB ,NFV ,UDSL ,INLOC ,
8807#include "implicit_f.inc"
8811 INTEGER NFV,NSL,IDDLM(*),IKC(*),IDDL(*),
8815 . kss(6,*), d_imp(3,*) ,lb(*) ,udsl(3,*)
8820 . i,j,k,n,
id,nd,ns,nkc,nm,is,nr,nj,nn,
nl,im
8821 . iad_m1(nsl+1),iadn(nsl),jj
8823 . f_imp(6) ,kii(6,6)
8835 iad_m1(i+1) = iad_m1(i)+
nl
8843 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
8844 udsl(k,i) = d_imp(k,n)
8850 IF (inloc(n)>nsl)
THEN
8854 nn = iad_m1(is) + j -1
8863 f_imp(k) = kii(k,1)*udsl(1,i)+ kii(k,2)*udsl(2,i)+
8864 . kii(k,3)*udsl(3,i)
8868 IF (ikc(
id+k)==0)
THEN
8870 lb(nm) = lb(nm) -f_imp(k)
8876 IF (n==
isl(is))
THEN
8878 f_imp(1) = kss(1,j)*udsl(1,i)+ kss(4,j)*udsl(2,i)+
8879 . kss(5,j)*udsl(3,i)
8880 f_imp(2) = kss(4,j)*udsl(1,i)+ kss(2,j)*udsl(2,i)+
8881 . kss(6,j)*udsl(3,i)
8882 f_imp(3) = kss(5,j)*udsl(1,i)+ kss(6,j)*udsl(2,i)+
8883 . kss(3,j)*udsl(3,i)
8887 IF (ikc(
id+k)==0)
THEN
8889 lb(nm) = lb(nm) -f_imp(k)
8921 . NF_SI ,NF_SL ,LVSI )
8929#include "implicit_f.inc"
8933#include "com01_c.inc"
8937 INTEGER NSREM ,NSL,NFV ,IFVSI(*) ,IFVSL(*) ,
8938 . nf_sl(*),nf_si(*),lvsi
8943 INTEGER I,J,N,K,IAD,NJ,L
8944 INTEGER SSIZE ,RSIZE,SIZE,IAD_S(NSPMD+1),IAD_R(NSPMD+1)
8958 IF (
ikc_sl(i)>0.AND.nf_sl(i)>0)
THEN
8967 IF (l>0) ifvsl(iad+k-
iad_slnr(i)) = l
8970 iad = iad + nf_sl(i)
8977 iad_s(i+1) = iad_s(i)
8978 iad_r(i+1) = iad_r(i)
8980 iad_s(i+1) = iad_s(i+1) + nf_sl(j)
8983 iad_r(i+1) = iad_r(i+1) + nf_si(j)
8988 ssize = iad_s(nspmd+1) - 1
8989 rsize = iad_r(nspmd+1) - 1
8990 CALL spmd_exci(ifvsl,ifvsi,iad_s,iad_r,
SIZE ,ssize,rsize)
8997 IF (ifvsi(iad) > 0) lvsi = lvsi +1
9022#include "implicit_f.inc"
9026#include "com01_c.inc"
9030 INTEGER IKCS(*),IKCR(*),NF_S(*),NF_R(*)
9036 INTEGER I ,J ,K ,L,IADS,IADR,IER1,ID,ID0
9037 INTEGER SSIZE ,RSIZE,SIZE,IAD_S(NSPMD+1),IAD_R(NSPMD+1)
9038 my_real,
DIMENSION(:,:),
ALLOCATABLE :: uds1
9048 iad_s(i+1) = iad_s(i)
9049 iad_r(i+1) = iad_r(i)
9052 iad_s(i+1) = iad_s(i+1) +
min(1,ikcs(iads))
9058 iad_r(i+1) = iad_r(i+1) +
min(1,ikcr(iadr))
9063 ssize = iad_s(nspmd+1) - 1
9064 rsize = iad_r(nspmd+1) - 1
9066 ALLOCATE(uds1(3,ssize),stat=ier1)
9075 uds1(l,id) = uds(l,id0)
9084 CALL spmd_exck(uds1,udr ,iad_s,iad_r,
SIZE ,ssize,rsize)
9085 IF (ssize>0)
DEALLOCATE(uds1)
9089!||====================================================================
9099 1 IDDL ,IDDLM ,IKC ,IFVSI ,NF_SI ,
9100 2 KSI ,LB ,NSREM ,UDSI )
9108#include "implicit_f.inc"
9112 INTEGER NSREM,IDDLM(*),IKC(*),IDDL(*),IFVSI(*),NF_SI(*)
9115 . ksi(9,*),lb(*) ,udsi(3,*)
9120 . i,j,j1,nj,iad,iadu,iadi,
id,nd,jd,iad_m1(nsrem+1)
9124 iad_m1(i+1) = iad_m1(i)+
ikc_si(i)*nf_si(i)
9132 IF (ifvsi(iad)>0)
THEN
9136 iadi = iad_m1(i) +nf_si(i)*(j1-
iad_sinr(i))+ j
9138 1 nj ,iddl ,iddlm ,ikc ,
9139 2 udsi(1,iadu),ksi(1,iadi),lb )
9154 1 NJ ,IDDL ,IDDLM ,IKC ,
9159#include "implicit_f.inc"
9163 INTEGER NJ,IDDLM(*),IKC(*),IDDL(*)
9166 . ksm(3,3), lb(*) ,uds(3)
9176 lbd(k) = ksm(1,k)*uds(1)+ ksm(2,k)*uds(2)+
9183 nm = iddlm(nj) + nkc
9184 IF (ikc(nd)==0)
THEN
9185 lb(nm) = lb(nm) -lbd(k)
9204 1 KFR_SI ,KFR_SL ,IDDL ,NDOF ,IKC ,
9205 2 INLOC ,IAD_M ,NSREM ,NSL ,UD0 ,
9206 3 FDSI ,NF_SI ,NFV ,NFD ,IDDLI )
9214#include "implicit_f.inc"
9218 INTEGER NSREM,IAD_M(*),NSL,IDDL(*),NDOF(*),INLOC(*),
9219 . ikc(*),nf_si(*),nfv,nfd,iddli(*)
9222 . ud0(3,*),kfr_si(3,3,*),kfr_sl(3,3,*),fdsi(3,*)
9226 INTEGER I,J,N,K,M,NS,IAD_M1(NSREM+1),IS,JD,
9227 . nj,nd,
nl,j1,nss,nm,
id,iad,nf,nr,iadi
9229 . ksm(3,3),ud(3,nfv)
9239 iad_m1(n+1) = iad_m1(n)+
ikc_si(n)*nf_si(n)
9245 IF ((ikc(
id)>=2.AND.ikc(
id)<=4).OR.ikc(
id)==9)
THEN
9255 DO nf = 1,
max(1,nf_si(is))
9258 IF (inloc(ns)>nsl)
THEN
9266 iadi = iad_m(nss) + j1 + is -2
9268 fdsi(k,iad) = fdsi(k,iad)+kfr_sl(1,k,iadi)*ud(1,i)+
9269 . kfr_sl(2,k,iadi)*ud(2,i)+kfr_sl(3,k,iadi)*ud(3,i)
9274 ELSEIF (
ikc_si(is)>0.AND.j>0)
THEN
9277 1 j ,
ikc_si(is),ndof ,iadi )
9280 fdsi(k,iad) = fdsi(k,iad)+kfr_si(1,k,iadi)*ud(1,i)+
9281 . kfr_si(2,k,iadi)*ud(2,i)+kfr_si(3,k,iadi)*ud(3,i)
9290 fdsi(k,iad) = fdsi(k,iad)+ksm(1,k)*ud(1,i)+
9291 . ksm(2,k)*ud(2,i)+ksm(3,k)*ud(3,i)
9315#include "implicit_f.inc"
9320 . nsrem,ikcsi(3,*),nf_si(*) ,nfv
9326 INTEGER I,J,N,K,NL,NDOFI,IAD,IADI
9342 IF (ikcsi(k,iad)==0)
THEN
9344 fsi(nl)=-fdsi(k,iadi+j-1)
9353 fsi(nl)=-fdsi(k,iadi)
9356 iadi = iadi +
max(1,nf_si(i))
9376#include "implicit_f.inc"
9380 INTEGER NSL,NZ ,IAD_CP(*),JDI_CP(*)
9389 IF(
ALLOCATED(
iml))
DEALLOCATE(
iml)
9395!||====================================================================
9413#include "implicit_f.inc"
9417 INTEGER NSL ,NDOF(*)
9424 INTEGER I,J,K,N,P,ID,NJ,NB,NL,NZ,J1,K1,NK,NN,IAD,
9425 . ier1,ier2,ier3,ier4,ier5,ier6,nd
9439 ALLOCATE(
iddl_sl(nn),stat=ier1)
9470 DO k =1,
min(3,ndof(n))
9483 ALLOCATE(
iad_ss(nl+1),stat=ier2)
9485 ALLOCATE(
jdi_sl(nz),stat=ier3)
9520 DO k =1,
min(3,ndof(n))
9532 IF(
ALLOCATED(diag_sl))
DEALLOCATE(diag_sl)
9533 IF(
ALLOCATED(lt_sl))
DEALLOCATE(lt_sl)
9534 ALLOCATE(diag_sl(nl),stat=ier4)
9535 ALLOCATE(lt_sl(nz),stat=ier5)
9536 CALL zero1(diag_sl,nl)
9537 CALL zero1(lt_sl,nz)
9584#include "implicit_f.inc"
9588#include "com01_c.inc"
9592 INTEGER NSL ,IDDL(*),IKC(*),NDOF(*),IDDLM(*),IAD_SLD(*)
9599 INTEGER IDDL_CP(NDDL_SL),IAD_CP(NDDL_SL+1),JDI_CP(NZ_SL),
9600 . nr,nk,nn,idm,jd,iadi,idj,idjm,iad,ndofi
9601 INTEGER I,J,K,N,P,ID,NJ,NB,NKC,NL,NZ,K1,NKC1,J1,NM,
9602 . ier1,ier2,ier3,ier4,ier5,ier6
9604 . kii(6,6),kij(6,6),lt_cp(nz_sl),diag_cp(nddl_sl)
9619 CALL cp_real(nddl_sl,diag_sl,diag_cp)
9620 CALL cp_real(nz_sl,lt_sl,lt_cp)
9631 IF (ikc(id+k)==0)
THEN
9638 IF (ikc(idj+k1)==0) nz = nz + 1
9642 IF (ikc(id+k1)==0) nz = nz + 1
9650 DO k =1,
min(3,ndof(n))
9651 IF (ikc(id+k)==0)
THEN
9654 IF (ikc(id+k1)==0) nz = nz + 1
9662 DO k =1,
min(3,ndof(n))
9672 ALLOCATE(
iddl_sl(nl),stat=ier4)
9673 IF (nl>nddl_sl)
THEN
9675 ALLOCATE(
iad_ss(nl+1),stat=ier1)
9677 IF(
ALLOCATED(diag_sl))
DEALLOCATE(diag_sl)
9678 ALLOCATE(diag_sl(nl),stat=ier5)
9682 ALLOCATE(
jdi_sl(nz),stat=ier2)
9683 IF(
ALLOCATED(lt_sl))
DEALLOCATE(lt_sl)
9684 ALLOCATE(lt_sl(nz),stat=ier3)
9703 CALL get_kii(nn ,iddl_cp,iad_cp,diag_cp,lt_cp ,kii,ndof(nj))
9706 IF (ikc(id+k)==0)
THEN
9709 diag_sl(nl) = kii(k,k)
9716 CALL get_kij(nm ,nn ,iddl_cp,iad_cp,jdi_cp,lt_cp ,kij ,
9717 . ndof(nk),ndof(nj) ,ier1 )
9720 IF (ikc(idj+k1)==0)
THEN
9722 jdi_sl(nz) = idjm + k1- nkc1
9723 lt_sl(nz) = kij(k1,k)
9733 IF (ikc(id+k1)==0)
THEN
9735 jdi_sl(nz) = idm + k1- nkc1
9736 lt_sl(nz) = kii(k1,k)
9753 ndofi =
min(3,ndof(n))
9754 CALL get_kii(nn ,iddl_cp,iad_cp,diag_cp,lt_cp ,kii,ndofi)
9757 IF (ikc(id+k)==0)
THEN
9760 diag_sl(nl) = kii(k,k)
9763 IF (ikc(id+k1)==0)
THEN
9765 jdi_sl(nz) = idm + k1- nkc1
9766 lt_sl(nz) = kii(k1,k)
9781 DO k =1,
min(3,ndof(n))
9784 diag_sl(nl) =kss(k,i)
9789 lt_sl(nz) = kss(id,i)
9795 iad_sld(p+1) = nl + 1
9817#include "implicit_f.inc"
9821#include "com01_c.inc"
9825 INTEGER NSL ,NSREM,IAD_SLD(*),IAD_MLD(*)
9842!||--- calls -----------------------------------------------------
9849 1 NDOF ,IKC ,IDDL ,NDOFI ,NDDLIFB ,
9850 2 FR_ELEM ,IAD_ELEM )
9858#include "implicit_f.inc"
9862#include "com01_c.inc"
9866 INTEGER NDOFI(*) ,IDDL(*),IKC(*),NDOF(*),NDDLIFB
9868 . fr_elem(*),iad_elem(2,*)
9873 INTEGER I,J,N,NK,IP,L,IFRE,II,IAD2,,IND,N_FR,NB,
9874 . k,nd,nzzk,nj,nzz,iad,jad,
id,jd,idk,nc
9875 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ITAG,ICONT
9880 n_fr = iad_elem(1,nspmd+1)-iad_elem(1,1)
9882 ALLOCATE(itag(n_fr),icont(n_fr))
9885 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
9889 DO j=1,
min(ndof(n),ndofi(n))
9890 IF (ikc(idk+j)==0) ifre=ifre+1
9895 CALL spmd_nrow(itag,icont,iad_elem,n_fr)
9897 icont(nk)=
min(itag(nk),icont(nk))
9898 IF (icont(nk)>0)
THEN
9899 icont(nk) = itag(nk)
9905 IF (nb>0.AND.icont(nk)>0) itag(nb) = itag(nb) + 1
9908 IF (icont(nk)>0)
THEN
9912 stmp = stmp + s1*icont(nk)
9915 DEALLOCATE(itag,icont)
9922!||====================================================================
9937#include "implicit_f.inc"
9941#include "com04_c.inc"
9945 INTEGER NSL,NDOFI(*) ,NDDLI
9951 INTEGER I,J,N,IDK,NC,NDOFII
9960 IF(ndofi(n)==0) ndofi(n)= -ndofii
9978 1 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
9979 2 NINT2 ,IINT2 ,IPARI ,INTBUF_TAB,NDOFI ,
9980 3 NDOF ,IKC ,IDDL ,FR_ELEM ,IAD_ELEM ,
9981 4 NDDLI ,NSL ,NDDLIG ,IRBE3 ,LRBE3 ,
9991#include "implicit_f.inc"
9995#include "param_c.inc"
9999 INTEGER NDOFI(*) ,IDDL(*),IKC(*),(*),NDDLI,NDDLIG,NSL
10000 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
10001 . NINT2,IINT2(*),IPARI(NPARI,*),
10002 . IRBE3(*),LRBE3(*),IRBE2(*),LRBE2(*)
10004 . FR_ELEM(*),IAD_ELEM(2,*)
10006 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
10010 INTEGER NDDLIFB,NDDLINS
10013 1 ndof ,ikc ,iddl ,ndofi ,nddlifb ,
10014 2 fr_elem ,iad_elem )
10016 1 npby ,lpby ,itab ,nrbyac ,irbyac ,
10017 2 nint2 ,iint2 ,ipari ,intbuf_tab,ndofi ,
10018 3 ndof ,ikc ,iddl ,nsl ,nddli ,
10019 4 nddlins ,irbe3 ,lrbe3 ,irbe2 ,lrbe2 )
10026!||--- called by ------------------------------------------------------
10034 1 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
10035 2 NINT2 ,IINT2 ,IPARI ,INTBUF_TAB,NDOFI ,
10036 3 NDOF ,IKC ,IDDL ,NSL ,NDDLI ,
10037 4 NDDLINS ,IRBE3 ,LRBE3 ,IRBE2 ,LRBE2 )
10045#include "implicit_f.inc"
10049#include "com04_c.inc"
10050#include "param_c.inc"
10055 INTEGER NDOFI(*) ,IDDL(*),IKC(*),NDOF(*),NDDLINS,NSL
10056 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
10057 . NINT2,IINT2(*),IPARI(NPARI,*),NDDLI,
10058 . IRBE3(NRBE3L,*),LRBE3(*),IRBE2(NRBE2L,*),LRBE2(*)
10060 TYPE(intbuf_struct_) INTBUF_TAB(*)
10065 . i,j,k,n,l,
nl,nj,ni,j1,m,nsn,n1,n2,nk,
id,nm,
10066 . ji,ns,nnod,ndofii,iad
10074 ni=intbuf_tab(n)%NSV(i)
10075 IF (ndofi(ni)<0)
THEN
10076 l=intbuf_tab(n)%IRTLM(i)
10078 IF (intbuf_tab(n)%IRECTM(
nl+3)==intbuf_tab(n)%IRECTM(
nl+4))
THEN
10084 nm=intbuf_tab(n)%IRECTM(
nl+m)
10085 IF (ndofi(nm)==0) ndofi(nm) = -6
10098 IF (ndofi(ni)<0)
THEN
10099 IF (ndofi(m)==0) ndofi(m) = -6
10109 IF (ndofi(ni)<0)
THEN
10112 IF (ndofi(nm)==0) ndofi(nm) = -6
10119 k=irbyac(j+nrbykin)
10125 IF (ndofi(ni)<0)
THEN
10126 IF (ndofi(m)==0) ndofi(m) = -6
10133 IF(ndofi(n)<0)
THEN
10134 ndofii =
min(-ndofi(n),ndof(n))
10137 IF (ikc(
id+j)==0) nddlins = nddlins+1
10154 1 IADK ,JDIK ,NDOF ,IDDL ,FR_ELEM ,
10163#include "implicit_f.inc"
10167#include "com01_c.inc"
10168#include "impl1_c.inc"
10172 INTEGER IADK(*) ,JDIK(*),IDDL(*),NDOF(*)
10174 . FR_ELEM(*),IAD_ELEM(2,*)
10184 INTEGER I,J,N,NK,IP,L,IFIX,II,IAD2,IJ,IND,N_FR,NB,
10185 . K,ND,NZZK,NJ,NZZ,IAD,JAD,ID,JD,IDK,NC
10187 IF (NDDLFR<=0) return
10191 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
10199 iad2 = iad2 +
nd_fr(ip)
10217 nc = iadk(ii+1)-iadk(ii)
10218 n=intab0(nc,jdik(iadk(ii)),ij)
10220 jfr2k(jd)=n+iadk(ii)-1
10222 write(*,*)
'index error in SPC_FR_K I<J',ij,ip,nc
10225 nc = iadk(ij+1)-iadk(ij)
10226 n=intab0(nc,jdik(iadk(ij)),ii)
10228 jfr2k(jd)=n+iadk(ij)-1
10230 write(*,*)
'index error in SPC_FR_K J<I',ii,ip,nc
10236 iad = iad +
nd_fr(ip) +1
10237 iad2 = iad2 +
nd_fr(ip)
10250 nc = iadk(ii+1)-iadk(ii)
10251 n=intab0(nc,jdik(iadk(ii)),ij)
10253 jfr2k(jd)=n+iadk(ii)-1
10255 write(*,*)
'index error in SPC_FR_K I>J',ij,ip,nc
10258 nc = iadk(ij+1)-iadk(ij)
10259 n=intab0(nc,jdik(iadk(ij)),ii)
10261 jfr2k(jd)=n+iadk(ij)-1
10263 write(*,*)
'index error in SPC_FR_K J>I',ii,ip,nc
10269 iad = iad +
nd_fr(ip) +1
10270 iad2 = iad2 +
nd_fr(ip)
subroutine bc_fi(n, ej, j1, a)
subroutine fv_updkd2(skew, skew1, kdd, diag_k)
subroutine bcl_frk(n, iddl, iddlm, ict, isk, skew, ikc, iadk, jdik, diag_k, lt_k, lb, a, kss, ksm, idlm, ifss, ifsm)
subroutine bc_updfr2(n, iddl, skew, skew1, iddlm, ikc, iadk, jdik, diag_k, lt_k, lb, a, kss, ksm, idlm, ifss, ifsm)
subroutine bcl_impd(ict, isk, skew, i, d)
subroutine bc_updfr(n, iddl, ej, jj, iddlm, ikc, iadk, jdik, diag_k, lt_k, lb, a, kss, ksm, idlm, ifss, ifsm)
subroutine bc_updd(n, ej, j, d)
subroutine bc_updf(nbc, ibc, skew, a)
subroutine bc_upd2d(n, skew, skew1, d)
subroutine bc_fi2(n, skew, skew1, a)
subroutine bcl_impkd(ict, isk, skew, kdd, diag_k)
subroutine fv_imp0(iddl, ifix, ndof, iadk, jdik, diag_k, lt_k, ud, nbk, iab, bk, nddl, rd)
subroutine fvl_frk(j1, n, ibfv, skew, xframe, iddl, iddlm, ikc, iadk, jdik, diag_k, lt_k, ud, lb, a, kss, ksm, idlm, ifss, ifsm)
subroutine fv_updfr(n, ej, j1, iddl, iddlm, ikc, iadk, jdik, diag_k, lt_k, ud, lb, a, kss, ksm, idlm, ifss, ifsm)
subroutine fv_updf(nfx, ifx, ibfv, skew, xframe, a)
subroutine fv_updkd(ej, j, kdd, diag_k)
subroutine fv_impd(ibfv, lj, skew, xframe, ud, rd)
subroutine kin_updf(n, ej, j1, a)
subroutine prerbe3fr(irbe3, n, jt, jr)
subroutine i2_frfm0(x, irect, crst, nsv, irtl, a, ar, ii, ndof)
subroutine i2_frfm1(x, irect, dpara, nsv, irtl, a, ii)
subroutine i2_frup1(x, irect, dpara, nsv, irtl, ii, kii, kjj)
subroutine i2_frk0(irect, crst, x, itab, nsv, irtl, ikc, ndof, iddl, iddlm, iadk, jdik, diag_k, lt_k, b, a, kss, ksm, knm, krm, ii, idlm, iss, ism)
subroutine i2_frup0(x, irect, crst, nsv, irtl, ii, ndof, kss, k)
subroutine i2_frk1(irect, dpara, x, itab, nsv, irtl, ikc, ndof, iddl, iddlm, iadk, jdik, diag_k, lt_k, b, a, kss, ksm, knm, krm, ii, idlm, iss, ism)
subroutine i2_imp1(ipari, intbuf_tab, itab, nsc2, isij2, nss2, iss2, x, ms, in, weight, ikc, ndof, nddl, iddl, iadk, jdik, diag_k, lt_k, b)
subroutine i2_frrd0(x, irect, crst, nsv, irtl, d, dr, ii, ndof)
subroutine i2_frrd1(x, irect, dpara, nsv, irtl, d, ii)
subroutine i7mainfr(a, v, d, x, ms, ipari, intbuf_tab, num_imp, ns_imp, ne_imp)
subroutine ini_intm(iloc, n_imps, n_impn)
subroutine ind_fvn(ndof, iddl, ikc, inloc, nfv)
subroutine cp_iadd(nsl, nsrem, iad_sld, iad_mld)
subroutine ini_ddfv(iddl, ikc, ndof, ipari, intbuf_tab, d, dr, dd, ddr, nsl, irbe3, lrbe3, irbe2, lrbe2)
subroutine ind_fr_k0(ndof, nrow, nnmax, icol, fr_elem, iad_elem, n_fr)
subroutine ini_frkc(nsrem, nsl, ikc, ndof, iddl)
subroutine rowfr_dim24(jlt, ns_imp, ne_imp, irect, nrow, nsn, nin, subtria, nvoisin)
subroutine kin_kml(ipari, intbuf_tab, nint2, iint2, npby, lpby, itab, nrbyac, irbyac, x, ibfv, lj, skew, xframe, iskew, icodt, ndof, ilocp, nsrem, iddl, ikc, iad_m, nml, irbe3, lrbe3, irbe2, lrbe2)
subroutine imp_frks(nsl, iddl, ikc, ndof, iddlm, kss, iad_sld)
logical function ikincf(i)
subroutine rowfr_ind24(jlt, ns_imp, ne_imp, irect, nrow, icol, nnmax, nsn, nin, subtria, nvoisin)
subroutine upd_fr_k(iadk, jdik, ndof, ikc, iddl, inloc, fr_elem, iad_elem, nddl)
subroutine kin_nrmax(nnmax, nkmax, nrowk, icok, icokm, iloc, ink, fr_elem, iad_elem)
subroutine reorder_fr(n, ic, iddl)
subroutine ini_ksi(nsrem, ksi, iddl)
subroutine ini_frud(nsrem, nsl, nfv, ifvsi, ifvsl, nf_si, nf_sl, lvsi)
subroutine upd_ksl(ipari, intbuf_tab, nint2, iint2, npby, lpby, itab, nrbyac, irbyac, x, ibfv, lj, skew, xframe, iskew, icodt, inloc, nsl, iad_m, iddl, ikc, ndof, iddlm, ud, a, b, kss, ksl_fr, ksi_fr, irbe3, lrbe3, frbe3, irbe2, lrbe2)
subroutine mav_ltfr(v, w)
subroutine upd_fr(a, ar, x, ipari, intbuf_tab, ndof, ibfv, skew, xframe, irbe3, lrbe3, irbe2, lrbe2)
subroutine zero_ikin2g(nkine, iloc)
subroutine tag_ints(nsl, iloc, n_impn)
subroutine fr_u2d(ndof, lx, d, a, nsrem, nsl)
subroutine scom_frud(uds, udr, nf_s, nf_r, ikcs, ikcr)
subroutine dim_fr_k(elbuf, iparg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, ndof, nnmax, inloc, fr_elem, iad_elem, n_fr, igeo, fr_i2m, iad_i2m, elbuf_tab)
subroutine ind_sld(nsl, ndof, kss)
subroutine imp_fvksl(iddl, iddlm, ikc, ifvsi, nf_si, ksi, lb, nsrem, udsi)
subroutine ind_kine_kp(nrowk, icok, icokm, nnmax, nkmax, nkine, ink, ikpat, iddl)
subroutine jdifrtok(itok)
subroutine imp_fvksm(nj, iddl, iddlm, ikc, uds, ksm, lb)
subroutine intabfr(nic, ic, n, intab)
subroutine dim_frkm(nsrem, nsl, ssize, rsize)
subroutine tag_intml(nsrem, iloc, n_impn, iddl, ikc, ndof, lsi)
subroutine fr_matv_gpu(nsrem, nsl, lx, f, nindex)
subroutine set_ikin2g(nkine, inloc)
subroutine get_ikin2g(nkine, ink, iloc)
subroutine doub_nrs(nsl, nnmax, nrs, icol, ilocp)
subroutine assem_ksl(iddl, k_diag, k_lt, iadk, jdik, kss, nsl)
subroutine ind_kinfrk(npby, lpby, itab, nrbyac, irbyac, nint2, iint2, ipari, intbuf_tab, inloc, ia, ia2, nss, nss2, n_kine, ibfv, lj, iskew, icodt, nrs, icol, nnmax, irbe3, lrbe3, lns3, irbe2, lrbe2, lns4)
subroutine nddli_frb(ndof, ikc, iddl, ndofi, nddlifb, fr_elem, iad_elem)
subroutine imp_frii(ninter)
subroutine imp_fvkss(kss, iddl, iddlm, ikc, nsl, d_imp, lb, nfv, udsl, inloc, ndof)
subroutine putfr_kij(id, jd, iadk, jdik, k_lt, kij, nk, nl)
subroutine dim_fvn(ndof, iddl, ikc, inloc, nfv)
subroutine ndofi_nsl(nsl, nddli, ndofi)
subroutine ind_fr_k(elbuf, iparg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, ndof, nnmax, inloc, fr_elem, iad_elem, n_fr, igeo, elbuf_tab)
subroutine dim_kinefr(npby, lpby, itab, nrbyac, irbyac, nint2, iint2, ipari, intbuf_tab, inloc, lns, lns2, lnss, lnss2, nk_m, irbe3, lns3, lnss3, irbe2, lrbe2, lnr2, lnrs2)
subroutine imp_frsn(ipari, intbuf_tab, nbintc, intlist)
subroutine ind_frkd(ipari, intbuf_tab, num_imp, ns_imp, ne_imp, iddl, ikc, ndof, nsrem, ind_imp)
subroutine fr_a2b(ndof, lb, a, nsl)
subroutine ind_nrfr(nft, nel, npn, npp, nnmax, nrow, icol, fr_elem, iad_elem, n_fr, icok)
subroutine kin_ksl(ipari, intbuf_tab, nint2, iint2, npby, lpby, itab, nrbyac, irbyac, x, ibfv, lj, skew, xframe, iskew, icodt, ndof, ilocp, nsl, iad_m, irbe3, lrbe3, irbe2, lrbe2)
subroutine get_iad(iad_m, iad_s, jdi_s, nm, is, j, nrj, ndof, iad)
subroutine fr_matv(a, v, d, ms, x, dr, ar, ipari, intbuf_tab, ndof, num_imp, ns_imp, ne_imp, lx, nsrem, nsl, ibfv, skew, xframe, f, irbe3, lrbe3, irbe2, lrbe2)
subroutine tag_intm11(jlt, ns_imp, ne_imp, irects, irectm, iloc, n_impn, nsn)
subroutine getnddli_g(npby, lpby, itab, nrbyac, irbyac, nint2, iint2, ipari, intbuf_tab, ndofi, ndof, ikc, iddl, fr_elem, iad_elem, nddli, nsl, nddlig, irbe3, lrbe3, irbe2, lrbe2)
subroutine imp_frsl(nbintc, nsrem, nsl)
subroutine imp_frfv(num_imp, ns_imp, ne_imp, ipari, intbuf_tab, iddl, ikc, ndof, nsrem, nsl, d_imp, dd, dr_imp, ddr, a, ar, ms, v, x, lb, nddl, ibfv, skew, xframe, irbe3, lrbe3, irbe2, lrbe2, de, nddl0, w_ddl)
subroutine rowfr_dim11(jlt, ns_imp, ne_imp, irectm, nrow, nsn, nin)
subroutine rowfr_ind11(jlt, ns_imp, ne_imp, irectm, nrow, icol, nnmax, nsn, nin)
subroutine ini_slnr(nsl, nnmax, nrs, icol, nz, ndof, iad_m)
subroutine mav_ltfr_gpu(v, w, nindex)
subroutine ini_frfd(nsrem, nfv, ikcsi, nf_si, fdsi)
subroutine diag_int(nsl, ndof, ipari, intbuf_tab, kss, x, ibfv, skew, xframe, irbe3, lrbe3, irbe2, lrbe2)
subroutine imp_frki(ipari, intbuf_tab, num_imp, ns_imp, ne_imp, npby, lpby, itab, nrbyac, irbyac, nint2, iint2, iddl, ikc, ndof, inloc, nsrem, nsl, nbintc, intlist, x, ibfv, lj, skew, xframe, iskew, icodt, irbe3, lrbe3, frbe3, irbe2, lrbe2)
subroutine ind_nrmax(nft, nel, npn, npps, nnmax, nrow, icol, iad_rl, fr_icol, n_frnn)
subroutine imp_diags(diag_k, ndof, nsl, ipari, intbuf_tab, irbe3, lrbe3, irbe2)
subroutine assfr_kij(id, jd, iadk, jdik, k_lt, kij, nd)
subroutine dim_kinfrk(npby, lpby, itab, nrbyac, irbyac, nint2, iint2, ipari, intbuf_tab, inloc, ia, ia2, nrs, lns, lns2, n_kine, irbe3, lrbe3, lns3, irbe2, lrbe2, lns4)
subroutine scom_frk1(ks11, kr11, nfacs, nfacr, ikcs, ikcr)
subroutine dim_nrmax(nrow, fr_elem, iad_elem, nnmax)
subroutine tra_frkm(nsl, iddl, ikc, ndof, iad_m, ksi, ksl, ikcsl)
subroutine iddl_int(nsl, iddl, ikc, ndof, iddlm, ipari, intbuf_tab, irbe3, lrbe3, frbe3, x, skew, irbe2, lrbe2)
subroutine imp_diagsn(diag_k, ndof, nsl, ipari, intbuf_tab, irbe3, lrbe3, irbe2)
subroutine ini_dd0(iddl, ikc, ndof, ipari, intbuf_tab, dd, ddr, nsl, irbe3, lrbe3, irbe2, lrbe2)
subroutine upd_kml(ipari, intbuf_tab, nint2, iint2, npby, lpby, itab, nrbyac, irbyac, x, ibfv, lj, skew, xframe, iskew, icodt, inloc, nsl, iad_m, iddl, ikc, ndof, iddlm, ud, a, ksl, ksi, nsrem, nf_si, iddli, irbe3, lrbe3, frbe3, irbe2, lrbe2)
subroutine rowfr_dim(jlt, ns_imp, ne_imp, irect, nrow, nsn, nin)
subroutine dim_frkm1(nsrem, nsl, iddl, ikc, ndof, nf_si, nf_sl, lsi, lsl, msi, msl)
subroutine imp_fr7i(ipari, intbuf_tab, num_imp, ns_imp, nsrem, nbintc, intlist)
subroutine imp_fri(num_imp, ns_imp, ne_imp, ipari, intbuf_tab, npby, lpby, itab, nrbyac, irbyac, nint2, iint2, iddl, ikc, ndof, inloc, nsrem, nsl, nbintc, intlist, x, ibfv, lj, skew, xframe, iskew, icodt, a, ud, lb, ifdis, nddl, urd, iddli, irbe3, lrbe3, frbe3, irbe2, lrbe2)
subroutine cp_slnr(iad_cp, jdi_cp, nsl, nz)
subroutine spc_fr_k(iadk, jdik, ndof, iddl, fr_elem, iad_elem)
subroutine imp_frkd(npby, lpby, itab, nrbyac, irbyac, ipari, intbuf_tab, nint2, iint2, iddl, ikc, ndof, inloc, nsrem, nsl, nbintc, intlist, x, ibfv, lj, skew, xframe, iskew, icodt, a, ud, lb, ifdis, urd, iddli, irbe3, lrbe3, frbe3, irbe2, lrbe2)
subroutine fr_dlft(nddl, idlft0, idlft1)
subroutine fr_u2dd(d, dr, x, ipari, intbuf_tab, ndof, a, ar, lx, ibfv, skew, xframe, irbe3, lrbe3, irbe2, lrbe2)
subroutine imp_frkm(nsrem, ikinm, ikcsi, ikc, ndof, iddl, iddlm, inloc, iad_m, frk_si, frk_sl, nf_si, iad_mld, iddli)
subroutine rowfr_ind(jlt, ns_imp, ne_imp, irect, nrow, icol, nnmax, nsn, nin)
subroutine imp_fvkm(kfr_si, kfr_sl, iddl, ndof, ikc, inloc, iad_m, nsrem, nsl, ud0, fdsi, nf_si, nfv, nfd, iddli)
subroutine fr_a2bd(ndof, ipari, intbuf_tab, lb, a, ar, irbe3, lrbe3, irbe2, lrbe2)
subroutine nddli_ns(npby, lpby, itab, nrbyac, irbyac, nint2, iint2, ipari, intbuf_tab, ndofi, ndof, ikc, iddl, nsl, nddli, nddlins, irbe3, lrbe3, irbe2, lrbe2)
subroutine ind_kinefr(npby, lpby, itab, nrbyac, irbyac, nint2, iint2, ipari, intbuf_tab, inloc, nss, nss2, nss_s, nss2_s, kn_m, ibfv, lj, iskew, icodt, irbe3, nss3, nss3_s, irbe2, lrbe2, nsr2, nrs2_s)
subroutine scom_frk(ks11, kr11, ssize, rsize)
subroutine getfr_kij(id, jd, iadk, jdik, k_lt, kij, nk, nl)
subroutine set_ind_fr(nsrem, iddl, ndof, nrow, icol, nnmax)
subroutine kin_nrmax0(nnmax, nkmax, nrowk, icok, icokm, iloc, ink, fr_elem, iad_elem)
subroutine ini_fr_k(elbuf, iparg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, ndof, nnmax, inloc, fr_elem, iad_elem, n_fr, igeo, fr_i2m, iad_i2m, elbuf_tab, nnrmax)
subroutine tag_intm(jlt, ns_imp, ne_imp, irect, nsv, iloc, n_impn, nsn)
subroutine put_kii(ni, iddl, iadk, k_diag, k_lt, kii, nd)
subroutine assem_kii(ni, nel, iddl, iadk, k_diag, k_lt, kii, nd, off)
subroutine get_kii(ni, iddl, iadk, k_diag, k_lt, kii, nd)
subroutine get_kij(ni, nj, iddl, iadk, jdik, k_lt, kij, nk, nl, ierr)
subroutine spmd_ifrf_gpu(f_imp, nindex)
subroutine spmd_exci(its, itr, iad_s, iad_r, size, ssize, rsize)
subroutine spmd_isr(iad_s, iad_r, its, itr, ssize, rsize)
subroutine spmd_exck(ks11, kr11, iad_s, iad_r, size, ssize, rsize)
subroutine spmd_sumf_v(v)
subroutine spmd_ifcd(d_imp, ssize, rsize)
subroutine spmd_ifrf(f_imp)
subroutine spmd_nddlig(nddl, nddlfr, nddlg)
subroutine spmd_inis(iad_s, iad_r)
subroutine spmd_ifru_gpu(lx, nindex)
subroutine spmd_inisl(nbintc, inbsl)
subroutine spmd_ifc1(ssize, rsize, kss)
subroutine spmd_ifcf(f_imp, ssize, rsize)
subroutine spmd_icol(iad_s, iad_r, nnmax, icol, nrow, fr_nrow, iad_elem, fr_elem, ssize, rsize)
subroutine spmd_max_iv(iv)
subroutine spmd_nrow(nrow, fr_nrow, iad_elem, tsize)
subroutine reorder_j(n, ic, ni, iddl)
subroutine dim_elemsp(elbuf, iparg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, nrow, inloc, nkmax, icok, igeo, elbuf_tab)
subroutine i24msegv(ie, irtlmv, subtria, irtlm, nvoisin)
subroutine reorder_l(n, ic, ni, iddl)
subroutine reorder_a(n, ic, id)
subroutine rbe3cl(inrbe3, ilrbe3, ns, xyz, frbe3, skew, ng, irot, fdstnb, mdstnb)
integer, dimension(:), allocatable in_spc
integer, dimension(:), allocatable ic_spc
integer, dimension(:), allocatable fr_icol
integer, dimension(:), allocatable ifrloc
integer, dimension(:), allocatable ifr2k
integer, dimension(:), allocatable ikin2g
integer, dimension(:), allocatable iadfr
integer, dimension(:), allocatable iddlfr
integer, dimension(:), allocatable jfr2k
integer, dimension(:), allocatable jdifr
integer, dimension(:), allocatable iad_rl
integer, dimension(:), allocatable nd_fr
integer, dimension(:,:), allocatable iddmr2
integer, dimension(:,:), allocatable ibc_fr
integer, dimension(:,:), allocatable iddml
integer, dimension(:,:), allocatable ifrsr
integer, dimension(:,:), allocatable ifrs2
integer, dimension(:), allocatable ifrs3
integer, dimension(:), allocatable jdi_sinr
integer, dimension(:,:), allocatable inbsl
integer, dimension(:), allocatable iad_sinr
integer, dimension(:,:,:), allocatable iddmi2
integer, dimension(:), allocatable jdi_si
integer, dimension(:), allocatable iddl_sl
integer, dimension(:), allocatable iad_ss
integer, dimension(:,:), allocatable ifx_fr
integer, dimension(:), allocatable ifrsr_s
integer, dimension(:), allocatable islm
integer, dimension(:), allocatable fr_srem
integer, dimension(:,:), allocatable iddsl
integer, dimension(:), allocatable iad_si
integer, dimension(:), allocatable ispc_fr
integer, dimension(:), allocatable jdi_sl
integer, dimension(:), allocatable shf_int
integer, dimension(:), allocatable iad_slnr
integer, dimension(:,:), allocatable iddmr
integer, dimension(:,:,:), allocatable iddmi3
integer, dimension(:), allocatable ifrs3_s
integer, dimension(:), allocatable ikc_sl
integer, dimension(:), allocatable iad_sl
integer, dimension(:), allocatable ikc_si
integer, dimension(:), allocatable ifrs4_s
integer, dimension(:), allocatable irw_fr
integer, dimension(:), allocatable iad_srem
type(int_pointer2), dimension(:), allocatable ind_int
integer, dimension(:), allocatable ifrs2_s
integer, dimension(:), allocatable isl
integer, dimension(:), allocatable iml
integer, dimension(:), allocatable iddl_si
integer, dimension(:), allocatable jdi_slnr
integer, dimension(:,:), allocatable ifrs4
integer, dimension(:), allocatable in_rwl
type(int_pointer), dimension(:), allocatable nsvfi
type(int_pointer), dimension(:), allocatable nsnfi
subroutine cp_real(n, x, xc)
subroutine cp_int(n, x, xc)
subroutine produt_vmhp(nddl0, nddl, iddl, ndof, ikc, dd, ddr, y, r, w_imp)
subroutine rbe2_frk(ns, m, x, isk, skew0, irad, ndof, iddl, jt, jr, iadk, jdik, diag_k, lt_k, b, a, kss, ksm, knm, krm, idlm, iss, ism)
subroutine rbe2_impkd(m, ns, x, isk, jt, jr, ndof, skew0, kdd, diag_km, diag_kn, irad)
subroutine prerbe2fr(ic, jt, jr)
subroutine rbe2frf(ns, m, a, ar, jt, jr, x, isk, skew0, irad)
subroutine rbe2f(nsl, isl, x, a, ar, ms, in, weight, jt, jr, f6, m6, stifn, stifr, stif6, stir6, m, irad)
subroutine rbe2_frd(ns, m, x, v, vr, jt, jr, skew0, isk, irad)
subroutine rbe3_fr0(ns, nml, iml, x, irot, jt, jr, frbe3, skew, ikc, ndof, iadk, jdik, diag_k, lt_k, kss, ksm, knm, krm, idlm, iss, ism, itab, isk, id)
subroutine rbe3_frupd(nir, iml, fdstnb, mdstnb, ndof, jt, irot, kss, diag_m3)
subroutine rbe3frf(nml, iml, ns, a, ar, fdstnb, mdstnb, jt, jr, irot)
subroutine rbe3_frd(nml, iml, ns, d, dr, fdstnb, mdstnb, jt, jr, irot)
subroutine updfr_rb(xs, ys, zs, kii, k)
subroutine rby_frk(ns, m, x, itab, ikc, ndof, iddl, iddlm, iadk, jdik, diag_k, lt_k, b, a, kss, ksm, knm, krm, idlm, iss, ism)
subroutine rby_impf(x, m, n, ndof, a, ar)
subroutine rby_imp3(x, m, n, d, dr, a, ar)
character *2 function nl()
subroutine condens_ind(nddl, nnz, iadk, jdik, ikc)