23!||====================================
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 (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
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 ,
126!||--- calls -----------------------------------------------------
132!||--- uses -----------------------------------------------------
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 ,
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 ,
238!||--- calls -----------------------------------------------------
251!||====================================================================
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 ,intbuf_tab,ilocp,
359 3 lns ,lns2 ,lnss ,lnss2 ,n_kine_m ,
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(,*), 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
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"
499!||--- uses -----------------------------------------------------
503!||====================================================================
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,,NIN,NUM,NTY,II,NB
533 INTEGER IERROR1,IERROR2,NRTS,NSREM11,NCONT,
534 . ierror3,ierror4,ierror5,ierror6,ierror7
535 INTEGER DEBUT(NINTER),(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)
626 ALLOCATE(ffi(3,nsrem),stat=ierror7)
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
697!||--- uses -----------------------------------------------------
708#include "implicit_f.inc"
712#include "com01_c.inc"
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)
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
832#include "implicit_f.inc"
836 INTEGER NSL,ILOC(*),N_IMPN
841 INTEGER I,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(*),IKC(*),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)
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,(*),
1271 . NINT2,IINT2(*),IPARI(NPARI,*)
1273 . inloc(*),lns ,lns2,lnss ,lnss2,nk_m,
1274 . irbe3(nrbe3l,*),lns3 ,lnss3 ,irbe2(nrbe2l
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,*),(*),ITAB(*),NRBYAC,(*),
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)
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
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
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_) (*)
1642 INTEGER I,ID,N,J,NDD,I1,IAD,NMT,IROTG,IADS
1643 INTEGER M,NSN,L,NNOD,NJ,NL,NI,JI
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
1682 iddsl(j,i) = -ikc(id)
1698 iddmr(j,i) = iddlm(n) + ndd
1700 iddmr(j,i) = -ikc(id)
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
1816!||--- called by ------------------------------------------------------
1824!||
l_dir ../engine/source/constraints/general/bcs/
bc_imp0.f
1837 . KSS ,X ,IBFV ,SKEW ,XFRAME,
1838 . IRBE3 ,LRBE3 ,IRBE2 ,LRBE2 )
1849#include "implicit_f.inc"
1853#include "param_c.inc"
1857 INTEGER NSL , (*) ,IBFV(NIFV,*)
1858 INTEGER IPARI(NPARI,*),IRBE3(,*),LRBE3(*),
1859 . IRBE2(NRBE2L,*),LRBE2(*)
1861 . KSS(6,*),X(3,*),SKEW(LSKEW,*),XFRAME(NXFRAME,*)
1862 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
1866 INTEGER ,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),KJJ(6),EJ(3),S,KDD(6,6),KMM(6)
1876 IF(ALLOCATED(DIAG_MR)) DEALLOCATE(DIAG_MR)
1877 ALLOCATE(DIAG_MR(6,),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)
2055 CALL fv_updkd(ej ,j ,kii ,diag_s(1,is))
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))
2143#include "implicit_f.inc"
2147 INTEGER N ,NIC,IC(*),INTAB
2171!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.f90
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,,NJ,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
2269 IF (id>0) diag_k(id)=diag_k(id)+diag_mr2(j,i1)
2283!||--- uses ---------------------------------------------
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_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)
2398!||--- calls -----------------------------------------------------
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(*),NSL,NSREM
2549 . D(3,*),(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)
2591!||
l_dir ../engine/source/constraints/general/bcs/
bc_imp0.f
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,*),LRBE3(*),IRBE2(NRBE2L,*),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
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,*),(*),
2849 . IPARI(NPARI,*), NDOF(*),IBFV(NIFV,*)
2851 . a(3,*),ar(3,*),x(3,*) ,skew(lskew,*),xframe(nxframe,*)
2852 TYPE() 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 )
2886 CALL rbe2frf(ns ,m ,a ,ar ,jt ,
2887 1 jr ,x ,isk ,skew(1,isk),irad )
2898 CALL rbe3frf(nnod ,lrbe3(iad+1
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)
2992!||--- called by ------------------------------------------------------
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))
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(*),
3178 INTEGER ICOK(NNMAX,*),ICOKM(NKMAX,*),IAD_ELEM(2,*),FR_ELEM(*)
3182 INTEGER I,J,N,NL,NR,K,NN
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))
3215!||====================================================================
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 NNMAX,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,(*),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))
3334 1 ELBUF ,IPARG ,IXS ,IXQ ,IXC ,
3335 2 IXT ,IXP ,IXR ,IXTG ,IXTG1 ,
3336 3 IXS10 ,IXS20 ,IXS16 ,NDOF ,
3337 4 NNMAX ,INLOC ,FR_ELEM ,IAD_ELEM ,N_FR ,
3338 5 IGEO ,FR_I2M ,IAD_I2M ,ELBUF_TAB )
3347#include "implicit_f.inc"
3351#include "com01_c.inc"
3352#include "com04_c.inc"
3353#include "param_c.inc"
3357 INTEGER IPARG(NPARG,*),NNMAX,N_FR ,NDOF(*),IGEO(*),
3358 . FR_I2M(*),IAD_I2M(*)
3360 . ixs(nixs,*),ixq(nixq,*),ixc(nixc,*), ixt(nixt,*),ixp(nixp,*),
3361 . ixr(nixr,*), ixtg(nixtg,*),ixs10(6,*),ixs20(12,*),
3362 . ixs16(8,*),ixtg1(4,*),inloc(*),fr_elem(*),iad_elem(2,*)
3366 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
3375 INTEGER I,J,N,,ICOL(NNMAX,N_FR),NROW(N_FR),IP,JLT,NFT,
3376 . fr_nrow(n_fr),l,iad_s(nspmd+1),iad_r(nspmd+1),nf1,
3377 . ierror1,ierror2,ierror3,ls,lr,ssize,rsize,j0,nn,nr,
nl,nrn
3379 IF (n_fr <=0 .OR. nnmax <=0 )
THEN
3393 jlt=iad_elem(1,ip+1)-iad_elem(1,ip)
3394 nft=iad_elem(1,ip)-1
3402 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
3403 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
3404 3 ixs10 ,ixs20 ,ixs16 ,nrow(nf1),
3405 4 inloc ,nnmax ,icol(1,nf1),igeo ,elbuf_tab )
3412 CALL spmd_nrow(nrow,fr_nrow,iad_elem,n_fr)
3419 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3427 ssize=iad_s(nspmd+1)-1
3428 rsize=iad_r(nspmd+1)-1
3431 1 iad_s ,iad_r ,nnmax ,icol ,nrow ,
3432 2 fr_nrow ,iad_elem ,fr_elem ,ssize ,rsize )
3436 nr=iad_i2m(ip+1)-iad_i2m(ip)
3438 jlt=iad_elem(1,ip+1)-iad_elem(1,ip)
3439 nft=iad_elem(1,ip)-1
3445 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3447 IF (intab(nr,fr_i2m(iad_i2m(ip)),n))
THEN
3448 DO l=iad_i2m(ip),iad_i2m(ip+1)-1
3451 IF (
nl>0.AND.nn/=n)
THEN
3452 nrn =
max(nrow(nk),fr_nrow(nk))
3454 IF (nrn>
max(nrow(nk),fr_nrow(nk))) fr_nrow(nk)=nrn
3469 ALLOCATE(
iad_rl(n_fr+1),stat=ierror3)
3473 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3474 IF (nrow(nk)<fr_nrow(nk))
THEN
3475 nr=fr_nrow(nk)-nrow(nk)
3486 ALLOCATE(
fr_icol(lr),stat=ierror2)
3488 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3499 ALLOCATE(
ifrloc(n_fr),stat=ierror1)
3505 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3507 IF (inloc(n)==0)
THEN
3513 ifrloc(nk)=-icol(1,inloc(n))
3514 IF (nrow(nk)<fr_nrow(nk))
nrmax=
nrmax+fr_nrow(nk)-nrow(nk)
3534 1 ELBUF ,IPARG ,IXS ,IXQ ,IXC ,
3535 2 IXT ,IXP ,IXR ,IXTG ,IXTG1 ,
3536 3 IXS10 ,IXS20 ,IXS16 ,NDOF ,
3537 4 NNMAX ,INLOC ,FR_ELEM ,IAD_ELEM ,N_FR ,
3547#include "implicit_f.inc"
3551#include "com01_c.inc"
3552#include "com04_c.inc"
3553#include "param_c.inc"
3557 INTEGER IPARG(NPARG,*),,N_FR ,NDOF(*),IGEO(*)
3559 . ixs(nixs,*),ixq(nixq,*),ixc(nixc,*), ixt(nixt,*),ixp(nixp,*),
3560 . ixr(nixr,*), ixtg(nixtg,*),ixs10(6,*),ixs20(12,*),
3561 . ixs16(8,*),ixtg1(4,*),inloc(*),fr_elem(*),iad_elem(2,*)
3565 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
3569 INTEGER I,J,N,NK,ICOL(NNMAX,N_FR),NROW(N_FR),IP,JLT,NFT,
3570 . ierror1,ierror2,ierror3,ls,lr,ssize,rsize,j0,l,nf1
3581 nft=iad_elem(1,ip)-1
3589 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
3590 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
3591 3 ixs10 ,ixs20 ,ixs16 ,nrow(nf1),
3592 4 inloc ,nnmax ,icol(1,nf1),igeo ,elbuf_tab )
3602 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3612 1 ndof ,nrow ,nnmax ,icol ,fr_elem ,
3628 1 NFT ,NEL ,NPN ,NPP ,NNMAX ,
3629 2 NROW ,ICOL ,FR_ELEM ,IAD_ELEM ,N_FR ,
3638#include "implicit_f.inc"
3642#include "com01_c.inc"
3646 INTEGER ,,NEL,NPN,,NROW(*),ICOL(NNMAX,*)
3648 . fr_elem(*),iad_elem(2,*),n_fr,icok(
nrmax,n_fr)
3653 INTEGER I,J,N,NK,NROWK(N_FR),IP,
3654 . l,iad_r(n_fr+1),fr_icol1(
n_frnn+1),lr,j0,nn,n_frn
3656 IF (nnmax <=0 )
RETURN
3658 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3660 j0 = iad_elem(1,ip)-1
3664 icok(j,nk)=fr_elem(n)
3670 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3674 CALL reorder_a(nrowk(n),icok(1,n),icok(j,nk))
3683 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3692 if (n_frn>
n_frnn) print
'PROBLEM IN IND_NRFR'
3695 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3708 1 nft ,nel ,npn ,npp ,nnmax ,
3709 2 nrow ,icol ,iad_r ,fr_icol1 ,
n_frnn )
3725 1 NDOF ,NROW ,NNMAX ,ICOL ,FR_ELEM ,
3734#include "implicit_f.inc"
3738#include "com01_c.inc"
3739#include "impl1_c.inc"
3743 INTEGER NNMAX,N_FR ,NDOF(*),NROW(*)
3745 . fr_elem(*),iad_elem(2,*),icol(nnmax,*)
3750 INTEGER I,J,N,NK,IP,L,NDDL0,NZZK0,,IAD,NB,
3751 . nnz(nspmd),ndofj,k,nddl,nzzk,nj,nk0,njn,
nl,nzz,
3752 . ierror0,ierror1,ierror2,ierror3,ierror4,ierror5
3753 INTEGER,
DIMENSION(:),
ALLOCATABLE ::
3767 ALLOCATE(
nd_fr(nspmd),stat=ierror0)
3771 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3777 IF (j/=k) nnz(ip) = nnz(ip)+1
3789 nzzk = nzzk + nnz(ip)
3794 ALLOCATE(itag(n_fr))
3798 IF (nb>0) itag(nb) = itag(nb) + 1
3804 stmp = stmp + s1*ndof(fr_elem(nb))
3814 ALLOCATE(
iadfr(nddl),stat=ierror1)
3816 ALLOCATE(
jdifr(nzzk),stat=ierror2)
3818 ALLOCATE(
iddlfr(n_fr),stat=ierror3)
3821 IF (iprec>2.OR.iautspc>0)
THEN
3823 ALLOCATE(
jfr2k(nzzk),stat=ierror5)
3827 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3839 nk0=iad_elem(1,ip)-1
3843 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3845 CALL reorder_l(nrow(nk),icol(1,nk),nk-nk0,
3846 .
iddlfr(iad_elem(1,ip)))
3863 iadfr(nddl+iad) = nzz+1
3870 IF (nzzk>nzzk0.OR.iad/=nddl0)
3871 .
WRITE(*,*)
'--MEMERY PROBLEM 3--:',nzzk,nzzk0,iad,nddl0
3891 1 ELBUF ,IPARG ,IXS ,IXQ ,IXC ,
3892 2 IXT ,IXP ,IXR ,IXTG ,IXTG1 ,
3893 3 IXS10 ,IXS20 ,IXS16 ,NDOF ,
3894 4 NNMAX ,INLOC ,FR_ELEM ,IAD_ELEM ,N_FR ,
3895 5 IGEO ,FR_I2M ,IAD_I2M ,ELBUF_TAB ,NNRMAX )
3904#include "implicit_f.inc"
3908#include "com01_c.inc"
3909#include "com04_c.inc"
3910#include "param_c.inc"
3914 INTEGER IPARG(NPARG,*),NNMAX,N_FR ,NDOF(*),IGEO(*),
3915 . FR_I2M(*),IAD_I2M(*),NNRMAX
3917 . ixs(nixs,*),ixq(nixq,*),ixc(nixc,*), ixt(nixt,*),ixp(nixp,*),
3918 . ixr(nixr,*), ixtg(nixtg,*),ixs10(6,*),ixs20(12,*),
3919 . ixs16(8,*),ixtg1(4,*),inloc(*),fr_elem(*),iad_elem(2,*)
3923 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
3932 INTEGER I,J,N,NK,ICOL(NNMAX,N_FR),NROW(N_FR),IP,JLT,NFT,
3933 . fr_nrow(n_fr),l,iad_s(nspmd+1),iad_r(nspmd+1),
3934 . ierror1,ierror2,ierror3,ls,lr,ssize,rsize,j0,nn,nr,
nl,nrn,
3945 jlt=iad_elem(1,ip+1)-iad_elem(1,ip)
3946 nft=iad_elem(1,ip)-1
3954 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
3955 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
3956 3 ixs10 ,ixs20 ,ixs16 ,nrow(nf1),
3957 4 inloc ,nnmax ,icol(1,nf1),igeo ,elbuf_tab )
3964 CALL spmd_nrow(nrow,fr_nrow,iad_elem,n_fr)
3971 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
3979 ssize=iad_s(nspmd+1)-1
3980 rsize=iad_r(nspmd+1)-1
3983 1 iad_s ,iad_r ,nnmax ,icol ,nrow ,
3984 2 fr_nrow ,iad_elem ,fr_elem ,ssize ,rsize )
3987 nr2=iad_i2m(nspmd+1)-iad_i2m(1)
3990 nr=iad_i2m(ip+1)-iad_i2m(ip)
3992 jlt=iad_elem(1,ip+1)-iad_elem(1,ip)
3993 nft=iad_elem(1,ip)-1
3999 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
4001 IF (intab(nr,fr_i2m(iad_i2m(ip)),n))
THEN
4002 DO l=iad_i2m(ip),iad_i2m(ip+1)-1
4005 IF (
nl>0.AND.nn/=n)
THEN
4006 nrn =
max(nrow(nk),fr_nrow(nk))
4008 IF (nrn>
max(nrow(nk),fr_nrow(nk))) fr_nrow(nk)=nrn
4024 ALLOCATE(
iad_rl(n_fr+1),stat=ierror3)
4029 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
4030 IF (nrow(nk)<fr_nrow(nk))
THEN
4031 nr=fr_nrow(nk)-nrow(nk)
4035 IF (inloc(n)==0)
THEN
4047 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
4048 IF (nrow(nk)<fr_nrow(nk))
THEN
4059 ALLOCATE(
fr_icol(lr),stat=ierror2)
4061 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
4083!||
spmd_max_iv ../engine/source/mpi/
implicit/imp_spmd.f
4089 1 IADK ,JDIK ,NDOF ,IKC ,IDDL ,
4090 2 INLOC ,FR_ELEM ,IAD_ELEM ,NDDL )
4098#include "implicit_f.inc"
4102#include "com01_c.inc"
4103#include "com04_c.inc"
4104#include "impl1_c.inc"
4105#include "task_c.inc"
4109 INTEGER IADK(*) ,JDIK(*),IDDL(*),INLOC(*),NDOF(*)
4111 . ikc(*), fr_elem(*),iad_elem
4121 INTEGER I,J,N,NK,IP,L,IFIX,,IAD2,IJ,IND,N_FR,NB,
4122 . k,nd,nzzk,nj,nzz,iad,jad,
id,jd,idk,nc,idf,ikcfr(
nddlfr)
4123 INTEGER IIC(),IDDLM(NUMNOD),NDN(NSPMD),NZN(NSPMD)
4124 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ITAG
4133 n_fr = iad_elem(1,nspmd+1)-iad_elem(1,1)
4134 ALLOCATE(itag(n_fr))
4138 IF (nb>0) itag(nb) = itag(nb) + 1
4147 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
4152 ikcfr(
id+j)=ikc(idk+j)
4155 iad2 = iad2 +
nd_fr(ip)
4165 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
4171 iic(
id+j)=ikcfr(
id+iad2+j)
4172 IF (iic(
id+j)/=0) ifix=ifix+1
4178 stmp = stmp + s1*(ifix-ind)
4184 iad2 = iad2 +
nd_fr(ip)
4202 IF (ndn(nspmd)>0)
THEN
4212 iad = iad +
nd_fr(ip) + 1
4225 iad = iad +
nd_fr(ip) + 1
4233 iddlm(i)=iddl(i)-ifix
4236 IF (ikc(nd)/=0) ifix=ifix+1
4244 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
4250 IF (ikc(idk+j)<1)
THEN
4258 iad2 = iad2 +
nd_fr(ip)
4276 nc = iadk(ii+1)-iadk(ii)
4277 n=intab0(nc,jdik(iadk(ii)),ij)
4279 jfr2k(jd)=n+iadk(ii)-1
4281 write(*,*)
'index error in UPD_FR_K I>J',ij,ip,nc
4285 nc = iadk(ij+1)-iadk(ij)
4286 n=intab0(nc,jdik(iadk(ij)),ii)
4288 jfr2k(jd)=n+iadk(ij)-1
4290 write(*,*)
'index error in UPD_FR_K J>I',ii,ip,nc
4297 iad = iad +
nd_fr(ip) +1
4298 iad2 = iad2 +
nd_fr(ip)
4310 DO ip =ispmd+2,nspmd
4312 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
4317 IF (ikc(idk+j)>0) ifix=ifix+1
4322 IF (ikc(idk+j)<1)
THEN
4330 iad2 = iad2 +
nd_fr(ip)
4356#include "implicit_f.inc"
4360 INTEGER IDLFT0,IDLFT1,NDDL
4389#include "implicit_f.inc"
4393#include "com04_c.inc"
4397 INTEGER NKINE,INLOC(*)
4404 IF (nkine<=0)
RETURN
4406 ALLOCATE(
ikin2g(nkine),stat=ierror1)
4421!||====================================================================
4430#include "implicit_f.inc"
4434 INTEGER NKINE,ILOC(*),INK
4469#include "implicit_f.inc"
4473 INTEGER NKINE,ILOC(*),INK
4498 1 NROWK ,ICOK ,ICOKM ,NNMAX ,NKMAX ,
4499 2 NKINE ,INK ,IKPAT ,IDDL )
4507#include "implicit_f.inc"
4514 INTEGER NNMAX,NKMAX,NROWK(*),NKINE,INK,IKPAT
4515 INTEGER ICOK(NNMAX,*),ICOKM(NKMAX,*),IDDL(*)
4520 INTEGER I,J,N,K,NL,NK,NJ,NRB
4526 CALL reorder_j(nrowk(nk+ink),icokm(1,nk),j,iddl)
4531 CALL reorder_j(nrowk(nj),icok(1,nj),j,iddl)
4536 CALL reorder_l(nrowk(nk+ink),icokm(1,nk),j,iddl)
4541 CALL reorder_l(nrowk(nj),icok(1,nj),j,iddl)
4553 1 JLT ,NS_IMP ,NE_IMP ,IRECTS ,IRECTM ,
4554 2 ILOC ,N_IMPN ,NSN )
4558#include "implicit_f.inc"
4562 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECTS(2,*),IRECTM(2,*),
4563 . ILOC(*),N_IMPN,NSN
4568 INTEGER I,J,N,N1,N2,NE,IG,M1,M2
4577 IF (iloc(m1)==0)
THEN
4581 IF (iloc(m2)==0)
THEN
4605#include "implicit_f.inc"
4626 fsi(i) = fsi(i) + l_k*v(k)
4627 w(k) = w(k) + l_k*usi(i)
4633 w(id) = w(id) + diag_sl(i)*v(id)
4637 w(id) = w(id) + l_k*v(k)
4638 w(k) = w(k) + l_k*v(id)
4646!||--- called by ------------------------------------------------------
4659#include "implicit_f.inc"
4670 INTEGER I,J,K,ID,KK,II
4682 fsi(i) = fsi(i) + l_k*v(kk)
4683 w(kk) = w(kk) + l_k*usi(i)
4690 w(ii) = w(ii) + diag_sl(i)*v(ii)
4695 w(ii) = w(ii) + l_k*v(kk)
4696 w(kk) = w(kk) + l_k*v(ii)
4719 1 IPARI ,INTBUF_TAB,NUM_IMP ,NS_IMP ,NE_IMP ,
4720 2 IDDL ,IKC ,NDOF ,NSREM ,IND_IMP )
4728#include "implicit_f.inc"
4732#include "com04_c.inc"
4733#include "param_c.inc"
4737 INTEGER IPARI(NPARI,*),NUM_IMP(*),NS_IMP(*),
4738 . NE_IMP(*),NSREM,IND_IMP(*)
4739 INTEGER IDDL(*),IKC(*),NDOF(*)
4741 TYPE(intbuf_struct_) INTBUF_TAB(*)
4745 INTEGER NIN,NTY,NROW(NSREM)
4746 INTEGER I,J,K,L,NDOFI,N,IAD,INSV11,NRTS,
4747 . INSV,NSN,NKC,J1,ND,IER1,NNMAX
4748 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: ICOL
4758 IF(nty==5) iad=iad+num_imp(nin)
4767 ELSEIF(nty==7.OR.nty==10)
THEN
4769 CALL rowfr_dim(num_imp(nin),ns_imp(iad),ne_imp(iad),
4770 . intbuf_tab(nin)%IRECTM,nrow ,nsn ,nin )
4771 iad=iad+num_imp(nin)
4774 CALL rowfr_dim24(num_imp(nin),ns_imp(iad),ne_imp(iad),
4775 . intbuf_tab(nin)%IRECTM,nrow ,nsn ,nin ,
4776 . ind_imp ,intbuf_tab(nin)%NVOISIN)
4777 iad=iad+num_imp(nin)
4780 CALL rowfr_dim11(num_imp(nin),ns_imp(iad),ne_imp(iad),
4781 . intbuf_tab(nin)%IRECTM, nrow ,nrts ,nin )
4782 iad=iad+num_imp(nin)
4788 nnmax=
max(nnmax,nrow(n))
4791 ALLOCATE(icol(nnmax,nsrem),stat=ier1)
4796 IF(nty==5) iad=iad+num_imp(nin)
4805 ELSEIF(nty==7.OR.nty==10)
THEN
4807 CALL rowfr_ind(num_imp(nin),ns_imp(iad),ne_imp(iad),
4808 . intbuf_tab(nin)%IRECTM,nrow ,icol ,nnmax ,
4810 iad=iad+num_imp(nin)
4813 CALL rowfr_ind24(num_imp(nin),ns_imp(iad),ne_imp(iad),
4814 . intbuf_tab(nin)%IRECTM,nrow ,icol ,nnmax ,
4815 . nsn ,nin ,ind_imp ,intbuf_tab(nin)%NVOISIN)
4816 iad=iad+num_imp(nin)
4819 CALL rowfr_ind11(num_imp(nin),ns_imp(iad),ne_imp(iad),
4820 . intbuf_tab(nin)%IRECTM, nrow ,icol ,nnmax ,
4822 iad=iad+num_imp(nin)
4830 1 nsrem ,iddl ,ndof ,nrow ,icol ,
4845 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NROW ,
4854#include "implicit_f.inc"
4858 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NROW(*),NSN,NIN
4870 IF (irect(3,ne)==irect(4,ne))
THEN
4888 1 JLT ,NS_IMP ,NE_IMP ,IRECTM ,NROW ,
4897#include "implicit_f.inc"
4901 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECTM(2,*),NROW(*),NSN,NIN
4906 INTEGER I,NE,IG,NS1,NS2
4914 nrow(ns1)=nrow(ns1)+2
4915 nrow(ns2)=nrow(ns2)+2
4923!||--- called by ------------------------------------------------------
4931 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NROW ,
4932 2 ICOL ,NNMAX ,NSN ,NIN )
4940#include "implicit_f.inc"
4945 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NROW(*),
4946 . icol(nnmax,*),nsn,nin
4951 INTEGER I,J,NE,IG,NS,NM
4977 1 JLT ,NS_IMP ,NE_IMP ,IRECTM ,NROW ,
4978 2 ICOL ,NNMAX ,NSN ,NIN )
4986#include "implicit_f.inc"
4991 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECTM(2,*),NROW(*),
4992 . ICOL(NNMAX,*),NSN,NIN
4997 INTEGER I,NE,IG,NS1,NS2,NM1,NM2
5007 CALL reorder_a(nrow(ns1),icol(1,ns1),nm1)
5008 CALL reorder_a(nrow(ns1),icol(1,ns1),nm2)
5009 CALL reorder_a(nrow(ns2),icol(1,ns2),nm1)
5010 CALL reorder_a(nrow(ns2),icol(1,ns2),nm2)
5026 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NROW ,
5027 2 NSN ,NIN ,SUBTRIA ,NVOISIN )
5035#include "implicit_f.inc"
5039 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NROW(*),,NIN,
5040 + SUBTRIA(*),NVOISIN(8,*)
5045 INTEGER I,NE,IG,NS,IRTLM(4),NEI
5054 CALL i24msegv(ne,irtlm ,subtria(i),irect(1,nei),nvoisin(1,nei))
5056 irtlm(1:4) = irect(1:4,ne)
5058 IF (irtlm(3)==irtlm(4))
THEN
5079 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NROW ,
5080 2 ICOL ,NNMAX ,NSN ,NIN ,SUBTRIA ,
5089#include "implicit_f.inc"
5094 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NROW(*),
5095 . ICOL(NNMAX,*),NSN,NIN,SUBTRIA(*),NVOISIN(8,*)
5100 INTEGER I,J,NE,IG,NS,NM,IRTLM(4),NEI
5109 CALL i24msegv(ne,irtlm ,subtria(i),irect(1,nei),nvoisin(1,nei))
5111 irtlm(1:4) = irect(1:4,ne)
5132 1 NSREM ,IDDL ,NDOF ,NROW ,ICOL ,
5141#include "implicit_f.inc"
5147 . NSREM,IDDL(*),NDOF(*),NROW(*) ,ICOL(NNMAX,*)
5151 INTEGER I,J,K,L,N,NL,NJ,NDOFI,NZ
5152 INTEGER IER1,IER2,IER3,IER4,IER5,IER6
5156 ALLOCATE(
iddl_si(nsrem),stat=ier1)
5177 ALLOCATE(
jdi_si(nz),stat=ier3)
5178 IF(
ALLOCATED(lt_si))
DEALLOCATE(lt_si)
5179 ALLOCATE(lt_si(nz),stat=ier4)
5180 CALL zero1(lt_si,nz)
5206 ALLOCATE(
iad_sinr(nsrem+1),stat=ier5)
5231#include "implicit_f.inc"
5235 INTEGER N ,IC(*),IDDL(*)
5239 INTEGER I,,II,IT,IIC,IMIN
5274#include "implicit_f.inc"
5330 1 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
5331 2 IPARI ,INTBUF_TAB,NINT2 ,IINT2 ,IDDL ,
5332 3 IKC ,NDOF ,INLOC ,NSREM ,NSL ,
5333 4 NBINTC ,INTLIST ,X ,IBFV ,
5334 5 LJ ,SKEW ,XFRAME ,ISKEW ,ICODT ,
5335 6 A ,UD ,LB ,IFDIS ,URD ,
5336 7 IDDLI ,IRBE3 ,LRBE3 ,FRBE3 ,IRBE2 ,
5345#include "implicit_f.inc"
5349#include "com01_c.inc"
5350#include "com04_c.inc"
5351#include "param_c.inc"
5355 INTEGER IPARI(NPARI,*),NSREM ,NSL,NBINTC,INTLIST(*)
5356 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
5357 . nint2,iint2(*),iddl(*),ikc(*),ndof(*),inloc(*),
5358 . ibfv(*),lj(*),iskew(*),icodt(*),ifdis,iddli(*),
5359 . irbe3(*),lrbe3(*),irbe2(*),lrbe2(*)
5362 . x(3,*),ud(3,*),a(3,*),skew(*),xframe(*),
5363 . lb(*),urd(3,*),frbe3(*)
5364 TYPE(intbuf_struct_) INTBUF_TAB(*)
5368 INTEGER LSI,LSL,IDDLM(NUMNOD),ILOCP(NUMNOD)
5369 INTEGER I,J,K,L,N,NKC,J1,ND,LSG,
5370 . nf_sl(nsl),nf_si(nsrem),n_kine,
5371 . iad_sld(nspmd+1),iad_mld(nspmd+1),
5372 . isi ,isl,nfv,lvsi,lvsl,lfsi,lfsl
5373 . ier1,ier2,ier3,ier4,ier5,ier6,ier7,lsi0
5376 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IAD_M,IKCSI,IKCSL,
5378 my_real,
DIMENSION(:),
ALLOCATABLE :: KSI_FR,KSL_FR,
5390 iddlm(i)=iddl(i)-nkc
5393 IF (ikc(nd)/=0) nkc = nkc + 1
5397 CALL imp_frsn(ipari ,intbuf_tab ,nbintc,intlist)
5398 ALLOCATE(iad_m(nsl+1))
5404 CALL ini_frkc(nsrem ,nsl ,ikc ,ndof ,iddl)
5406 CALL dim_frkm(nsrem ,nsl ,lsi ,lsl )
5411 IF (ifdis>0) nfv = 0
5413 ALLOCATE(ksi_fr(9*lsi),stat=ier1)
5414 CALL ini_ksi(nsrem ,ksi_fr ,iddli )
5416 IF (lsl>0)
ALLOCATE(ksl_fr(9*lsl),stat=ier2)
5417 CALL scom_frk(ksi_fr,ksl_fr,lsi ,lsl)
5421 1 ipari ,intbuf_tab,nint2 ,iint2 ,
5422 2 npby ,lpby ,itab ,nrbyac ,irbyac ,
5423 3 x ,ibfv ,lj ,skew ,xframe ,
5424 4 iskew ,icodt ,ndof ,ilocp ,nsl ,
5425 5 iad_m ,irbe3 ,lrbe3 ,irbe2 ,lrbe2 )
5426 lsi = iad_m(nsl+1) -iad_m(1)
5429 IF(
ALLOCATED(ksi_fr))
DEALLOCATE(ksi_fr)
5430 ALLOCATE(ksi_fr(9*lsi),stat=ier3)
5432 1 ipari ,intbuf_tab,nint2 ,iint2 ,
5433 2 npby ,lpby ,itab ,nrbyac ,irbyac ,
5434 3 x ,ibfv ,lj ,skew ,xframe ,
5435 4 iskew ,icodt ,ilocp ,nsl ,iad_m ,
5436 5 iddl ,ikc ,ndof ,iddlm ,ud ,
5437 6 a ,lb ,kss ,ksl_fr ,ksi_fr ,
5438 7 irbe3 ,lrbe3 ,frbe3 ,irbe2 ,lrbe2
5443 1 ndof ,iddl ,ikc ,ilocp ,nfv )
5446 1 ndof ,iddl ,ikc ,ilocp ,nfv )
5447 ALLOCATE(udsl(3*nfv))
5450 1 kss ,iddl ,iddlm ,ikc ,nsl ,
5451 2 ud ,lb ,nfv ,udsl ,ilocp ,
5457 CALL dim_frkm1(nsrem,nsl ,iddl ,ikc ,ndof ,
5458 . nf_si,nf_sl,lsi ,lsl ,isi ,isl )
5461 IF(
ALLOCATED(ksl_fr))
DEALLOCATE(ksl_fr)
5462 ALLOCATE(ksl_fr(9*lsl),ikcsl(3*isl),stat=ier5)
5464 CALL tra_frkm(nsl ,iddl ,ikc ,ndof ,iad_m ,
5465 . ksi_fr,ksl_fr,ikcsl)
5466 IF(
ALLOCATED(ksi_fr))
DEALLOCATE(ksi_fr)
5467 IF (ifdis>0)
ALLOCATE(ifvsl(isl))
5470 IF(
ALLOCATED(ksi_fr))
DEALLOCATE(ksi_fr)
5471 ALLOCATE(ksi_fr(9*lsi),ikcsi(3*isi),stat=ier6)
5472 IF (ifdis>0)
ALLOCATE(ifvsi(isi))
5478 .
CALL scom_frk1(ksl_fr,ksi_fr,nf_sl,nf_si,ikcsl,ikcsi)
5479 IF(
ALLOCATED(ksl_fr))
DEALLOCATE(ksl_fr)
5482 CALL ini_frud(nsrem ,nsl ,nfv ,ifvsi ,ifvsl ,
5483 . nf_si ,nf_sl ,lvsi )
5484 IF (lvsi>0)
ALLOCATE(udsi(3*lvsi))
5485 CALL scom_frud(udsl,udsi,nf_sl,nf_si,ifvsl,ifvsi)
5488 1 iddl ,iddlm ,ikc ,ifvsi ,nf_si ,
5489 2 ksi_fr ,lb ,nsrem ,udsi
5490 IF(
ALLOCATED(udsi).AND.lvsi>0)
DEALLOCATE(udsi)
5492 IF(
ALLOCATED(udsl).AND.nfv>0)
DEALLOCATE(udsl)
5493 IF(
ALLOCATED(ifvsi).AND.isi>0)
DEALLOCATE(ifvsi)
5494 IF(
ALLOCATED(ifvsl).AND.isl>0)
DEALLOCATE(ifvsl)
5495 IF(
ALLOCATED(ikcsl).AND.isl>0)
DEALLOCATE(ikcsl)
5500 CALL imp_frks(nsl ,iddl ,ikc ,ndof ,iddlm,kss ,iad_sld )
5503 IF (ifdis>0) nfv = 0
5510 CALL tag_intml(nsrem ,ilocp ,n_kine ,iddl ,ikc ,ndof ,lsi)
5512 ALLOCATE(iad_m(n_kine+1))
5514 1 ipari ,intbuf_tab,nint2 ,iint2 ,
5515 2 npby ,lpby ,itab ,nrbyac ,irbyac ,
5516 3 x ,ibfv ,lj ,skew ,xframe ,
5517 4 iskew ,icodt ,ndof ,ilocp ,nsrem ,
5518 5 iddl ,ikc ,iad_m ,n_kine ,irbe3 ,
5519 6 lrbe3 ,irbe2 ,lrbe2 )
5521 lsl = iad_m(n_kine+1) -iad_m(1)
5522 ALLOCATE(ksl_fr(9*lsl),stat=ier7)
5524 1 ipari ,intbuf_tab,nint2 ,iint2 ,
5525 2 npby ,lpby ,itab ,nrbyac ,irbyac ,
5526 3 x ,ibfv ,lj ,skew ,xframe ,
5527 4 iskew ,icodt ,ilocp ,n_kine ,iad_m ,
5528 5 iddl ,ikc ,ndof ,iddlm ,ud ,
5529 6 a ,ksl_fr ,ksi_fr ,nsrem ,nf_si ,
5530 7 iddli ,irbe3 ,lrbe3 ,frbe3 ,irbe2 ,
5534 1 ndof ,iddl ,ikc ,ilocp ,nfv )
5537 1 ndof ,iddl ,ikc ,ilocp ,nfv )
5539 DO j =1,
max(1,nf_si(i))
5543 ALLOCATE(fdsi(3*lfsi))
5546 1 ksi_fr ,ksl_fr ,iddl ,ndof ,ikc ,
5547 2 ilocp ,iad_m ,nsrem ,n_kine ,ud ,
5548 3 fdsi ,nf_si ,nfv ,lfsi ,iddli )
5552 lsi = lsi + isi + lsi0
5555 1 nsrem ,lsi ,ikcsi ,ikc ,ndof ,
5556 2 iddl ,iddlm ,ilocp ,iad_m ,ksi_fr ,
5557 3 ksl_fr ,nf_si ,iad_mld ,iddli )
5559 IF(
ALLOCATED(iad_m))
DEALLOCATE(iad_m)
5560 IF(
ALLOCATED(ksi_fr))
DEALLOCATE(ksi_fr)
5561 IF(
ALLOCATED(ksl_fr))
DEALLOCATE(ksl_fr)
5562 IF (ifdis>0)
CALL ini_frfd(nsrem ,nfv ,ikcsi,nf_si ,fdsi )
5563 CALL cp_iadd(nsl ,nsrem,iad_sld ,iad_mld)
5566 IF(
ALLOCATED(ikcsi).AND.isi>0)
DEALLOCATE(ikcsi)
5567 IF(
ALLOCATED(fdsi).AND.lfsi>0)
DEALLOCATE(fdsi)
5575!||--- calls -----------------------------------------------------
5588#include "implicit_f.inc"
5592 INTEGER NSREM ,NSL ,IKC(*) ,NDOF(*) ,IDDL(*)
5597 INTEGER I,J,N,ID,NDD,IERROR1,IERROR2
5600 ALLOCATE(
ikc_sl(nsl),stat=ierror1)
5602 ALLOCATE(
ikc_si(nsrem),stat=ierror2
5607 DO j = 1 ,
min(3,ndof(n))
5608 ndd = ndd + ikc(id+j)
5610 IF (ndof(n)==0) ndd = 21
5638#include "implicit_f.inc"
5642 INTEGER NSREM ,NSL ,SSIZE,RSIZE
5655 ssize = ssize +
ikc_si(i)
5684#include "implicit_f.inc"
5688 INTEGER NSREM ,IDDL(*)
5695 INTEGER I,J,ID,JD,NM,ND,IAD
5707 1 ksi(1,iad),nd ,nd )
5742 1 IPARI ,INTBUF_TAB,NINT2 ,IINT2 ,
5743 2 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
5744 3 X ,IBFV ,LJ ,SKEW ,XFRAME ,
5745 4 ISKEW ,ICODT ,INLOC ,NSL ,IAD_M ,
5746 5 IDDL ,IKC ,NDOF ,IDDLM ,UD ,
5747 6 A ,B ,KSS ,KSL_FR ,KSI_FR ,
5748 7 IRBE3 ,LRBE3 ,FRBE3 ,IRBE2 ,LRBE2 )
5759#include "implicit_f.inc"
5763#include "param_c.inc"
5764#include "tabsiz_c.inc"
5768 INTEGER IBFV(NIFV,*),IPARI(NPARI,*),NSL,IAD_M(*)
5769 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
5770 . nint2,iint2(*),iddl(*),ikc(*),ndof(*),inloc(*),
5771 . lj(*),iskew(*),icodt(*),iddlm(*),irbe3(nrbe3l,*),
5772 . lrbe3(*),irbe2(nrbe2l,*),lrbe2(*)
5775 . x(3,*),skew(lskew,*),xframe(*),frbe3(*)
5777 . ud(3,*),a(3,*),b(*) ,kss(6,*),ksl_fr(9,*) ,ksi_fr(9,*)
5778 TYPE(intbuf_struct_) INTBUF_TAB(*)
5782 INTEGER I,J,N,K,M,NS,NI,NSN,ILEV,IAD_M1(NSL+1),IS,
5783 . ji,l,nnod,nj,nd,
nl,isk,ifm,j1,nm,
id,iad0,iad,iads,
5784 . i1,ict,ifss,ifsm,idm(4),nr,jt(3),jr(3),irot,
5785 . idlm(slrbe3/2),iadr,nn,irad,ic,eid
5787 . ej(3),ksm(9),knm(9,4),krm(9,4)
5790 .
DIMENSION(:),
ALLOCATABLE :: knm3,krm3
5801 iad_m1(n+1) = iad_m1(n)+
nl
5809 l=intbuf_tab(n)%IRTLM(ni)
5811 IF (intbuf_tab(n)%IRECTM(
nl+3)==intbuf_tab(n)%IRECTM(
nl+
THEN
5819 IF (
isl(is)==ns)
THEN
5822 nj=intbuf_tab(n)%IRECTM(
nl+k)
5825 idm(k) =
iddl_sl(iad_m1(is)+j-1)
5830 CALL i2_frk1(intbuf_tab(n)%IRECTM,intbuf_tab(n)%DPARA,x ,itab ,
5831 . intbuf_tab(n)%NSV,
5832 1 intbuf_tab(n)%IRTLM,ikc ,ndof ,iddl ,iddlm,
5834 3 kss(1,is),ksm ,knm ,krm ,ni ,
5837 CALL i2_frk0(intbuf_tab(n)%IRECTM,intbuf_tab(n)%CSTS,x ,itab ,
5838 . intbuf_tab(n)%NSV,
5839 1 intbuf_tab(n)%IRTLM,ikc ,ndof ,iddl ,iddlm,
5841 3 kss(1,is),ksm ,knm ,krm ,ni ,
5858 IF (
isl(is)==ns)
THEN
5862 idm(1) =
iddl_sl(iad_m1(is)+j-1)
5866 CALL rbe2_frk(ns ,m ,x ,isk ,skew(1,isk) ,
5867 1 irad ,ndof ,iddl ,jt ,jr ,
5869 3 a ,kss(1,is),ksm ,knm ,krm ,
5870 4 idm(1),ifss,ifsm )
5886 IF (
isl(is)==ns)
THEN
5892 idlm(k) =
iddl_sl(iad_m1(is)+j-1)
5896 CALL rbe3_fr0(ns ,nnod ,lrbe3(iad+1) ,x ,irot ,
5897 2 jt ,jr ,frbe3(6*iad+1) ,skew ,ikc ,
5899 2 kss(1,is),ksm ,knm ,krm ,idlm ,
5900 3 ifss ,ifsm ,itab ,lrbe3(iads+1),eid)
5909 IF (
isl(is)==ns)
THEN
5913 idm(1) =
iddl_sl(iad_m1(is)+j-1)
5916 CALL rby_frk(ns ,m ,x ,itab ,ikc ,
5918 2 diag_sl,lt_sl ,b ,a ,kss(1,is),
5919 3 ksm ,knm ,krm ,idm(1),ifss,ifsm )
5929 IF (
isl(is)==n)
THEN
5933 idm(1) =
iddl_sl(iad_m1(is)+j-1)
5937 CALL bcl_frk(n ,iddl ,iddlm ,ict ,isk ,
5939 2 lt_sl ,b ,a ,kss(1,is),ksm ,
5940 3 idm(1) ,ifss ,ifsm )
5951 IF (
isl(is)==i)
THEN
5955 idm(1) =
iddl_sl(iad_m1(is)+j-1)
5961 ej(2)=skew_spc(iad+1)
5962 ej(3)=skew_spc(iad+2)
5964 CALL bc_updfr(i ,iddl ,ej ,j ,iddlm ,
5966 2 b ,a ,kss(1,is),ksm ,idm(1),
5969 CALL bc_updfr2(i ,iddl ,skew_spc(iad),skew_spc
5971 2 b ,a ,kss(1,is),ksm ,idm(1),
5984 IF (
isl(is)==n)
THEN
5988 idm(1) =
iddl_sl(iad_m1(is)+j-1)
5992 CALL fvl_frk(j1 ,i ,ibfv ,skew ,xframe,
5994 2 diag_sl ,lt_sl ,ud ,b ,a ,
5995 3 kss(1,is),ksm ,idm(1) ,ifss ,ifsm )
6009 IF (
isl(is)==n)
THEN
6013 idm(1) =
iddl_sl(iad_m1(is)+j-1)
6017 CALL fv_updfr(n ,ej ,j1 ,iddl ,iddlm ,
6019 2 ud ,b ,a ,kss(1,is),ksm ,
6020 3 idm(1) ,ifss ,ifsm)
6029 iad_m1(n+1) = iad_m1(n)+
ikc_sl(n)
6036 CALL cp_real(9,ksl_fr(1,iad),ksm)
6038 1 j ,
ikc_sl(i),ndof ,iad )
6039 IF (iad>0)
CALL cp_real(9,ksm,ksi_fr(1,iad))
6048 l=intbuf_tab(n)%IRTLM(ni)
6050 IF (intbuf_tab(n)%IRECTM(
nl+3)==intbuf_tab(n)%IRECTM(
nl+4))
THEN
6058 IF (
isl(is)==ns)
THEN
6061 IF (inloc(ns)>nsl)
THEN
6063 1 j ,
ikc_sl(is),ndof ,iad )
6064 CALL cp_real(9,ksi_fr(1,iad),ksm)
6067 CALL cp_real(9,ksl_fr(1,iad),ksm)
6070 CALL i2_frk1(intbuf_tab(n)%IRECTM,intbuf_tab(n)%DPARA,x ,itab ,
6071 . intbuf_tab(n)%NSV,
6072 1 intbuf_tab(n)%IRTLM,ikc ,ndof ,iddl ,iddlm,
6074 3 kss(1,is),ksm ,knm ,krm ,ni ,
6077 CALL i2_frk0(intbuf_tab(n)%IRECTM,intbuf_tab(n)%CSTS,x ,itab ,
6078 . intbuf_tab(n)%NSV,
6079 1 intbuf_tab(n)%IRTLM,ikc ,ndof ,iddl ,iddlm,
6081 3 kss(1,is),ksm ,knm ,krm ,ni ,
6085 nj=intbuf_tab(n)%IRECTM(
nl+k)
6087 1 j ,
ikc_sl(is),ndof ,iad )
6088 CALL cp_real(9,knm(1,k),ksi_fr(1,iad))
6089 IF (ndof(nj)==6)
CALL cp_real(9,krm(1,k),ksi_fr(1,iad+1))
6106 IF (
isl(is)==ns)
THEN
6109 IF (inloc(ns)>nsl)
THEN
6111 1 j ,
ikc_sl(is),ndof ,iad )
6112 CALL cp_real(9,ksi_fr(1,iad),ksm)
6115 CALL cp_real(9,ksl_fr(1,iad),ksm)
6118 CALL rbe2_frk(ns ,m ,x ,isk ,skew(1,isk) ,
6119 1 irad ,ndof ,iddl ,jt ,jr ,
6121 3 a ,kss(1,is),ksm ,knm ,krm ,
6122 4 idm(1),ifss,ifsm )
6124 1 j ,
ikc_sl(is),ndof ,iad )
6125 CALL cp_real(9,knm,ksi_fr(1,iad))
6126 CALL cp_real(9,krm,ksi_fr(1,iad+1))
6139 iads = slrbe3/2+iadr
6141 ALLOCATE(knm3(9*nnod))
6142 IF (irot>0)
ALLOCATE(krm3(9*nnod))
6145 IF (
isl(is)==ns)
THEN
6148 IF (inloc(ns)>nsl)
THEN
6150 1 j ,
ikc_sl(is),ndof ,iad )
6151 CALL cp_real(9,ksi_fr(1,iad),ksm)
6154 CALL cp_real(9,ksl_fr(1,iad),ksm)
6156 CALL rbe3_fr0(ns ,nnod ,lrbe3(iadr+1) ,x ,irot ,
6157 2 jt ,jr ,frbe3(6*iadr+1) ,skew ,ikc ,
6159 2 kss(1,is),ksm ,knm3 ,krm3 ,idlm ,
6160 3 ifss ,ifsm ,itab ,lrbe3(iads+1),eid)
6164 1 j ,
ikc_sl(is),ndof ,iad )
6167 IF (irot>0.AND.ndof(nj)==6)
6168 +
CALL cp_real(9,krm3(
id),ksi_fr(1,iad+1))
6174 IF (irot>0)
DEALLOCATE(krm3)
6181 IF (
isl(is)==ns)
THEN
6184 IF (inloc(ns)>nsl)
THEN
6186 1 j ,
ikc_sl(is),ndof ,iad )
6190 CALL cp_real(9,ksl_fr(1,iad),ksm)
6192 CALL rby_frk(ns ,m ,x ,itab ,ikc ,
6194 2 diag_sl,lt_sl ,b ,a ,kss(1,is),
6195 3 ksm ,knm ,krm ,idm(1),ifss,ifsm )
6197 1 j ,
ikc_sl(is),ndof ,iad )
6198 CALL cp_real(9,knm,ksi_fr(1,iad))
6199 CALL cp_real(9,krm,ksi_fr(1,iad+1))
6210 IF (
isl(is)==n)
THEN
6212 IF (inloc(n)>nsl)
THEN
6214 1 j ,
ikc_sl(is),ndof ,iad )
6215 CALL cp_real(9,ksi_fr(1,iad),ksm)
6218 CALL cp_real(9,ksl_fr(1,iad),ksm)
6220 CALL bcl_frk(n ,iddl ,iddlm ,ict ,isk ,
6222 2 lt_sl ,b ,a ,kss(1,is),ksm ,
6223 3 idm(1) ,ifss ,ifsm )
6224 IF (inloc(n)<=nsl)
THEN
6226 1 j ,
ikc_sl(is),ndof ,iad )
6228 CALL cp_real(9,ksm,ksi_fr(1,iad))
6240 IF (
isl(is)==i)
THEN
6242 IF (inloc(i)>nsl)
THEN
6244 1 j ,
ikc_sl(is),ndof ,iad )
6245 CALL cp_real(9,ksi_fr(1,iad),ksm)
6248 CALL cp_real(9,ksl_fr(1,iad),ksm)
6251 ej(1)=skew_spc(iadr)
6252 ej(2)=skew_spc(iadr+1)
6253 ej(3)=skew_spc(iadr+2)
6255 CALL bc_updfr(i ,iddl ,ej ,ji ,iddlm ,
6257 2 b ,a ,kss(1,is),ksm ,idm(1),
6260 CALL bc_updfr2(i ,iddl ,skew_spc(iadr),skew_spc(iadr+3),
6262 2 b ,a ,kss(1,is),ksm ,idm(1),
6265 IF (inloc(i)<=nsl)
THEN
6267 1 j ,
ikc_sl(is),ndof ,iad )
6269 CALL cp_real(9,ksm,ksi_fr(1,iad))
6281 IF (
isl(is)==n)
THEN
6283 IF (inloc(n)>nsl)
THEN
6285 1 j ,
ikc_sl(is),ndof ,iad )
6286 CALL cp_real(9,ksi_fr(1,iad),ksm)
6289 CALL cp_real(9,ksl_fr(1,iad),ksm)
6291 CALL fvl_frk(j1 ,i ,ibfv ,skew ,xframe,
6293 2 diag_sl ,lt_sl ,ud ,b ,a ,
6294 3 kss(1,is),ksm ,idm ,ifss ,ifsm )
6295 IF (inloc(n)<=nsl)
THEN
6297 1 j ,
ikc_sl(is),ndof ,iad )
6299 CALL cp_real(9,ksm,ksi_fr(1,iad))
6314 IF (
isl(is)==n)
THEN
6316 IF (inloc(n)>nsl)
THEN
6318 1 j ,
ikc_sl(is),ndof ,iad )
6319 CALL cp_real(9,ksi_fr(1,iad),ksm)
6322 CALL cp_real(9,ksl_fr(1,iad),ksm)
6324 CALL fv_updfr(n ,ej ,j1 ,iddl ,iddlm ,
6326 2 ud ,b ,a ,kss(1,is),ksm ,
6327 3 idm(1) ,ifss ,ifsm)
6328 IF (inloc(n)<=nsl)
THEN
6330 1 j ,
ikc_sl(is),ndof ,iad )
6332 CALL cp_real(9,ksm,ksi_fr(1,iad))
6357#include "implicit_f.inc"
6361#include "mvsiz_p.inc"
6362#include "param_c.inc"
6369 . k_diag(*) ,k_lt(*) ,kss(6,*)
6373 INTEGER I, JLT , NFT ,ND ,J,N0,,IS
6375 . k11(3,3,mvsiz),off(mvsiz)
6379 jlt =
min( nvsiz, nsl - nft )
6384 jlt_new = jlt_new + 1
6386 k11(j,j,jlt_new) = kss(j,is)
6388 k11(1,2,jlt_new) = kss(4,is)
6389 k11(1,3,jlt_new) = kss(5,is)
6390 k11(2,3,jlt_new) = kss(6,is)
6395 CALL assem_kii(
isl(nft+1),jlt,iddl,iadk,k_diag,k_lt,k11,nd,off)
6411#include "implicit_f.inc"
6416 INTEGER ID,JD,IADK(*),JDIK(*)
6419 . k_lt(*) ,kij(nd,nd)
6423 INTEGER I,,K,JDL,L,JJ
6427 DO jj = iadk(id+k),iadk(id+1+k)-1
6429 IF (jdik(jj)==(jd+1))
THEN
6437 k_lt(jdl+l) = k_lt(jdl+l) + kij(k,l)
6459#include "implicit_f.inc"
6464 INTEGER ID,JD,IADK(*),JDIK(*)
6471 INTEGER I,J,K,JDL,L,JJ
6475 DO jj = iadk(id+k),iadk(id+1+k)-1
6477 IF (jdik(jj)==(jd+1))
THEN
6485 kij(k,l) = k_lt(jdl+l)
6502#include "implicit_f.inc"
6507 INTEGER ID,JD,IADK(*),JDIK(*)
6510 . k_lt(*) ,kij(nk,nl)
6514 INTEGER I,J,K,JDL,L,JJ
6518 DO jj = iadk(id+k),iadk(id+1+k)-1
6520 IF (jdik(jj)==(jd+1))
THEN
6527 k_lt(jdl+l) = kij(k,l)
6548 1 IPARI ,INTBUF_TAB,NINT2 ,IINT2 ,
6549 2 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
6550 3 X ,IBFV ,LJ ,SKEW ,XFRAME ,
6551 4 ISKEW ,ICODT ,NDOF ,ILOCP ,NSL ,
6552 5 IAD_M ,IRBE3 ,LRBE3 ,IRBE2 ,LRBE2 )
6560#include "implicit_f.inc"
6564#include "com04_c.inc"
6565#include
"param_c.inc"
6569 INTEGER IPARI(NPARI,*),NSL
6570 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
6571 . NINT2,IINT2(*),ILOCP(*),NDOF(*) ,
6572 . IBFV(*),LJ(*),ISKEW(*),ICODT(*),IAD_M(*),
6573 . irbe3(*),lrbe3(*),irbe2(*),lrbe2(*)
6576 . x(3,*),skew(*),xframe(*)
6577 TYPE(intbuf_struct_) INTBUF_TAB(*)
6581 INTEGER LNS,LNS2,NNMAX,NZ,LNS3,LNS4
6582 INTEGER I,J,K,L,N_KINE,IA2(NINT2),IA(NRBYAC),NRS()
6583 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: ICOL
6596 1 npby ,lpby ,itab ,nrbyac ,irbyac ,
6597 2 nint2 ,iint2 ,ipari ,intbuf_tab,ilocp ,
6598 3 ia ,ia2 ,nrs ,lns ,lns2 ,
6599 4 nsl ,irbe3 ,lrbe3 ,lns3 ,irbe2 ,
6604 nnmax=
max(nnmax,nrs(i))
6607 ALLOCATE(icol(nnmax,nsl))
6609 1 npby ,lpby ,itab ,nrbyac ,irbyac ,
6610 2 nint2 ,iint2 ,ipari ,intbuf_tab,ilocp ,
6611 3 ia ,ia2 ,lns ,lns2 ,nsl ,
6612 4 ibfv ,lj ,iskew ,icodt ,nrs ,
6613 5 icol ,nnmax ,irbe3 ,lrbe3 ,lns3 ,
6614 6 irbe2 ,lrbe2 ,lns4 )
6616 CALL doub_nrs(nsl ,nnmax ,nrs ,icol ,ilocp )
6623 CALL ini_slnr(nsl ,nnmax ,nrs ,icol ,nz ,
6646#include "implicit_f.inc"
6650 INTEGER ,NNMAX ,(*),ILOCP(*)
6651 INTEGER ICOL(NNMAX,*)
6663 IF (nrs(i)<nrs(k))
THEN
6664 CALL cp_int(nrs(k),icol(1,k),icol(1,i))
6688#include "implicit_f.inc"
6692 INTEGER NSL,NZ,NNMAX ,NRS(*),NDOF(*),(*)
6693 INTEGER ICOL(NNMAX,*)
6720 DO j=1,
max(1,nrs(n))
6725 IF (ndof(nj)==6) nz = nz+
ikc_sl(n)
6743 1 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
6744 2 NINT2 ,IINT2 ,IPARI ,INTBUF_TAB,INLOC ,
6745 3 IA ,IA2 ,NRS ,LNS ,LNS2 ,
6746 4 N_KINE ,IRBE3 ,LRBE3 ,LNS3 ,IRBE2 ,
6755#include "implicit_f.inc"
6759#include "com04_c.inc"
6760#include "param_c.inc"
6765 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
6766 . NINT2,IINT2(*),IPARI(NPARI,*),
6767 . IRBE3(NRBE3L,*),LRBE3(*) ,LNS3 ,
6768 . IRBE2(NRBE2L,*),LRBE2(*) ,LNS4
6770 . INLOC(*),NRS(*),LNS ,LNS2,N_KINE,IA(*),IA2(*)
6772 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
6777 . i,j,k,n,l,
nl,nj,ni,j1,m,nsn,n1,n2,nk,
id,
6788 ni=intbuf_tab(n)%NSV(i)
6789 IF (inloc(ni)>0)
THEN
6790 l=intbuf_tab(n)%IRTLM(ni)
6792 IF (intbuf_tab(n)%IRECTM(
nl+3)==intbuf_tab(n)%IRECTM(
nl+4))
THEN
6798 IF (nk>n_kine ) nk = nk - n_kine
6799 nrs(nk) = nrs(nk)+nnod
6804 nj=intbuf_tab(n)%IRECTM(
nl+k)
6805 IF (inloc(nj)==0) inloc(nj) = n_kine + inloc(ni)
6818 IF (inloc(ni)>0)
THEN
6820 IF (nk>n_kine ) nk = nk - n_kine
6821 nrs(nk) = nrs(nk)+nnod
6826 IF (inloc(nj)==0) inloc(nj) = n_kine + inloc(ni)
6843 IF (nk>n_kine) nk = inloc(ni)-n_kine
6848 IF (inloc(m)==0) inloc(m) = n_kine + inloc(ni)
6862 IF (nk>n_kine) nk = inloc(ni)-n_kine
6866 IF (inloc(m)==0) inloc(m) = n_kine + inloc(ni)
6884!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.f90
6887 1 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
6888 2 NINT2 ,IINT2 ,IPARI ,INTBUF_TAB,INLOC ,
6889 3 IA ,IA2 ,NSS ,NSS2 ,N_KINE ,
6890 4 IBFV ,LJ ,ISKEW ,ICODT ,NRS ,
6891 5 ICOL ,NNMAX ,IRBE3 ,LRBE3 ,LNS3 ,
6892 6 IRBE2 ,LRBE2 ,LNS4 )
6903#include "implicit_f.inc"
6907#include "com04_c.inc"
6908#include "param_c.inc"
6913 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
6914 . NINT2,IINT2(*),IPARI(NPARI,*),ISKEW(*),ICODT(*)
6916 . INLOC(*),NSS,NSS2,N_KINE,IBFV(NIFV,*),LJ(*),ICOL(NNMAX,*),
6917 . ia(*),ia2(*),nrs(*),irbe3(nrbe3l,*),lrbe3(*),lns3 ,
6918 . irbe2(nrbe2l,*),lrbe2(*),lns4
6920 TYPE(intbuf_struct_) INTBUF_TAB(*)
6925 . i,j,k,n,l,
nl,nj,ni,j1,m,nsn,n1,n2,nk,
id,
6927 . ierror1,ierror2,ierror3,ierror4,ierror5,ierror6,ierror7
6933 ALLOCATE(
ifrs2(2,nss2),stat=ierror1)
6940 ni=intbuf_tab(n)%NSV(i)
6942 IF (nk>n_kine) nk =nk-n_kine
6944 l=intbuf_tab(n)%IRTLM(ni)
6947 nj=intbuf_tab(n)%IRECTM(
nl+k)
6963 ALLOCATE(
ifrs4(2,lns4),stat=ierror2)
6967 IF (inloc(m)>0)
THEN
6973 IF (nk>n_kine) nk = inloc(ni)-n_kine
6989 ALLOCATE(
ifrs3(lns3),stat=ierror1)
6995 IF (inloc(ni)>0)
THEN
6997 IF (nk>n_kine) nk =nk-n_kine
7012 ALLOCATE(
ifrsr(2,nss),stat=ierror2)
7018 IF (inloc(m)>0)
THEN
7024 IF (nk>n_kine) nk = inloc(ni)-n_kine
7039 IF (iskew(n)>1.AND.icodt(n)/=7)
THEN
7048 IF (iskew(n)>1.AND.icodt(n)/=7)
THEN
7049 IF (inloc(n)>0)
THEN
7070 IF (inloc(n)>0.AND.
ic_spc(n)<=3)
THEN
7079 IF (lj(j)>0.AND.lj(j)<=3)
THEN
7089 IF (lj(j)>0.AND.lj(j)
THEN
7091 IF (inloc(n)>0)
THEN
7112 IF (inloc(n)>0)
THEN
7132 1 J ,NRJ ,NDOF ,IAD )
7136#include "implicit_f.inc"
7140 INTEGER IAD_M(*),IAD_S(*),JDI_S(*),NM ,NS,J,IAD,NRJ ,NDOF(*)
7145 INTEGER I,K,NR,L,IS,NK,NZ,NJ,I0,ID
7147 nr =iad_s(is+1)-iad_s(is)
7149 nk =(iad_m(is+1)-iad_m(is))/nrj
7151 IF (nm>0.AND.nr>0)
THEN
7153 CALL intabfr(nr,jdi_s(i0),nm,id)
7158 IF (ndof(nj)==6)
THEN
7183#include "implicit_f.inc"
7192 IF (i==0.OR.(i>=2.AND.i<=4).OR.i==9)
THEN
7200!||====================================================================
7211 . NF_SI,NF_SL,LSI ,LSL ,MSI,MSL)
7219#include "implicit_f.inc"
7223 INTEGER NSREM ,NSL ,LSI,LSL ,NF_SL(*),NF_SI(*),
7224 . iddl(*) ,ikc(*) ,ndof(*) ,msi,msl
7234 INTEGER I,J,N,ID,NFAC,NJ
7240 IF (ndof(n)==0.OR.(ikc(id+1)/=0.AND.ikc(id+2)/=0
7241 . .AND.ikc(id+3)/=0))
THEN
7246 IF (ikincf(ikc(id+1)).OR.ikincf(ikc(id+2)).OR.
7247 . ikincf(ikc(id+3)))
7249 IF (ndof(nj)==6)
THEN
7250 IF (ikincf(ikc(id+4)).OR.ikincf(ikc(id+5)).OR.
7251 . ikincf(ikc(id+6)))
7272 msl = msl + nf_sl(i)
7273 lsl = lsl +
ikc_sl(i)*nf_sl(i)
7281 msi = msi + nf_si(i)
7282 lsi = lsi +
ikc_si(i)*nf_si(i)
7307#include "implicit_f.inc"
7311 INTEGER NSL,IDDL(*),IKC(*),NDOF(*),IAD_M(*),IKCSL(3,*)
7323 INTEGER I,J,K,N,ID,IADI,IADL,SIZE,NJ,NB,IDM,NKC
7333 IF (ndof(n)==0.OR.(ikc(id+1)/=0.AND.ikc(id+2)/=0
7334 . .AND.ikc(id+3)/=0))
THEN
7344 IF (nodof.AND.(ikincf(ikc(id+1)).OR.ikincf(ikc(id+2)).OR.
7345 . ikincf(ikc(id+3))))
THEN
7346 CALL cp_real(
SIZE,ksi(1,iadi),ksl(1,iadl))
7350 IF (ndof(nj)==6)
THEN
7351 IF (nodof.AND.(ikincf(ikc(id+4)).OR.ikincf(ikc(id+5)).OR.
7352 . ikincf(ikc(id+6))))
THEN
7353 CALL cp_real(
SIZE,ksi(1,iadi),ksl(1,iadl))
7363 CALL cp_real(nb,ksi(1,iadi),ksl(1,iadl))
7368 CALL cp_real(nb,ksi(1,iadi),ksl(1,iadl))
7386 IF (ikincf(ikc(id+1)).OR.ikincf(ikc(id+2)).OR.
7387 . ikincf(ikc(id+3)))
THEN
7389 ikcsl(k,iadi) = ikc(id+k)
7393 IF (ndof(nj)==6)
THEN
7394 IF (ikincf(ikc(id+4)).OR.ikincf(ikc(id+5)).OR.
7395 . ikincf(ikc(id+6)))
THEN
7397 ikcsl(k,iadi) = ikc(id+k+3)
7406 IF (ikincf(ikc(id+1)).OR.ikincf(ikc(id+2)).OR.
7407 . ikincf(ikc(id+3)))
THEN
7409 ikcsl(k,iadi) = ikc(id+k)
7431 1 IPARI ,INTBUF_TAB,NINT2 ,IINT2 ,
7432 2 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
7433 3 X ,IBFV ,LJ ,SKEW ,XFRAME ,
7434 4 ISKEW ,ICODT ,NDOF ,ILOCP ,NSREM ,
7435 5 IDDL ,IKC ,IAD_M ,NML ,IRBE3 ,
7436 6 LRBE3 ,IRBE2 ,LRBE2 )
7444#include
"implicit_f.inc"
7448#include "param_c.inc"
7452 INTEGER IBFV(NIFV,*),IPARI(,*),NSREM,NML
7453 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
7454 . NINT2,IINT2(*),ILOCP(*),NDOF(*) ,IDDL(*) ,IKC(*),
7455 . LJ(*),ISKEW(*),ICODT(*),IAD_M(*),IRBE3(*),LRBE3(*),
7459 . X(3,*),SKEW(*),XFRAME(*)
7460 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
7464 INTEGER LNS,LNS2,NNMAX,NZ,LNS3,LNS4
7465 INTEGER I,J,K,L,N_KINE,IA2(NINT2),IA(NRBYAC)
7466 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ICOL,NRS
7474 1 npby ,lpby ,itab ,nrbyac ,irbyac ,
7475 2 nint2 ,iint2 ,ipari ,intbuf_tab,ilocp ,
7476 3 ia ,ia2 ,nrs ,lns ,lns2 ,
7477 4 nml ,irbe3 ,lrbe3 ,lns3 ,irbe2 ,
7482 nnmax=
max(nnmax,nrs(i))
7485 ALLOCATE(icol(nnmax*nml))
7488 1 npby ,lpby ,itab ,nrbyac ,irbyac ,
7489 2 nint2 ,iint2 ,ipari ,intbuf_tab,ilocp ,
7490 3 ia ,ia2 ,lns ,lns2 ,nml ,
7491 4 ibfv ,lj ,iskew ,icodt ,nrs ,
7492 5 icol ,nnmax ,irbe3 ,lrbe3 ,lns3 ,
7493 6 irbe2 ,lrbe2 ,lns4 )
7501 CALL ini_slnr(nml ,nnmax ,nrs ,icol ,nz ,
7508!||====================================================================
7524#include "implicit_f.inc"
7528 INTEGER NSREM,ILOC(*),N_IMPN,IDDL(*) ,IKC(*) ,NDOF(*) ,LSI
7533 INTEGER I,J,N,,NM,NDD,ID,IER1,IER2
7538 IF (iloc(ig)==0)
THEN
7546 IF(
ALLOCATED(
iml))
DEALLOCATE(
iml)
7547 ALLOCATE(
iml(
nml),stat=ier1)
7563 DO j = 1 ,
min(3,ndof(n))
7564 ndd = ndd + ikc(id+j)
7566 IF (ndof(n)==0.OR.ndd>0) ndd = nsrem
7590#include "implicit_f.inc"
7594#include "com01_c.inc"
7598 INTEGER SSIZE ,RSIZE
7600 . KS11(9,*),KR11(9,*)
7604 INTEGER I,J,SIZE,IAD_S(NSPMD+1),IAD_R(NSPMD+1)
7612 iad_s(i+1) = iad_s(i)
7613 iad_r(i+1) = iad_r(i)
7615 iad_s(i+1) = iad_s(i+1) +
ikc_si(j)
7618 iad_r(i+1) = iad_r(i+1) +
ikc_sl(j)
7622 CALL spmd_exck(ks11,kr11,iad_s,iad_r,
SIZE ,ssize,rsize)
7644#include "implicit_f.inc"
7648#include "com01_c.inc"
7652 INTEGER NFACS(*),NFACR(*),IKCS(3,*),IKCR(3,*)
7654 . ks11(9,*),kr11(9,*)
7658 INTEGER I,J,SSIZE,RSIZE,SIZE,IAD_S(NSPMD+1),IAD_R(NSPMD+1)
7665 iad_s(i+1) = iad_s(i)
7666 iad_r(i+1) = iad_r(i)
7668 iad_s(i+1) = iad_s(i+1) + nfacs(j)
7671 iad_r(i+1) = iad_r(i+1) + nfacr(j)
7676 ssize = iad_s(nspmd+1) - 1
7677 rsize = iad_r(nspmd+1) - 1
7678 CALL spmd_exci(ikcs,ikcr,iad_s,iad_r,
SIZE ,ssize,rsize)
7683 iad_s(i+1) = iad_s(i)
7684 iad_r(i+1) = iad_r(i)
7686 iad_s(i+1) = iad_s(i+1) + nfacs(j)*
ikc_sl(j)
7689 iad_r(i+1) = iad_r(i+1) + nfacr(j)*
ikc_si(j)
7692 ssize = iad_s(nspmd+1) - 1
7693 rsize = iad_r(nspmd+1) - 1
7694 CALL spmd_exck(ks11,kr11,iad_s,iad_r,
SIZE ,ssize,rsize)
7698!||====================================================================
7720!||--- uses -----------------------------------------------------
7727 1 IPARI ,INTBUF_TAB,NINT2 ,IINT2 ,
7728 2 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
7729 3 X ,IBFV ,LJ ,SKEW ,XFRAME ,
7730 4 ISKEW ,ICODT ,INLOC ,NSL ,IAD_M ,
7731 5 IDDL ,IKC ,NDOF ,IDDLM ,UD ,
7732 6 A ,KSL ,KSI ,NSREM ,NF_SI ,
7733 7 IDDLI ,IRBE3 ,LRBE3 ,FRBE3 ,IRBE2 ,
7745#include "implicit_f.inc"
7749#include "param_c.inc"
7750#include "tabsiz_c.inc"
7754 INTEGER IPARI(NPARI,*),NSL,IAD_M(*),NSREM
7755 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
7756 . NINT2,IINT2(*),IDDL(*),IKC(*),NDOF(*),INLOC(*),
7757 . ibfv(nifv,*),lj(*),iskew(*),icodt(*),iddlm(*),
7758 . nf_si(*) ,iddli(*),irbe3(nrbe3l,*),lrbe3(*),
7759 . irbe2(nrbe2l,*),lrbe2(*)
7762 . x(3,*),skew(lskew,*),xframe(*),
7763 . ud(3,*),a(3,*),ksl(9,*) ,ksi(9,*),frbe3(*)
7764 TYPE(intbuf_struct_) INTBUF_TAB(*)
7768 INTEGER ,J,N,K,M,NS,NI,NSN,ILEV,IAD_M1(NSREM+1),
7770 . nj,nd,
nl,isk,ifm,j1,iflag,nss,nm,
id,iad0,iad,
7771 . i1,ict,nf,nr,is,jd,ifss,ifsm,ibid,jt(3),jr(3),iads,
7772 . irot,iadr,nn,irad,ic,eid
7774 . ej(3),ksm(9),knm(9,4),krm(9,4),rbid
7776 .
DIMENSION(:),
ALLOCATABLE :: knm3,krm3
7785 iad_m1(n+1) = iad_m1(n)+
ikc_si(n)*nf_si(n)
7787 DO i=1,iad_m(nsl+1)-1
7798 ns=intbuf_tab(n)%NSV(ni)
7799 l=intbuf_tab(n)%IRTLM(ni)
7801 IF (intbuf_tab(n)%IRECTM(
nl+3)==intbuf_tab(n)%IRECTM(
nl+4))
THEN
7808 IF (inloc(ns)>nsl)
THEN
7814 iad = iad_m(nss) + j + is -2
7815 CALL cp_real(9,ksl(1,iad),ksm)
7817 CALL i2_frk1(intbuf_tab(n)%IRECTM,intbuf_tab(n)%DPARA,x ,itab ,
7818 . intbuf_tab(n)%NSV,
7819 1 intbuf_tab(n)%IRTLM,ikc ,ndof ,iddl ,iddlm,
7820 2 ibid ,ibid ,rbid,rbid ,rbid ,a ,
7821 3 rbid ,ksm ,knm ,krm ,ni ,
7824 CALL i2_frk0(intbuf_tab(n)%IRECTM,intbuf_tab(n)%CSTS,x ,itab ,
7825 . intbuf_tab(n)%NSV,
7826 1 intbuf_tab(n)%IRTLM,ikc ,ndof ,iddl ,iddlm,
7827 2 ibid ,ibid ,rbid,rbid ,rbid ,a ,
7828 3 rbid ,ksm ,knm ,krm ,ni ,
7832 nj=intbuf_tab(n)%IRECTM(
nl+k)
7834 iad = iad_m(nss) + j +is -2
7835 CALL cp_real(9,knm(1,k),ksl(1,iad))
7836 IF (ndof(nj)>3)
CALL cp_real(9,krm(1,k),ksl(1,iad+nsrem))
7846 DO nf = 1,
max(1,nf_si(is))
7848 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
7851 1 j ,
ikc_si(is),ndof ,iad )
7853 CALL cp_real(9,ksi(1,iad),ksm)
7862 CALL i2_frk1(intbuf_tab(n)%IRECTM,intbuf_tab(n)%DPARA,x ,itab ,
7863 . intbuf_tab(n)%NSV,
7864 1 intbuf_tab(n)%IRTLM,ikc ,ndof ,iddl ,iddlm,
7865 2 ibid ,ibid ,rbid,rbid ,rbid ,a ,
7866 3 rbid ,ksm ,knm ,krm ,ni ,
7869 CALL i2_frk0(intbuf_tab(n)%IRECTM,intbuf_tab(n)%CSTS,x ,itab ,
7870 . intbuf_tab(n)%NSV,
7871 1 intbuf_tab(n)%IRTLM,ikc ,ndof ,iddl ,iddlm,
7872 2 ibid ,ibid ,rbid,rbid ,rbid ,a ,
7873 3 rbid ,ksm ,knm ,krm ,ni ,
7877 nj=intbuf_tab(n)%IRECTM(
nl+k)
7880 iad = iad_m(nss) + j + is -2
7881 CALL cp_real(9,knm(1,k),ksl(1,iad))
7882 IF (ndof(nj)>3)
CALL cp_real(9,krm(1,k),ksl(1,iad+nsrem))
7900 IF (inloc(ns)>nsl)
THEN
7906 iad = iad_m(nss) + j + is -2
7907 CALL cp_real(9,ksl(1,iad),ksm)
7909 CALL rbe2_frk(ns ,m ,x ,isk ,skew(1,isk) ,
7910 1 irad ,ndof ,iddl ,jt ,jr ,
7911 2 ibid ,ibid ,rbid ,rbid ,rbid ,
7912 3 a ,rbid ,ksm ,knm ,krm ,
7913 4 ibid ,ifss ,ifsm )
7915 iad = iad_m(nss) + j + is -2
7916 CALL cp_real(9,knm,ksl(1,iad))
7917 CALL cp_real(9,krm,ksl(1,iad+nsrem))
7926 DO nf = 1,
max(1,nf_si(is))
7928 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
7931 1 j ,
ikc_si(is),ndof ,iad )
7933 CALL cp_real(9,ksi(1,iad),ksm)
7942 CALL rbe2_frk(ns ,m ,x ,isk ,skew(1,isk) ,
7943 1 irad ,ndof ,iddl ,jt
7944 2 ibid ,ibid ,rbid ,rbid
7945 3 a ,rbid ,ksm ,knm ,krm ,
7946 4 ibid ,ifss ,ifsm )
7949 iad = iad_m(nss) + j + is -2
7950 CALL cp_real(9,knm,ksl(1,iad))
7951 CALL cp_real(9,krm,ksl(1,iad+nsrem))
7965 iads = slrbe3/2+iadr
7967 ALLOCATE(knm3(9*nnod))
7968 IF (irot>0)
ALLOCATE(krm3(9*nnod))
7969 IF (inloc(ns)>nsl)
THEN
7975 iad = iad_m(nss) + j + is -2
7976 CALL cp_real(9,ksl(1,iad),ksm)
7977 CALL rbe3_fr0(ns ,nnod ,lrbe3(iadr+1) ,x ,irot ,
7978 2 jt ,jr ,frbe3(6*iadr+1) ,skew ,ikc ,
7979 3 ndof ,ibid ,ibid ,rbid ,rbid ,
7980 2 rbid ,ksm ,knm3 ,krm3 ,ibid ,
7981 3 ifss ,ifsm ,itab ,lrbe3(iads+1),eid)
7985 iad = iad_m(nss) + j +is -2
7988 IF (irot>0.AND.ndof(nj)==6)
7989 +
CALL cp_real(9,krm3(
id),ksl(1,iad+nsrem))
7999 DO nf = 1,
max(1,nf_si(is))
8001 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8004 1 j ,
ikc_si(is),ndof ,iad )
8006 CALL cp_real(9,ksi(1,iad),ksm)
8014 CALL rbe3_fr0(ns ,nnod ,lrbe3(iadr+1) ,x ,irot ,
8015 2 jt ,jr ,frbe3(6*iadr+1) ,skew ,ikc
8018 3 ifss ,ifsm ,itab ,lrbe3(iads+1),eid)
8023 iad = iad_m(nss) + j + is -2
8026 IF (irot>0.AND.ndof(nj)==6)
8027 +
CALL cp_real(9,krm3(
id),ksl(1,iad+nsrem))
8034 IF (irot>0)
DEALLOCATE(krm3)
8041 IF (inloc(ns)>nsl)
THEN
8047 iad = iad_m(nss) + j + is -2
8048 CALL cp_real(9,ksl(1,iad),ksm)
8049 CALL rby_frk(ns ,m ,x ,itab ,ikc ,
8050 1 ndof ,iddl ,iddlm,ibid ,ibid ,
8051 2 rbid ,rbid ,rbid ,a ,rbid ,
8052 3 ksm ,knm ,krm ,ibid,ifss,ifsm)
8054 iad = iad_m(nss) + j + is -2
8055 CALL cp_real(9,knm,ksl(1,iad))
8056 CALL cp_real(9,krm,ksl(1,iad+nsrem))
8065 DO nf = 1,
max(1,nf_si(is))
8067 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8070 1 j ,
ikc_si(is),ndof ,iad )
8072 CALL cp_real(9,ksi(1,iad),ksm)
8080 CALL rby_frk(ns ,m ,x ,itab ,ikc ,
8081 1 ndof ,iddl ,iddlm,ibid ,ibid ,
8082 2 rbid ,rbid ,rbid ,a ,rbid ,
8083 3 ksm ,knm ,krm ,ibid,ifss,ifsm)
8086 iad = iad_m(nss) + j + is - 2
8087 CALL cp_real(9,knm,ksl(1,iad))
8088 CALL cp_real(9,krm,ksl(1,iad+nsrem))
8099 IF (inloc(ns)>nsl)
THEN
8105 iad = iad_m(nss) + j + is -2
8106 CALL cp_real(9,ksl(1,iad),ksm)
8107 CALL bcl_frk(ns ,iddl ,iddlm ,ict ,isk ,
8108 1 skew ,ikc ,ibid ,ibid ,rbid ,
8109 2 rbid ,rbid ,a ,rbid ,ksm ,
8110 3 ibid ,ifss ,ifsm )
8111 CALL cp_real(9,knm,ksl(1,iad))
8120 DO nf = 1,
max(1,nf_si(is))
8122 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8125 1 j ,
ikc_si(is),ndof ,iad )
8127 CALL cp_real(9,ksi(1,iad),ksm)
8135 CALL bcl_frk(ns ,iddl ,iddlm ,ict ,isk ,
8136 1 skew ,ikc ,ibid ,ibid ,rbid ,
8137 2 rbid ,rbid ,a ,rbid ,ksm ,
8138 3 ibid ,ifss ,ifsm )
8140 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8141 CALL cp_real(9,knm,ksi(1,iad))
8143 iad = iad_m(nss) + is -1
8144 CALL cp_real(9,knm,ksl(1,iad))
8157 IF (inloc(ns)>nsl)
THEN
8163 iad = iad_m(nss) + j + is -2
8164 CALL cp_real(9,ksl(1,iad),ksm)
8165 CALL bc_updfr(ns ,iddl ,skew_spc(iadr),ji ,iddlm ,
8166 1 ikc ,ibid ,ibid ,rbid ,rbid ,
8167 2 rbid ,a ,rbid ,ksm ,ibid ,
8170 ej(1)=skew_spc(iadr)
8171 ej(2)=skew_spc(iadr+1)
8172 ej(3)=skew_spc(iadr+2)
8174 CALL bc_updfr(i ,iddl ,ej ,ji ,iddlm ,
8175 1 ikc ,ibid ,ibid ,rbid ,rbid ,
8176 2 rbid ,a ,rbid ,ksm ,ibid ,
8179 CALL bc_updfr2(i ,iddl ,skew_spc(iadr),skew_spc(iadr+3),
8180 1 iddlm ,ibid ,ibid ,ibid ,rbid ,rbid ,
8181 2 rbid ,a ,rbid ,ksm ,ibid ,
8184 CALL cp_real(9,knm,ksl(1,iad))
8193 DO nf = 1,
max(1,nf_si(is))
8195 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8198 1 j ,
ikc_si(is),ndof ,iad )
8200 CALL cp_real(9,ksi(1,iad),ksm)
8209 ej(1)=skew_spc(iadr)
8210 ej(2)=skew_spc(iadr+1)
8211 ej(3)=skew_spc(iadr+2)
8213 CALL bc_updfr(i ,iddl ,ej ,ji ,iddlm ,
8214 1 ikc ,ibid ,ibid ,rbid ,rbid ,
8215 2 rbid ,a ,rbid ,ksm ,ibid ,
8218 CALL bc_updfr2(i ,iddl ,skew_spc(iadr),skew_spc(iadr+3),
8219 1 iddlm ,ibid ,ibid ,ibid ,rbid ,rbid ,
8220 2 rbid ,a ,rbid ,ksm ,ibid ,
8224 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8225 CALL cp_real(9,knm,ksi(1,iad))
8227 iad = iad_m(nss) + is -1
8228 CALL cp_real(9,knm,ksl(1,iad))
8241 IF (inloc(ns)>nsl)
THEN
8247 iad = iad_m(nss) + j + is -2
8248 CALL cp_real(9,ksl(1,iad),ksm)
8249 CALL fvl_frk(j1 ,i ,ibfv ,skew ,xframe,
8250 1 iddl ,iddlm ,ikc ,ibid ,ibid ,
8251 2 rbid ,rbid ,ud ,rbid ,a ,
8252 3 rbid ,ksm ,ibid ,ifss ,ifsm )
8254 iad = iad_m(nss) + j + is -2
8255 CALL cp_real(9,knm,ksl(1,iad))
8256 CALL cp_real(9,krm,ksl(1,iad+nsrem))
8265 DO nf = 1,
max(1,nf_si(is))
8267 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8270 1 j ,
ikc_si(is),ndof ,iad )
8272 CALL cp_real(9,ksi(1,iad),ksm)
8280 CALL fvl_frk(j1 ,i ,ibfv ,skew ,xframe,
8281 1 iddl ,iddlm ,ikc ,ibid ,ibid ,
8283 3 rbid ,ksm ,ibid ,ifss ,ifsm )
8285 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8286 CALL cp_real(9,knm,ksi(1,iad))
8288 iad = iad_m(nss) + is -1
8289 CALL cp_real(9,knm,ksl(1,iad))
8305 IF (inloc(ns)>nsl)
THEN
8311 iad = iad_m(nss) + j + is -2
8312 CALL cp_real(9,ksl(1,iad),ksm)
8313 CALL fv_updfr(ns ,ej ,j1 ,iddl ,iddlm ,
8314 1 ikc ,ibid ,ibid ,rbid ,rbid ,
8315 2 ud ,rbid ,a ,rbid ,ksm ,
8316 3 ibid ,ifss ,ifsm )
8318 iad = iad_m(nss) + j + is -2
8319 CALL cp_real(9,knm,ksl(1,iad))
8320 CALL cp_real(9,krm,ksl(1,iad+nsrem))
8329 DO nf = 1,
max(1,nf_si(is))
8331 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8334 1 j ,
ikc_si(is),ndof ,iad )
8336 CALL cp_real(9,ksi(1,iad),ksm)
8344 CALL fv_updfr(ns ,ej ,j1 ,iddl ,iddlm ,
8346 2 ud ,rbid ,a ,rbid ,ksm ,
8347 3 ibid ,ifss ,ifsm )
8349 IF (
ikc_si(is)>0.AND.nf_si(is)>0)
THEN
8350 CALL cp_real(9,knm,ksi(1,iad))
8352 iad = iad_m(nss) + is -1
8353 CALL cp_real(9,knm,ksl(1,iad))
8376 1 NSREM ,IKINM ,IKCSI ,IKC ,NDOF ,
8377 2 IDDL ,IDDLM ,INLOC ,IAD_M ,FRK_SI ,
8378 3 FRK_SL ,NF_SI ,IAD_MLD ,IDDLI )
8386#include "implicit_f.inc"
8390#include "com01_c.inc"
8395 . nsrem,iddl(*),iddlm(*),inloc(*),ikc(*),ndof(*),iad_m(*),
8396 . ikcsi(3,*),ikinm ,nf_si(*) ,iad_mld(*) ,iddli(*)
8398 . frk_si(3,3,*) ,frk_sl(3,3,*)
8402 INTEGER I,J,N,K,P,L,NL,,NDOFI,NZ,NDS,NKC,IAD,J1,K1,ID,NS,NM
8403 INTEGER IDDL_CP(NDDL_SI),IAD_CP(NDDL_SI+1),JDI_CP(NZ_SI),
8404 . iad_m1(nsrem+1),nr,idm,jd,iadi,
8405 . ier1,ier2,ier3,ier4,ier5,ier6
8407 . kij(3,3),lt_cp(nz_si)
8412 CALL cp_real(nz_si,lt_si,lt_cp)
8428 IF (ndof(nj)>0)
THEN
8431 CALL getfr_kij( id ,jd ,iad_cp ,jdi_cp,lt_cp ,
8432 1 kij ,ndofi,ndofi )
8436 lt_si(nz) = kij(k,k1)
8442 iad_mld(p+1) = nl +1
8448 iad_m1(n+1) = iad_m1(n)+
ikc_si(n)*nf_si(n)
8459 IF (ikcsi(k,iad)==0)
THEN
8465 IF (ikc(k1+id)==0) nz = nz + 1
8474 IF (ikc(k1+id)==0) nz = nz + 1
8497 IF (ikc(k1+id)==0) nz = nz + 1
8504 IF (ikc(k1+id)==0) nz = nz + 1
8506 IF (ndof(nm)==6)
THEN
8508 IF (ikc(k1+id+3)==0) nz = nz + 1
8525 ALLOCATE(
iad_si(nl+1),stat=ier1)
8528 ALLOCATE(
jdi_si(nz),stat=ier2)
8529 IF(
ALLOCATED(lt_si))
DEALLOCATE(lt_si)
8530 ALLOCATE(lt_si(nz),stat=ier3)
8545 IF (ikcsi(k,iad)==0)
THEN
8551 IF (ndof(nj)>0)
THEN
8553 iadi = iad_m1(i) +nf_si(i)*(j1-
iad_sinr(i))+ j
8555 IF (ikc(k1+id)==0)
THEN
8571 IF (ndof(nm)>0)
THEN
8573 iadi = iad_m(ns) + l-
iad_slnr(ns) + i
8575 IF (ikc(k1+id)==0)
THEN
8577 jdi_si(nz) = idm + k1-nkc
8578 lt_si(nz) = frk_sl(k,k1,iadi)
8611 1 kij ,ndofi,ndofi )
8614 IF (ikc(k1+id)==0)
THEN
8616 jdi_si(nz) = idm + k1 -nkc
8617 lt_si(nz) = kij(k,k1)
8628 iadi = iad_m(ns) + l-
iad_slnr(ns) +i-1
8630 IF (ikc(k1+id)==0)
THEN
8632 jdi_si(nz) = idm + k1-nkc
8633 lt_si(nz) = frk_sl(k1,k,iadi)
8638 IF (ndof(nm)==6)
THEN
8640 IF (ikc(k1+id)==0)
THEN
8642 jdi_si(nz) = idm + k1-nkc
8643 lt_si(nz) = frk_sl(k1-3,k,iadi+nsrem)
8651 ELSEIF (ndof(nj)>0)
THEN
8655 CALL getfr_kij( id ,jd ,iad_cp ,jdi_cp,lt_cp ,
8656 1 kij ,ndofi,ndofi )
8660 lt_si(nz) = kij(k,k1)
8676 IF(
ALLOCATED(usi))
DEALLOCATE(usi)
8677 ALLOCATE(usi(nddl_si),stat=ier4)
8678 IF(
ALLOCATED(fsi))
DEALLOCATE(fsi)
8679 ALLOCATE(fsi(nddl_si),stat=ier5)
8683!||====================================================================
8689 1 NDOF ,IDDL ,IKC ,INLOC ,NFV )
8693#include "implicit_f.inc"
8697#include "com04_c.inc"
8701 INTEGER NFV, INLOC(*),NDOF(*),IKC(*),IDDL(*)
8713 IF (inloc(n)>0)
THEN
8715 DO j = 1,
min(3,ndof(n))
8717 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd
8719 IF (ns==1) nfv = nfv +1
8734 1 NDOF ,IDDL ,IKC ,INLOC ,NFV )
8742#include "implicit_f.inc"
8746#include "com04_c.inc"
8750 INTEGER NFV,INLOC(*),NDOF(*),IKC(*),IDDL(*)
8758 IF(
ALLOCATED(
islm))
DEALLOCATE(
islm)
8764 IF (inloc(n)>0)
THEN
8766 DO j = 1,
min(3,ndof(n))
8768 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9) ns = 1
8791 1 KSS ,IDDL ,IDDLM ,IKC ,NSL ,
8792 2 D_IMP ,LB ,NFV ,UDSL ,INLOC ,
8801#include "implicit_f.inc"
8805 INTEGER NFV,NSL,IDDLM(*),IKC(*),IDDL(*),
8809 . kss(6,*), d_imp(3,*) ,lb(*) ,udsl(3,*)
8814 . i,j,k,n,
id,nd,ns,nkc,nm,is,nr,nj,nn,
nl,im,
8815 . iad_m1(nsl+1),iadn(nsl),jj
8817 . f_imp(6) ,kii(6,6)
8829 iad_m1(i+1) = iad_m1(i)+
nl
8837 IF ((ikc(nd)>=2.AND.ikc(nd)<=4).OR.ikc(nd)==9)
THEN
8838 udsl(k,i) = d_imp(k,n)
8844 IF (inloc(n)>nsl)
THEN
8848 nn = iad_m1(is) + j -1
8857 f_imp(k) = kii(k,1)*udsl(1,i)+ kii(k,2)*udsl(2,i)+
8858 . kii(k,3)*udsl(3,i)
8862 IF (ikc(
id+k)==0)
THEN
8864 lb(nm) = lb(nm) -f_imp(k)
8870 IF (n==
isl(is))
THEN
8872 f_imp(1) = kss(1,j)*udsl(1,i)+ kss(4,j)*udsl(2,i)+
8873 . kss(5,j)*udsl(3,i)
8874 f_imp(2) = kss(4,j)*udsl(1,i)+ kss(2,j)*udsl(2,i)+
8875 . kss(6,j)*udsl(3,i)
8876 f_imp(3) = kss(5,j)*udsl(1,i)+ kss(6,j)*udsl(2,i)+
8877 . kss(3,j)*udsl(3,i)
8881 IF (ikc(
id+k)==0)
THEN
8883 lb(nm) = lb(nm) -f_imp(k)
8915 . NF_SI ,NF_SL ,LVSI )
8923#include "implicit_f.inc"
8927#include "com01_c.inc"
8931 INTEGER NSREM ,NSL,NFV ,IFVSI(*) ,IFVSL(*) ,
8932 . nf_sl(*),nf_si(*),lvsi
8937 INTEGER I,J,N,K,IAD,NJ,L
8938 INTEGER SSIZE ,RSIZE,SIZE,IAD_S(NSPMD+1),IAD_R(NSPMD+1)
8952 IF (
ikc_sl(i)>0.AND.nf_sl(i)>0)
THEN
8961 IF (l>0) ifvsl(iad+k-
iad_slnr(i)) = l
8964 iad = iad + nf_sl(i)
8971 iad_s(i+1) = iad_s(i)
8972 iad_r(i+1) = iad_r(i)
8974 iad_s(i+1) = iad_s(i+1) + nf_sl(j)
8977 iad_r(i+1) = iad_r(i+1) + nf_si(j)
8982 ssize = iad_s(nspmd+1) - 1
8983 rsize = iad_r(nspmd+1) - 1
8984 CALL spmd_exci(ifvsl,ifvsi,iad_s,iad_r,
SIZE ,ssize,rsize)
9003!||--- calls -----------------------------------------------------
9016#include "implicit_f.inc"
9020#include "com01_c.inc"
9024 INTEGER IKCS(*),IKCR(*),NF_S(*),NF_R(*)
9030 INTEGER I ,J ,K ,L,IADS,IADR,IER1,,ID0
9031 INTEGER SSIZE ,RSIZE,SIZE,IAD_S(NSPMD+1),IAD_R(NSPMD+1)
9032 my_real,
DIMENSION(:,:),
ALLOCATABLE :: uds1
9042 iad_s(i+1) = iad_s(i)
9043 iad_r(i+1) = iad_r(i)
9046 iad_s(i+1) = iad_s(i+1) +
min(1,ikcs(iads))
9052 iad_r(i+1) = iad_r(i+1) +
min(1,ikcr(iadr))
9057 ssize = iad_s(nspmd+1) - 1
9058 rsize = iad_r(nspmd+1) - 1
9060 ALLOCATE(uds1(3,ssize),stat=ier1)
9069 uds1(l,
id) = uds(l,id0)
9078 CALL spmd_exck(uds1,udr ,iad_s,iad_r,
SIZE ,ssize,rsize)
9079 IF (ssize>0)
DEALLOCATE(uds1)
9085!||--- called by ------------------------------------------------------
9087!||--- calls -----------------------------------------------------
9091!||====================================================================
9093 1 IDDL ,IDDLM ,IKC ,IFVSI ,NF_SI ,
9094 2 KSI ,LB ,NSREM ,UDSI )
9102#include "implicit_f.inc"
9106 INTEGER NSREM,IDDLM(*),IKC(*),IDDL(*),IFVSI(*),NF_SI(*)
9109 . ksi(9,*),lb(*) ,udsi(3,*)
9114 . i,j,j1,nj,iad,iadu,iadi,
id,nd,jd,iad_m1(nsrem+1)
9118 iad_m1(i+1) = iad_m1(i)+
ikc_si(i)*nf_si(i)
9126 IF (ifvsi(iad)>0)
THEN
9130 iadi = iad_m1(i) +nf_si(i)*(j1-
iad_sinr(i))+ j
9132 1 nj ,iddl ,iddlm ,ikc ,
9133 2 udsi(1,iadu),ksi(1,iadi),lb )
9148 1 NJ ,IDDL ,IDDLM ,IKC ,
9153#include "implicit_f.inc"
9157 INTEGER NJ,IDDLM(*),IKC(*),IDDL(*)
9160 . ksm(3,3), lb(*) ,uds(3)
9170 lbd(k) = ksm(1,k)*uds(1)+ ksm(2,k)*uds(2)+
9177 nm = iddlm(nj) + nkc
9178 IF (ikc(nd)==0)
THEN
9179 lb(nm) = lb(nm) -lbd(k)
9194!||--- uses ---------------------------------
9198 1 KFR_SI ,KFR_SL ,IDDL ,NDOF ,IKC ,
9199 2 INLOC ,IAD_M ,NSREM ,NSL ,UD0 ,
9200 3 FDSI ,NF_SI ,NFV ,NFD ,IDDLI )
9208#include "implicit_f.inc"
9212 INTEGER NSREM,IAD_M(*),NSL,IDDL(*),NDOF(*),INLOC(*),
9213 . ikc(*),nf_si(*),nfv,nfd,iddli(*)
9216 . ud0(3,*),kfr_si(3,3,*),kfr_sl(3,3,*),fdsi(3,*)
9220 INTEGER I,J,N,K,M,NS,IAD_M1(NSREM+1),IS,JD,
9221 . nj,nd,
nl,j1,nss,nm,
id,iad,nf,nr,iadi
9223 . ksm(3,3),ud(3,nfv)
9233 iad_m1(n+1) = iad_m1(n)+
ikc_si(n)*nf_si(n)
9239 IF ((ikc(
id)>=2.AND.ikc(
id)<=4).OR.ikc(
id)==9)
THEN
9249 DO nf = 1,
max(1,nf_si(is))
9252 IF (inloc(ns)>nsl)
THEN
9260 iadi = iad_m(nss) + j1 + is -2
9262 fdsi(k,iad) = fdsi(k,iad)+kfr_sl(1,k,iadi)*ud(1,i)+
9263 . kfr_sl(2,k,iadi)*ud(2,i)+kfr_sl(3,k,iadi)*ud(3,i)
9268 ELSEIF (
ikc_si(is)>0.AND.j>0)
THEN
9271 1 j ,
ikc_si(is),ndof ,iadi )
9274 fdsi(k,iad) = fdsi(k,iad)+kfr_si(1,k,iadi)*ud(1,i)+
9275 . kfr_si(2,k,iadi)*ud(2,i)+kfr_si(3,k,iadi)*ud(3,i)
9284 fdsi(k,iad) = fdsi(k,iad)+ksm(1,k)*ud(1,i)+
9285 . ksm(2,k)*ud(2,i)+ksm(3,k)*ud(3,i)
9309#include "implicit_f.inc"
9314 . nsrem,ikcsi(3,*),nf_si(*) ,nfv
9320 INTEGER I,J,N,K,NL,NDOFI,IAD,IADI
9336 IF (ikcsi(k,iad)==0)
THEN
9338 fsi(nl)=-fdsi(k,iadi+j-1)
9347 fsi(nl)=-fdsi(k,iadi)
9350 iadi = iadi +
max(1,nf_si(i))
9359!||--- uses -----------------------------------------------------
9370#include "implicit_f.inc"
9374 INTEGER NSL,NZ ,IAD_CP(*),JDI_CP(*)
9383 IF(
ALLOCATED(
iml))
DEALLOCATE(
iml)
9389!||====================================================================
9407#include "implicit_f.inc"
9411 INTEGER NSL ,NDOF(*)
9418 INTEGER I,J,K,N,P,ID,NJ,,NL,NZ,,K1,NK,NN,IAD,
9419 . ier1,ier2,ier3,ier4,ier5,ier6,nd
9433 ALLOCATE(
iddl_sl(nn),stat=ier1)
9464 DO k =1,
min(3,ndof(n))
9477 ALLOCATE(
iad_ss(nl+1),stat=ier2)
9479 ALLOCATE(
jdi_sl(nz),stat=ier3)
9514 DO k =1,
min(3,ndof(n))
9526 IF(
ALLOCATED(diag_sl))
DEALLOCATE(diag_sl)
9527 IF(
ALLOCATED(lt_sl))
DEALLOCATE(lt_sl)
9528 ALLOCATE(diag_sl(nl),stat=ier4)
9529 ALLOCATE(lt_sl(nz),stat=ier5)
9530 CALL zero1(diag_sl,nl)
9531 CALL zero1(lt_sl,nz)
9557!||====================================================================
9578#include "implicit_f.inc"
9582#include "com01_c.inc"
9586 INTEGER NSL ,IDDL(*),IKC(*),NDOF(*),IDDLM(*),IAD_SLD(*)
9593 INTEGER IDDL_CP(NDDL_SL),IAD_CP(NDDL_SL+1),JDI_CP(NZ_SL),
9594 . nr,nk,nn,idm,jd,iadi,idj,idjm,iad,ndofi
9595 INTEGER I,J,K,N,P,ID,NJ,NB,NKC,NL,NZ,K1,NKC1,J1,NM,
9596 . ier1,ier2,ier3,ier4,ier5,ier6
9598 . kii(6,6),kij(6,6),lt_cp(nz_sl),diag_cp(nddl_sl)
9613 CALL cp_real(nddl_sl,diag_sl,diag_cp)
9614 CALL cp_real(nz_sl,lt_sl,lt_cp)
9625 IF (ikc(id+k)==0)
THEN
9632 IF (ikc(idj+k1)==0) nz = nz + 1
9636 IF (ikc(id+k1)==0) nz = nz + 1
9644 DO k =1,
min(3,ndof(n))
9645 IF (ikc(id+k)==0)
THEN
9648 IF (ikc(id+k1)==0) nz = nz + 1
9656 DO k =1,
min(3,ndof(n))
9666 ALLOCATE(
iddl_sl(nl),stat=ier4)
9667 IF (nl>nddl_sl)
THEN
9669 ALLOCATE(
iad_ss(nl+1),stat=ier1)
9671 IF(
ALLOCATED(diag_sl))
DEALLOCATE(diag_sl)
9672 ALLOCATE(diag_sl(nl),stat=ier5)
9676 ALLOCATE(
jdi_sl(nz),stat=ier2)
9677 IF(
ALLOCATED(lt_sl))
DEALLOCATE(lt_sl)
9678 ALLOCATE(lt_sl(nz),stat=ier3)
9697 CALL get_kii(nn ,iddl_cp,iad_cp,diag_cp,lt_cp ,kii,ndof(nj))
9700 IF (ikc(id+k)==0)
THEN
9703 diag_sl(nl) = kii(k,k)
9710 CALL get_kij(nm ,nn ,iddl_cp,iad_cp,jdi_cp,lt_cp ,kij ,
9711 . ndof(nk),ndof(nj) ,ier1 )
9714 IF (ikc(idj+k1)==0)
THEN
9716 jdi_sl(nz) = idjm + k1- nkc1
9717 lt_sl(nz) = kij(k1,k)
9727 IF (ikc(id+k1)==0)
THEN
9729 jdi_sl(nz) = idm + k1- nkc1
9730 lt_sl(nz) = kii(k1,k)
9747 ndofi =
min(3,ndof(n))
9748 CALL get_kii(nn ,iddl_cp,iad_cp,diag_cp,lt_cp ,kii,ndofi)
9751 IF (ikc(id+k)==0)
THEN
9754 diag_sl(nl) = kii(k,k)
9757 IF (ikc(id+k1)==0)
THEN
9759 jdi_sl(nz) = idm + k1- nkc1
9760 lt_sl(nz) = kii(k1,k)
9775 DO k =1,
min(3,ndof(n))
9778 diag_sl(nl) =kss(k,i)
9783 lt_sl(nz) = kss(id,i)
9789 iad_sld(p+1) = nl + 1
9800!||--- uses -----------------------------------------------------
9811#include "implicit_f.inc"
9815#include "com01_c.inc"
9819 INTEGER NSL ,NSREM,IAD_SLD(*),IAD_MLD(*)
9843 1 NDOF ,IKC ,IDDL ,NDOFI ,NDDLIFB ,
9844 2 FR_ELEM ,IAD_ELEM )
9852#include "implicit_f.inc"
9856#include "com01_c.inc"
9860 INTEGER NDOFI(*) ,IDDL(*),IKC(*),NDOF(*),NDDLIFB
9862 . fr_elem(*),iad_elem(2,*)
9867 INTEGER I,J,N,NK,IP,L,IFRE,II,IAD2,IJ,IND,N_FR,NB
9869 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ,
9874 n_fr = iad_elem(1,nspmd+1)-iad_elem(1,1)
9876 ALLOCATE(itag(n_fr),icont(n_fr))
9879 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
9883 DO j=1,
min(ndof(n),ndofi(n))
9884 IF (ikc(idk+j)==0) ifre=ifre+1
9889 CALL spmd_nrow(itag,icont,iad_elem,n_fr)
9891 icont(nk)=
min(itag(nk),icont(nk))
9892 IF (icont(nk)>0)
THEN
9893 icont(nk) = itag(nk)
9899 IF (nb>0.AND.icont(nk)>0) itag(nb) = itag(nb) + 1
9902 IF (icont(nk)>0)
THEN
9906 stmp = stmp + s1*icont(nk)
9909 DEALLOCATE(itag,icont)
9931#include "implicit_f.inc"
9935#include "com04_c.inc"
9939 INTEGER NSL,NDOFI(*) ,NDDLI
9945 INTEGER I,J,N,IDK,NC,NDOFII
9954 IF(ndofi(n)==0) ndofi(n)= -ndofii
9967!||--- uses -----------------------------------------------------
9972 1 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
9973 2 NINT2 ,IINT2 ,IPARI ,INTBUF_TAB,NDOFI ,
9974 3 NDOF ,IKC ,IDDL ,FR_ELEM ,IAD_ELEM ,
9975 4 NDDLI ,NSL ,NDDLIG ,IRBE3 ,LRBE3 ,
9985#include
"implicit_f.inc"
9989#include "param_c.inc"
9993 INTEGER NDOFI(*) ,IDDL(*),(*),NDOF(*),NDDLI,NDDLIG,NSL
9994 INTEGER NPBY(,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
9995 . NINT2,IINT2(*),IPARI(NPARI,*),
9996 . IRBE3(*),LRBE3(*),IRBE2(*),LRBE2(*)
9998 . FR_ELEM(*),IAD_ELEM(2,*)
10000 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
10004 INTEGER NDDLIFB,NDDLINS
10007 1 ndof ,ikc ,iddl ,ndofi ,nddlifb ,
10008 2 fr_elem ,iad_elem )
10010 1 npby ,lpby ,itab ,nrbyac ,irbyac ,
10011 2 nint2 ,iint2 ,ipari ,intbuf_tab,ndofi ,
10012 3 ndof ,ikc ,iddl ,nsl ,nddli ,
10013 4 nddlins ,irbe3 ,lrbe3 ,irbe2 ,lrbe2 )
10028 1 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
10029 2 NINT2 ,IINT2 ,IPARI ,INTBUF_TAB,NDOFI ,
10030 3 NDOF ,IKC ,IDDL ,NSL ,NDDLI ,
10031 4 NDDLINS ,IRBE3 ,LRBE3 ,IRBE2 ,LRBE2 )
10039#include "implicit_f.inc"
10043#include "com04_c.inc"
10044#include "param_c.inc"
10049 INTEGER NDOFI(*) ,IDDL(*),IKC(*),NDOF(*),NDDLINS,NSL
10050 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
10051 . NINT2,IINT2(*),IPARI(NPARI,*),NDDLI,
10052 . IRBE3(NRBE3L,*),LRBE3(*),IRBE2(NRBE2L,*),LRBE2(*)
10054 TYPE(intbuf_struct_) INTBUF_TAB(*)
10059 . i,j,k,n,l,
nl,nj,ni,j1,m,nsn,n1,n2,nk,
id,nm,
10060 . ji,ns,nnod,ndofii,iad
10068 ni=intbuf_tab(n)%NSV(i)
10069 IF (ndofi(ni)<0)
THEN
10070 l=intbuf_tab(n)%IRTLM(i)
10072 IF (intbuf_tab(n)%IRECTM(
nl+3)==intbuf_tab(n)%IRECTM(
nl+4))
THEN
10078 nm=intbuf_tab(n)%IRECTM(
nl+m)
10079 IF (ndofi(nm)==0) ndofi(nm) = -6
10092 IF (ndofi(ni)<0)
THEN
10093 IF (ndofi(m)==0) ndofi(m) = -6
10103 IF (ndofi(ni)<0)
THEN
10106 IF (ndofi(nm)==0) ndofi(nm) = -6
10113 k=irbyac(j+nrbykin)
10119 IF (ndofi(ni)<0)
THEN
10120 IF (ndofi(m)==0) ndofi(m) = -6
10127 IF(ndofi(n)<0)
THEN
10128 ndofii =
min(-ndofi(n),ndof(n))
10131 IF (ikc(
id+j)==0) nddlins = nddlins+1
10148 1 IADK ,JDIK ,NDOF ,IDDL ,FR_ELEM ,
10157#include "implicit_f.inc"
10161#include "com01_c.inc"
10162#include "impl1_c.inc"
10166 INTEGER IADK(*) ,JDIK(*),IDDL(*),NDOF(*)
10168 . FR_ELEM(*),IAD_ELEM(2,*)
10178 INTEGER I,J,N,NK,IP,L,IFIX,II,IAD2,IJ,IND,N_FR,NB,
10179 . K,ND,NZZK,NJ,NZZ,IAD,JAD,ID,JD,IDK,NC
10181 IF (NDDLFR<=0) return
10185 DO nk=iad_elem(1,ip),iad_elem(1,ip+1)-1
10193 iad2 = iad2 +
nd_fr(ip)
10211 nc = iadk(ii+1)-iadk(ii)
10212 n=intab0(nc,jdik(iadk(ii)),ij)
10214 jfr2k(jd)=n+iadk(ii)-1
10216 write(*,*)
'index error in SPC_FR_K I<J',ij,ip,nc
10219 nc = iadk(ij+1)-iadk(ij)
10220 n=intab0(nc,jdik(iadk(ij)),ii)
10222 jfr2k(jd)=n+iadk(ij)-1
10224 write(*,*)
'index error in SPC_FR_K J<I',ii,ip,nc
10230 iad = iad +
nd_fr(ip) +1
10231 iad2 = iad2 +
nd_fr(ip)
10244 nc = iadk(ii+1)-iadk(ii)
10245 n=intab0(nc,jdik(iadk(ii)),ij)
10247 jfr2k(jd)=n+iadk(ii)-1
10249 write(*,*)
'index error in SPC_FR_K I>J',ij,ip,nc
10252 nc = iadk(ij+1)-iadk(ij)
10253 n=intab0(nc,jdik(iadk(ij)),ii)
10255 jfr2k(jd)=n+iadk(ij)-1
10257 write(*,*)
'index error in SPC_FR_K J>I',ii,ip,nc
10263 iad = iad +
nd_fr(ip) +1
10264 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 bc_imp0(icodt, icodr, iskew, ifix, ndof, iadn)
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_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 imp_solv(timers, python, icode, iskew, iskwn, ipart, ixtg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg1, itab, itabm1, npc, ibcl, ibfv, sensor_tab, nnlink, lnlink, iparg, igrv, ipari, intbuf_tab, nprw, iconx, npby, lpby, lrivet, nstrf, ljoint, icodt, icodr, isky, adsky, iads_f, ilink, llink, weight, itask, ibvel, lbvel, fbvel, x, d, v, vr, dr, thke, damp, ms, in, pm, skews, geo, eani, bufmat, bufgeo, bufsf, tf, forc, vel, fsav, agrv, fr_wave, parts0, elbuf, rby, rivet, fr_elem, iad_elem, wa, a, ar, stifn, stifr, partsav, fsky, fskyi, iframe, xframe, w16, iactiv, fskym, igeo, ipm, wfext, nodft, nodlt, nint7, num_imp, ns_imp, ne_imp, ind_imp, it, rwbuf, lprw, fr_wall, nbintc, intlist, fopt, rwsav, fsavd, graphe, fac_k, ipiv_k, nkcond, nsensor, monvol, igrsurf, fr_mv, volmon, dirul, nodglob, mumps_par, cddlp, isendto, irecvfrom, newfront, imsch, i2msch, isizxv, ilenxv, islen7, irlen7, islen11, irlen11, islen17, irlen17, irlen7t, islen7t, kinet, num_imp1, temp, dt2prev, waint, lgrav, sh4tree, sh3tree, irlen20, islen20, irlen20t, islen20t, irlen20e, islen20e, irbe3, lrbe3, frbe3, fr_i2m, iad_i2m, fr_rbe3m, iad_rbe3m, frwl6, irbe2, lrbe2, intbuf_tab_c, ikine, diag_sms, icfield, lcfield, cfield, count_remslv, count_remslve, elbuf_tab, elbuf_imp, xdp, weight_md, stack, dimfb, fbsav6, stabsen, tabsensor, drape_sh4n, drape_sh3n, h3d_data, multi_fvm, igrbric, igrsh4n, igrsh3n, igrbeam, forneqs, maxdgap, nddl0, nnzk0, it_t, impbuf_tab, cptreac, fthreac, nodreac, drapeg, interfaces, th_surf, dpl0cld, vel0cld, snpc, stf, glob_therm, wfext_md)
subroutine imp_chkm(timers, python, icode, iskew, iskwn, ipart, ixtg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg1, itab, itabm1, npc, ibcl, ibfv, sensor_tab, nnlink, lnlink, iparg, igrv, ipari, intbuf_tab, nprw, iconx, npby, lpby, lrivet, nstrf, ljoint, icodt, icodr, isky, adsky, iads_f, ilink, llink, weight, itask, ibvel, lbvel, fbvel, x, d, v, vr, dr, thke, damp, ms, in, pm, skews, geo, eani, bufmat, bufgeo, bufsf, tf, forc, vel, fsav, agrv, fr_wave, parts0, elbuf, rby, rivet, fr_elem, iad_elem, nsensor, wa, a, ar, stifn, stifr, partsav, fsky, fskyi, iframe, xframe, w16, iactiv, fskym, igeo, ipm, wfext, nodft, nodlt, nint7, num_imp, ns_imp, ne_imp, ind_imp, it, rwbuf, lprw, fr_wall, nbintc, intlist, fopt, rwsav, fsavd, dirul, lgrav, irbe3, lrbe3, frbe3, frwl6, irbe2, lrbe2, icfield, lcfield, cfield, elbuf_tab, weight_md, stack, dimfb, fbsav6, stabsen, tabsensor, drape_sh4n, drape_sh3n, h3d_data, nddl0, nnzk0, impbuf_tab, cptreac, fthreac, nodreac, drapeg, th_surf, dpl0cld, vel0cld, snpc, stf, wfext_md, igrsurf)
subroutine imp_intfr(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, dirul, skew, xframe, iskew, icodt, de, d_imp, lb, ifdis, nddl, dr_imp, iddli, irbe3, lrbe3, frbe3, irbe2, lrbe2, dd, ddr, a, ar, ac, acr, ms, v, nddl0, r02, rby, icodr, nt_rw, w_ddl, weight, irflag)
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 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_imp0(x, rby, lpby, npby, skew, nrbyac, irbyac, nsc, isij, nmc, imij, nss, iss, iskew, itab, weight, ms, in, nddl, iadk, jdik, diag_k, lt_k, ndof, iddl, ikc, b)
subroutine rby_imp3(x, m, n, d, dr, a, ar)
character *2 function nl()
subroutine condens_ind(nddl, nnz, iadk, jdik, ikc)
subroutine upd_glob_k(icodt, icodr, iskew, ibfv, npc, tf, vel, xframe, rby, x, skew, lpby, npby, itab, weight, ms, in, nrbyac, irbyac, nsc, isij, nmc, imij, nss, iss, nint2, iint2, nsc2, isij2, nss2, iss2, ipari, intbuf_tab, nddl, nnz, iadk, jdik, diag_k, lt_k, ndof, iddl, ikc, ud, b, nkud, ikud, bkud, nmc2, imij2, nt_rw, rd, lj, irbe3, lrbe3, frbe3, iss3, irbe2, lrbe2, isb2, nsrb2)