30!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.f90
33 1 IGEO ,ELBUF ,IPARG ,IXS ,IXQ ,
34 2 IXC ,IXT ,IXP ,IXR ,IXTG ,
35 3 IXTG1 ,IXS10 ,IXS20 ,IXS16 ,
36 4 NDOF ,NROW ,ELBUF_TAB )
44#include "implicit_f.inc"
54 INTEGER IPARG(NPARG,*),IGEO(NPROPGI,*)
56 . IXS(NIXS,*),IXQ(NIXQ,*),IXC(NIXC,*), IXT(NIXT,*), IXP(,*),
57 . IXR(NIXR,*), IXTG(NIXTG,*),IXS10(6,*),IXS20(12,*),
58 . ixs16(8,*),ixtg1(4,*),ndof(*),nrow(*)
62 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
66 INTEGER NC(20),NG,ITY,NEL,NFT,IAD,ISNOD,ICNOD,
67 . I,J,K,N,M,EP,L,IGTYP,NNOD,K1,IHBE,EP1,IAD0,NPT,IDRIL
73 IF (iparg(8,ng)/=1)
THEN
84 IF (iparg(1,ng) == 0 .OR. iparg(1,ng) == 13)
THEN
92 iof = elbuf_tab(ng)%GBUF%OFF(i)
102 ELSEIF (isnod==6)
THEN
110 ELSEIF (isnod==10)
THEN
118 IF (ixs10(j,ep1)>0
THEN
120 nc(nnod) = ixs10(j,ep1)
123 ELSEIF (isnod==8)
THEN
128 ELSEIF (isnod==20)
THEN
133 ep1=ep-(numels8+numels10)
144 ndof(n)=
max(3,ndof(n))
146 IF (n/=nc(l)) nrow(n)=nrow(n)+1
156 iof = elbuf_tab(ng)%GBUF%OFF(i)
173 ndof(n)=
max(3,ndof(n))
175 IF (n/=nc(l)) nrow(n)=nrow(n)+1
186 iof = elbuf_tab(ng)%GBUF%OFF(i)
196 IF (npt==1.AND.idril==0)
THEN
197 ndof(n)=
max(3,ndof(n))
202 IF (n/=nc(l)) nrow(n)=nrow(n)+1
213 iof=elbuf_tab(ng)%GBUF%OFF(i)
221 ndof(n)=
max(3,ndof(n))
223 IF (n/=nc(l)) nrow(n)=nrow(n)+1
234 iof=elbuf_tab(ng)%GBUF%OFF(i)
244 IF (n/=nc(l)) nrow(n)=nrow(n)+1
255 iof=elbuf_tab(ng)%GBUF%OFF(i)
260 igtyp = igeo(11,ixr(1,ep))
269 IF (n/=nc(l)) nrow(n)=nrow(n)+1
272 IF (igtyp==8.OR.igtyp==13)
THEN
276 ELSEIF (igtyp==4.OR.igtyp==12.OR.igtyp==32)
THEN
278 ndof(nc(j))=
max(3,ndof(nc(j)))
286 ELSEIF(ity==7.AND.icnod/=6)
THEN
289 iof = elbuf_tab(ng)%GBUF%OFF(i)
298 IF (npt==1.AND.idril==0)
THEN
299 ndof(n)=
max(3,ndof(n))
304 IF (n/=nc(l)) nrow(n)=nrow(n)+1
329 1 ELBUF ,IPARG ,IXS ,IXQ ,IXC ,
330 2 IXT ,IXP ,IXR ,IXTG ,IXTG1 ,
331 3 IXS10 ,IXS20 ,IXS16 ,NROW ,
332 4 INLOC ,NKMAX ,ICOK ,IGEO ,ELBUF_TAB )
340#include "implicit_f.inc"
344#include "com01_c.inc"
345#include "param_c.inc"
346#include "com04_c.inc"
350 INTEGER IPARG(NPARG,*),NKMAX,IGEO(,*)
352 . IXS(NIXS,*),IXQ(NIXQ,*),IXC(NIXC,*), IXT(NIXT,*), IXP(NIXP,*),
353 . IXR(NIXR,*), IXTG(NIXTG,*),IXS10(6,*),IXS20(12,*),
354 . IXS16(8,*),IXTG1(4,*),NROW(*),ICOK(NKMAX,*),INLOC(*)
358 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
362 INTEGER NC(20),NG,ITY,NEL,NFT,IAD,ISNOD,ICNOD,
363 . I,J,K,N,M,EP,L,IGTYP,,K1,IHBE,NK,EP1,IAD0
369 IF (iparg(8,ng)/=1)
THEN
373 IF (iparg(1,ng) == 0 .OR. iparg(1,ng) == 13) cycle
385 iof = elbuf_tab(ng)%GBUF%OFF(i)
394 ELSEIF (isnod==6)
THEN
402 ELSEIF (isnod==10)
THEN
410 IF (ixs10(j,ep1)>0)
THEN
412 nc(nnod) = ixs10(j,ep1)
415 ELSEIF (isnod==8)
THEN
422 ELSEIF (isnod==20)
THEN
427 ep1=ep-(numels8+numels10)
454 iof = elbuf_tab(ng)%GBUF%OFF(i)
473 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
487 iof = elbuf_tab(ng)%GBUF%OFF(i)
499 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
512 iof=elbuf_tab(ng)%GBUF%OFF(i)
523 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
536 iof=elbuf_tab(ng)%GBUF%OFF(i)
547 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
560 iof=elbuf_tab(ng)%GBUF%OFF(i)
565 igtyp = igeo(11,ixr(1,ep))
576 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
586 ELSEIF(ity==7.AND.icnod/=6)
THEN
589 iof = elbuf_tab(ng)%GBUF%OFF(i)
601 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
624 1 ELBUF ,IPARG ,IXS ,IXQ ,IXC ,
625 2 IXT ,IXP ,IXR ,IXTG ,IXTG1 ,
626 3 IXS10 ,IXS20 ,IXS16 ,NROW ,
627 4 INLOC ,NNMAX ,ICOK ,NKMAX ,ICOKM ,
628 5 INK ,IGEO ,ELBUF_TAB )
636#include "implicit_f.inc"
640#include "com01_c.inc"
641#include "param_c.inc"
642#include "com04_c.inc"
646 INTEGER IPARG(NPARG,*),NNMAX,NKMAX,IGEO(NPROPGI,*)
648 . IXS(NIXS,*),IXQ(NIXQ,*),IXC(NIXC,*), IXT(NIXT,*), IXP(NIXP,*),
649 . IXR(NIXR,*), IXTG(NIXTG,*),IXS10(6,*),IXS20(12,*),
651 . NROW(*),ICOK(NNMAX,*),ICOKM(NKMAX,*),INLOC(*),INK
655 TYPE (),
DIMENSION(NGROUP) :: ELBUF_TAB
659 INTEGER NC(20),NG,ITY,NEL,NFT,IAD,ISNOD,ICNOD,
660 . i,j,k,n,m,ep,l,igtyp,nnod,k1,ihbe,nk,ep1,iad0
665 IF (iparg(8,ng)/=1)
THEN
669 IF (iparg(1,ng) == 0 .OR. iparg(1,ng) == 13) cycle
681 iof = elbuf_tab(ng)%GBUF%OFF(i)
690 ELSEIF (isnod==6)
THEN
698 ELSEIF (isnod==10)
THEN
706 IF (ixs10(j,ep1)>0)
THEN
708 nc(nnod) = ixs10(j,ep1)
711 ELSEIF (isnod==8)
THEN
718 ELSEIF (isnod==20)
THEN
723 ep1=ep-(numels8+numels10)
735 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
741 CALL reorder_a(nrow(nk),icokm(1,nk),nc(l))
754 iof = elbuf_tab(ng)%GBUF%OFF(i)
773 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
779 CALL reorder_a(nrow(nk),icokm(1,nk),nc(l))
793 iof = elbuf_tab(ng)%GBUF%OFF(i)
805 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
811 CALL reorder_a(nrow(nk),icokm(1,nk),nc(l))
824 iof=elbuf_tab(ng)%GBUF%OFF(i)
835 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
841 CALL reorder_a(nrow(nk),icokm(1,nk),nc(l))
854 iof=elbuf_tab(ng)%GBUF%OFF(i)
865 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
871 CALL reorder_a(nrow(nk),icokm(1,nk),nc(l))
884 iof=elbuf_tab(ng)%GBUF%OFF(i)
889 igtyp = igeo(11,ixr(1,ep))
900 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
916 ELSEIF(ity==7.AND.icnod/=6)
THEN
919 iof = elbuf_tab(ng)%GBUF%OFF(i)
937 CALL reorder_a(nrow(nk),icokm(1,nk),nc(l))
961 1 ELBUF ,IPARG ,IXS ,IXQ ,IXC ,
962 2 IXT ,IXP ,IXR ,IXTG ,IXTG1 ,
963 3 IXS10 ,IXS20 ,IXS16 ,NROW ,
964 4 INLOC ,NNMAX ,ICOK ,NKMAX ,ICOKM ,
965 5 INK ,IGEO ,ELBUF_TAB )
973#include "implicit_f.inc"
977#include "com01_c.inc"
978#include "param_c.inc"
979#include "com04_c.inc"
983 INTEGER IPARG(NPARG,*),NNMAX,NKMAX,IGEO(NPROPGI,*)
988 . nrow(*),icok(nnmax,*),icokm(nkmax,*),inloc(*),ink
992 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
996 INTEGER NC(20),NG,ITY,NEL,NFT,IAD,ISNOD,ICNOD,
997 . I,J,K,N,M,EP,L,IGTYP,NNOD,K1,IHBE,NK,NK1,EP1,IAD0
1003 IF (iparg(8,ng)/=1)
THEN
1007 IF (iparg(1,ng) == 0 .OR. iparg(1,ng
1019 iof = elbuf_tab(ng)%GBUF%OFF(i)
1028 ELSEIF (isnod==6)
THEN
1036 ELSEIF (isnod==10)
THEN
1044 IF (ixs10(j,ep1)>0)
THEN
1046 nc(nnod) = ixs10(j,ep1)
1049 ELSEIF (isnod==8)
THEN
1056 ELSEIF (isnod==20)
THEN
1061 ep1=ep-(numels8+numels10)
1063 nc(j)=ixs20(j-8,ep1)
1076 CALL reorder_a(nrow(nk),icokm(1,nk1),nc(l))
1082 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
1095 iof = elbuf_tab(ng)%GBUF%OFF(i)
1115 CALL reorder_a(nrow(nk),icokm(1,nk1),nc(l))
1121 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
1135 iof = elbuf_tab(ng)%GBUF%OFF(i)
1148 CALL reorder_a(nrow(nk),icokm(1,nk1),nc(l))
1154 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
1167 iof=elbuf_tab(ng)%GBUF%OFF(i)
1179 CALL reorder_a(nrow(nk),icokm(1,nk1),nc(l))
1185 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
1198 iof=elbuf_tab(ng)%GBUF%OFF(i)
1210 CALL reorder_a(nrow(nk),icokm(1,nk1),nc(l))
1216 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
1229 iof=elbuf_tab(ng)%GBUF%OFF(i)
1234 igtyp = igeo(11,ixr(1,ep))
1252 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
1262 ELSEIF(ity==7.AND.icnod/=6)
THEN
1265 iof = elbuf_tab(ng)%GBUF%OFF(i)
1278 CALL reorder_a(nrow(nk),icokm(1,nk1),nc(l))
1284 CALL reorder_a(nrow(nk),icok(1,nk),nc(l))
1310 1 ELBUF ,IPARG ,IXS ,IXQ ,IXC ,
1311 2 IXT ,IXP ,IXR ,IXTG ,IXTG1 ,
1312 3 IXS10 ,IXS20 ,IXS16 ,NROW ,
1313 4 INLOC ,NKMAX ,ICOK ,IGEO ,ELBUF_TAB )
1321#include "implicit_f.inc"
1325#include "com01_c.inc"
1326#include "param_c.inc"
1327#include "com04_c.inc"
1331 INTEGER IPARG(NPARG,*),NKMAX,IGEO(NPROPGI,*)
1333 . IXS(NIXS,*),IXQ(NIXQ,*),IXC(NIXC,*), IXT(NIXT,*), IXP(NIXP,*),
1334 . IXR(NIXR,*), IXTG(NIXTG,*),IXS10(6,*),IXS20(12,*),
1335 . IXS16(8,*),IXTG1(4,*),NROW(*),ICOK(NKMAX,*),INLOC(*)
1339 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
1343 INTEGER NC(20),NG,ITY,NEL,NFT,IAD,ISNOD,ICNOD,
1344 . I,J,K,N,M,EP,L,IGTYP,NNOD,K1,IHBE,NK,NJ,EP1,IAD0
1350 IF (iparg(8,ng)/=1)
THEN
1354 IF (iparg(1,ng) == 0 .OR. iparg(1,ng) == 13) cycle
1366 iof = elbuf_tab(ng)%GBUF%OFF(i)
1375 ELSEIF (isnod==6)
THEN
1383 ELSEIF (isnod==10)
THEN
1391 IF (ixs10(j,ep1)>0)
THEN
1393 nc(nnod) = ixs10(j,ep1)
1396 ELSEIF (isnod==8)
THEN
1403 ELSEIF (isnod==20)
THEN
1408 ep1=ep-(numels8+numels10)
1410 nc(j)=ixs20(j-8,ep1)
1422 IF (n/=nj.AND.inloc(nj)>0)
THEN
1423 CALL reorder_a(nrow(nk),icok(1,nk),inloc(nj))
1436 iof = elbuf_tab(ng)%GBUF%OFF(i)
1455 IF (n/=nj.AND.inloc(nj)>0)
THEN
1456 CALL reorder_a(nrow(nk),icok(1,nk),inloc(nj))
1470 iof = elbuf_tab(ng)%GBUF%OFF(i)
1482 IF (n/=nj.AND.inloc(nj)>0)
THEN
1483 CALL reorder_a(nrow(nk),icok(1,nk),inloc(nj))
1496 iof=elbuf_tab(ng)%GBUF%OFF(i)
1507 IF (n/=nj.AND.inloc(nj)>0)
THEN
1508 CALL reorder_a(nrow(nk),icok(1,nk),inloc(nj))
1521 iof=elbuf_tab(ng)%GBUF%OFF(i)
1532 IF (n/=nj.AND.inloc(nj)>0)
THEN
1533 CALL reorder_a(nrow(nk),icok(1,nk),inloc(nj))
1546 iof=elbuf_tab(ng)%GBUF%OFF(i)
1551 igtyp = igeo(11,ixr(1,ep))
1562 IF (n/=nj.AND.inloc(nj)>0)
THEN
1563 CALL reorder_a(nrow(nk),icok(1,nk),inloc(nj))
1573 ELSEIF(ity==7.AND.icnod/=6)
THEN
1576 iof = elbuf_tab(ng)%GBUF%OFF(i)
1588 IF (n/=nj.AND.inloc(nj)>0)
THEN
1589 CALL reorder_a(nrow(nk),icok(1,nk),inloc(nj))
1612 1 IXS ,IXQ ,IXC ,IXT ,IXP ,
1613 2 IXR ,IXTG ,IXTG1 ,IXS10 ,IXS20 ,
1614 3 IXS16 ,IPARG ,ELBUF ,NDOF ,
1615 4 NROW ,INLOC ,NNMAX ,L_MAX ,C_MAX ,
1624#include "implicit_f.inc"
1628#include "com01_c.inc"
1629#include "com04_c.inc"
1630#include "param_c.inc"
1634 INTEGER IPARG(NPARG,*),IGEO(NPROPGI,*)
1636 . IXS(NIXS,*),IXQ(NIXQ,*),IXC(NIXC,*), IXT(NIXT,*), IXP(NIXP,*),
1637 . IXR(NIXR,*), IXTG(NIXTG,*),IXS10(6,*),IXS20(12,*),
1638 . ixs16(8,*),ixtg1(4,*),ndof(*),nrow(*),inloc(*),
1643 TYPE (),
DIMENSION(NGROUP) :: ELBUF_TAB
1647 INTEGER ICOL(L_MAX,C_MAX),,J,K,N,NFT,JLT,NK
1654 DO nft = 0 , numnod-1 ,c_max
1655 jlt =
min( c_max, numnod - nft )
1661 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
1662 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
1663 3 ixs10 ,ixs20 ,ixs16 ,nrow(nft+1) ,
1664 4 inloc ,l_max ,icol ,igeo ,elbuf_tab )
1668 nnmax=
max(nnmax,nrow(n))
1682 1 IGEO ,NPBY ,LPBY ,ITAB ,NRBYAC ,
1683 2 IRBYAC ,NINT2 ,IINT2 ,IPARI ,
1684 3 NDOF ,NSI2 ,NSRB ,NKINE ,
1685 7 INLOC ,IRBE3 ,IRBE2 ,LRBE2 ,NKINM ,
1695#include "implicit_f.inc"
1699#include "com04_c.inc"
1700#include "param_c.inc"
1704 INTEGER (NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*)
1705 INTEGER NINT2,IINT2(*),IPARI(NPARI,*),NSI2,NSRB,
1706 . NDOF(*),NKINE,INLOC(*),IGEO(*),IRBE3(NRBE3L,*),
1707 . IRBE2(NRBE2L,*),LRBE2(*),NKINM
1709 TYPE (INTBUF_STRUCT_) INTBUF_TAB(*)
1713 INTEGER NSN,I,J,K,N,M,NS
1720 IF (inloc(m)==0)
THEN
1729 IF (inloc(m)==0)
THEN
1743 ns=intbuf_tab(n)%NSV(j)
1744 IF (inloc(ns)==0.AND.ndof(ns)>0)
THEN
1754 IF (inloc(ns)==0.AND.ndof(ns)>0)
THEN
1766 IF (inloc(ns)==0.AND.ndof(ns)>0)
THEN
1779 IF (inloc(ns)==0.AND.ndof(ns)>0)
THEN
1800 1 NPBY ,LPBY ,ITAB ,NRBYAC ,
1801 2 IRBYAC ,NDOF ,NSRB ,IPARI ,
1802 3 NINT2 ,IINT2 ,NSI2 ,NPRW ,IRBE3 ,
1803 4 IRBE2 ,NSRB2 ,FR_ELEM ,IAD_ELEM ,INTBUF_TAB)
1811#include "implicit_f.inc"
1815#include "param_c.inc"
1816#include "com01_c.inc"
1817#include "com09_c.inc"
1818#include "com04_c.inc"
1819#include "task_c.inc"
1823 INTEGER NPBY(NNPBY,*),LPBY(*),(*),NRBYAC,IRBYAC(*)
1824 INTEGER NINT2,IINT2(*),IPARI(NPARI,*),NSI2
1825 INTEGER NSRB,NDOF(*),NPRW(*),IRBE3(NRBE3L,*),IRBE2(NRBE2L,*),
1826 . NSRB2,FR_ELEM(*),IAD_ELEM(2,*)
1828 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
1837 INTEGER NMN,JI,K10,K11,K12,K13,K14,J,K,NDOFI,NSN
1838 INTEGER I,N,M,IC,ICT,ICR,INS(NRBE3),NP,NIN,NTY,
1844 CALL i2_prem(ipari,k,nint2,iint2,nsi2)
1847 CALL rbyac_imp(npby,itab,nrbyac,irbyac,nsrb)
1855 IF (iroddl>0) ndofi=6
1859 IF (m>0) ndof(m)=ndofi
1862 IF (nspmd > 1 .AND.ninter > 0)
THEN
1869 IF (ispmd/=0.AND.(nty<7.OR.nty==8
1870 . .OR.nty==14.OR.nty==15)) cycle
1871 IF(nty==5.OR.nty==7.OR.nty==10.OR.nty==11
1874 IF (intab(nsn,intbuf_tab(nin)%NSV(1),n)) ins(i)=1
1880 IF (n==0.OR.ins(i)==0) cycle
1911 1 NINT2 ,IINT2 ,IPARI ,NDOF ,
1912 2 NRBE3 ,IRBE3 ,LRBE3 ,NRBE2 ,IRBE2 ,
1913 3 LRBE2 ,INTBUF_TAB)
1921#include "implicit_f.inc"
1925#include "param_c.inc"
1929 INTEGER NINT2,IINT2(*),IPARI(NPARI,*),NDOF(*),
1930 . NRBE3 ,IRBE3(NRBE3L,*),LRBE3(*),NRBE2,IRBE2(NRBE2L,*),
1934 TYPE (INTBUF_STRUCT_) INTBUF_TAB(*)
1939 INTEGER I,N,M,,NS,ID,NM,NSN,IAD,ILEV,NDOFM,IROT,IC
1949 IF (ilev == 0) ndofm=6
1951 ns=intbuf_tab(n)%NSV(j)
1952 IF (ndof(ns)>0)
THEN
1953 l=intbuf_tab(n)%IRTLM(j)
1956 nm=intbuf_tab(n)%IRECTM(id+m)
1957 IF (ndof(nm)<=0) ndof(nm)=
min(ndof(nm),-ndofm)
1969 ns=intbuf_tab(n)%NSV(j)
1970 IF (ndof(ns)>0)
THEN
1971 l=intbuf_tab(n)%IRTLM(j)
1974 nm=intbuf_tab(n)%IRECTM(id+m)
1975 IF (ndof(nm)<0) ndof(nm)=-ndof(nm)
1985 IF (ns==0.OR.ndof(ns)==0) cycle
1987 IF (irot > 0) ndofm=6
1991 IF (ndof(nm)<=0) ndof(nm)=
min(ndof(nm),-ndofm)
1998 IF (ns==0.OR.ndof(ns)==0) cycle
2002 IF (ndof(nm)<=0) ndof(nm)=-ndof(nm)
2014 IF (ndof(ns)<=3) irbe2(4,i)=ic*512
2015 ndof(m)=
max(ndof(m),ndof(ns))
2025!||--- calls -----------------------------------------------------
2029 1 NPBY ,LPBY ,NRBYAC ,IRBYAC ,NDOF ,
2034#include "implicit_f.inc"
2038#include "param_c.inc"
2039#include "com01_c.inc"
2040#include "com04_c.inc"
2044 INTEGER NPBY(NNPBY,*),LPBY(*),NRBYAC,IRBYAC(*)
2045 INTEGER NDOF(*),IAD_RBY(*),FR_RBY(*)
2050 INTEGER I,J,K,N,M,NSN,NS,IE,NN
2052 IF (nrbyac==0)
RETURN
2061 IF (ndof(ns)>0) ie = 1
2068 nn=iad_rby(nspmd+1)-iad_rby(1)
2069 IF (nn>0)
CALL spmd_i2d(ndof,fr_rby,iad_rby,nn)
2078 irbyac(ie) = irbyac(i)
2079 irbyac(ie+nrbykin) = irbyac(i+nrbykin)
2096 1 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
2097 2 NINT2 ,IINT2 ,IPARI ,INTBUF_TAB,NDOF ,
2098 3 NNMAX ,NROW ,NROWI ,NKINE ,INLOC ,
2099 4 ICOK ,IRBE3 ,LRBE3 ,IRBE2 ,LRBE2 )
2107#include "implicit_f.inc"
2111#include "com04_c.inc"
2112#include "param_c.inc"
2117 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*)
2118 INTEGER NINT2,IINT2(*),IPARI(NPARI,*),
2119 . ndof(*),nkine,inloc(*),irbe3(nrbe3l,*),lrbe3(*),
2120 . irbe2(nrbe2l,*),lrbe2(*)
2121 INTEGER NROW(*),NROWI(*),ICOK(NNMAX,*)
2123 TYPE(intbuf_struct_) INTBUF_TAB(*)
2134 INTEGER NSN,NMN,I,J,K,N,M,EP,L,NI,NJ,K12,ID,NS,NK,NM,NNOD,N1,L1,NL1,NL,J1,NM1,
2135 . JI1,L10,L11,L12,L13,L14,NNOD1,I1,NSN1,M1,NKE,IAD,IC
2146 ns=intbuf_tab(n)%NSV(j)
2147 IF (ndof(ns)>0)
THEN
2148 l=intbuf_tab(n)%IRTLM(j)
2150 IF (intbuf_tab(n)%IRECTM(id+3)==intbuf_tab(n)%IRECTM(id+4))
THEN
2156 nm=intbuf_tab(n)%IRECTM(id+m)
2157 IF (ndof(nm)>0)nrow(nm)=nrow(nm)+nnod-1
2162 IF (.NOT.intab(nsn,intbuf_tab(n)%NSV(1) ,nj))
THEN
2163 IF (inloc(nj)==0.AND.ndof(nj)>0)
THEN
2168 nm=intbuf_tab(n)%IRECTM(id+m)
2176 nj=intbuf_tab(n)%NSV(n1)
2177 l1=intbuf_tab(n)%IRTLM(n1)
2178 IF (ndof(nj)>0.AND.l/=l1)
THEN
2179 IF (intab(nrowi(nks),icok(1,nks),nj))
THEN
2182 nm=intbuf_tab(n)%IRECTM(id+m)
2184 nm1=intbuf_tab(n)%IRECTM(nl1+j1)
2187 nrow(nm1)=nrow(nm1)+1
2197 nm=intbuf_tab(n)%MSR(j)
2198 IF (inloc(nm)==0.AND.ndof(nm)>0)
THEN
2214 l11=l10+4*ipari(3,n1)
2215 l12=l11+4*ipari(4,n1)
2219 ni=intbuf_tab(n)%NSV(i)
2220 IF (ndof(ni)>0)
THEN
2224 nj=intbuf_tab(n1)%NSV(i1)
2226 . intab(nrowi(nke),icok(1,nke),nj))
THEN
2227 l=intbuf_tab(n)%IRTLM(i)
2229 IF (intbuf_tab(n)%IRECTM(nl+3)==intbuf_tab(n)%IRECTM(nl+4))
THEN
2234 l1=intbuf_tab(n1)%IRTLM(i1)
2236 IF (intbuf_tab(n1)%IRECTM(nl1+3)==intbuf_tab(n1)%IRECTM(nl1+4))
THEN
2242 nm=intbuf_tab(n)%IRECTM(nl+m)
2244 nm1=intbuf_tab(n1)%IRECTM(nl1+m1)
2245 IF (ndof(nm)>0.AND.ndof(nm1)>0)
THEN
2247 nrow(nm1)=nrow(nm1)+1
2268 ic = 7*512+7*64-irbe2(4,i)
2271 IF (ndof(ns)>0)
THEN
2275 IF (ndof(nj)>0)
THEN
2277 nrow(nj)=nrow(nj)+1+nhrbe2
2278 IF (inloc(nj)==0)
THEN
2285 IF (nrow(ns)>nrowi(nks)) nrow(m)=nrow(m)+ nrow(ns)-nrowi(nks)
2299 IF (ns==0.OR.ndof(ns)==0) cycle
2305 IF (ndof(nm)>0)nrow(nm)=nrow(nm)+nnod-1
2309 IF (inloc(nj)==0.AND.ndof(nj)>0)
THEN
2320 IF (nrow(ns)>nrowi(nks))
THEN
2321 k12 = nrow(ns)-nrowi(nks)
2324 nrow(nm)=nrow(nm)+ k12 + k12
2330 IF (nj==0.OR.ndof(nj)==0) cycle
2331 IF (intab(nrowi(nks),icok(1,nks),nj))
THEN
2340 nrow(nm1)=nrow(nm1)+1
2349 IF (inloc(nm)==0.AND.ndof(nm)>0)
THEN
2360 IF (inloc(m)<0) inloc(m)=-inloc(m)
2365 IF (ndof(ns)>0)
THEN
2369 IF (ndof(nj)>0)
THEN
2370 IF (.NOT.intab(nsn,lpby(k+1),nj))
THEN
2373 IF (inloc(nj)==0)
THEN
2380 IF (nrow(ns)>nrowi(nks)) nrow(m)=nrow(m)+ nrow(ns)-nrowi(nks)
2402 1 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
2403 2 NINT2 ,IINT2 ,IPARI ,INTBUF_TAB,NDOF ,
2404 3 NNMAX ,NROWI ,NKINE ,INLOC ,ICOK ,
2405 4 NSS ,NSIJ ,NMIJ ,NSS2 ,NSIJ2 ,
2406 5 NMIJ2 ,NKMAX ,ICOKM ,INK ,IRBE3 ,
2407 6 LRBE3 ,NSS3 ,IRBE2 ,LRBE2 ,NSB2 )
2415#include "implicit_f.inc"
2419#include "com04_c.inc"
2420#include "param_c.inc"
2425 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*)
2426 INTEGER NINT2,IINT2(*),IPARI(NPARI,*),
2427 . ndof(*),nkine,inloc(*),nmij2,nss3
2428 INTEGER NROWI(*),ICOK(NNMAX,*),NSS ,NSIJ ,NMIJ,NSS2 ,NSIJ2
2429 INTEGER NKMAX,ICOKM(NKMAX,*),INK,IRBE3(NRBE3L,*),LRBE3(*),
2430 . irbe2(nrbe2l,*),lrbe2(*),nsb2
2432 TYPE(intbuf_struct_) INTBUF_TAB(*)
2442 INTEGER NKS,NKM,NKE1,NKE2,NKM1,NKE
2443 INTEGER NSN,NMN,I,J,K,N,M,EP,L,NI,NJ,JI,K10,K11,K12,K13,
2444 . K14,KFI,ID,NS,NK,NM,NNOD,N1,L1,NL1,NL,J1,NM1,N2,
2445 . JI1,L10,L11,L12,L13,L14,NNOD1,I1,NSN1,M1,IAD,IC
2458 k11=k10+4*ipari(3,n)
2460 k12=k11+4*ipari(4,n)
2468 ns=intbuf_tab(n)%NSV(j)
2469 IF (ndof(ns)>0)
THEN
2470 l=intbuf_tab(n)%IRTLM(j)
2472 IF (intbuf_tab(n)%IRECTM(id+3)==intbuf_tab(n)%IRECTM(id+4))
THEN
2478 nm=intbuf_tab(n)%IRECTM(id+m)
2479 IF (ndof(nm)>0)
THEN
2482 nm1=intbuf_tab(n)%IRECTM(id+j1)
2483 IF (nm/=nm1)
CALL reorder_a(nrowi(nke1),icok(1,nke1),nm1)
2491 . (.NOT.intab(nsn,intbuf_tab(n)%NSV(1),nj)))
THEN
2495 nm=intbuf_tab(n)%IRECTM(id+m)
2496 IF (ndof(nm)>0)
THEN
2498 CALL reorder_a(nrowi(nke1),icok(1,nke1),nj)
2499 CALL reorder_a(nrowi(nke2),icok(1,nke2),nm)
2506 nj=intbuf_tab(n)%NSV(n1)
2507 l1=intbuf_tab(n)%IRTLM(n1)
2509 . intab(nrowi(nks),icok(1,nks),nj))
THEN
2514 nm=intbuf_tab(n)%IRECTM(id+m)
2515 IF (ndof(nm)>0)
THEN
2518 nm1=intbuf_tab(n)%IRECTM(nl1+j1)
2519 IF (nm/=nm1.AND.ndof(nm1)>0)
THEN
2521 CALL reorder_a(nrowi(nke1),icok(1,nke1),nm1)
2522 CALL reorder_a(nrowi(nke2),icok(1,nke2),nm)
2540 ic = 7*512+7*64-irbe2(4,n)
2543 IF (ndof(ns)>0)
THEN
2552 IF (ndof(nj)>0.AND.nj/=ns)
THEN
2554 CALL reorder_a(nrowi(nke1),icokm(1,nke1),nj)
2556 CALL reorder_a(nrowi(nke2),icok(1,nke2),m)
2557 ELSEIF (nke2>0)
THEN
2558 CALL reorder_a(nrowi(nke2),icokm(1,nke2),m)
2563 CALL reorder_a(nrowi(nke1),icokm(1,nke1),ns)
2565 CALL reorder_a(nrowi(nks),icok(1,nks),m)
2566 ELSEIF (nks > 0)
THEN
2567 CALL reorder_a(nrowi(nks),icokm(1,nks),m)
2580 IF (ndof(ns)>0)
THEN
2584 IF (ndof(nm)>0)
THEN
2588 IF (nke1>ink.AND.nm/=nm1)
THEN
2589 CALL reorder_a(nrowi(nke1),icok(1,nke1),nm1)
2590 ELSEIF (nke1>0.AND.nm/=nm1)
THEN
2591 CALL reorder_a(nrowi(nke1),icokm(1,nke1),nm1)
2595 CALL reorder_a(nrowi(nke2),icok(1,nke2),nm)
2596 ELSEIF (nke2>0)
THEN
2597 CALL reorder_a(nrowi(nke2),icokm(1,nke2),nm)
2610 IF (ndof(nj)>0 )
THEN
2615 IF (ndof(nm)>0)
THEN
2619 CALL reorder_a(nrowi(nke1),icok(1,nke1),nj)
2620 ELSEIF (nke1>0)
THEN
2621 CALL reorder_a(nrowi(nke1),icokm(1,nke1),nj)
2625 CALL reorder_a(nrowi(nke2),icok(1,nke2),nm)
2626 ELSEIF (nke2>0)
THEN
2627 CALL reorder_a(nrowi(nke2),icokm(1,nke2),nm)
2650 IF (ndof(ns)>0)
THEN
2660 . (.NOT.intab(nsn,lpby(k+1),nj)))
THEN
2662 CALL reorder_a(nrowi(nke1),icokm(1,nke1),nj)
2664 CALL reorder_a(nrowi(nke2),icok(1,nke2),m)
2665 ELSEIF (nke2>0)
THEN
2666 CALL reorder_a(nrowi(nke2),icokm(1,nke2),m)
2675 . (intab(nrowi(nks),icok(1,nks),nj)))
THEN
2680 . (intab(nrowi(nks),icokm(1,nks),nj)))
THEN
2701 l1=irbyac(j1+nrbykin)
2704 IF (intab(nrowi(nke1),icokm(1,nke1),nm))
THEN
2708 IF (ndof(ni)>0)
THEN
2711 IF (intab(nrowi(nks),icok(1,nks),m))
THEN
2716 . intab(nrowi(nks),icok(1,nks),n2))
THEN
2722 IF (intab(nrowi(nks),icokm
THEN
2727 . intab(nrowi(nks),icokm(1,nks),n2))
THEN
2756 1 ITAB ,NRBYAC ,IRBYAC ,NSC ,ISIJ ,
2757 2 NMC ,IMIJ ,NSS ,ISS ,NINT2 ,
2758 3 IINT2 ,IPARI ,INTBUF_TAB,NSC2 ,ISIJ2 ,
2759 4 NSS2 ,ISS2 ,NDOF ,NNMAX ,NKINE ,
2760 5 INLOC ,NKMAX ,NROWK ,ICOK ,ICOKM ,
2761 6 NMC2 ,IMIJ2 ,INK ,IRBE3 ,LRBE3 ,
2762 7 ISS3 ,IRBE2 ,LRBE2 ,ISB2 ,NSRB2 )
2771#include "implicit_f.inc"
2775#include "com04_c.inc"
2776#include "param_c.inc"
2777#include "remesh_c.inc"
2782 INTEGER NPBY(,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
2783 . nsc(*),isij(*),nss(*),iss(*),nint2,iint2(*),
2784 . nsc2(*),isij2(*),nss2(*),iss2(*),ipari(npari,*),
2785 . nmc,imij(*),icok(nnmax,*),icokm(nkmax,*),nrowk(*),
2786 . nmc2,imij2(*),irbe2(nrbe2l,*),lrbe2(*),isb2(*),nsrb2(*)
2788 . ndof(*),nkine,inloc(*),ink,irbe3(nrbe3l,*),lrbe3(*),iss3(*)
2790 TYPE(intbuf_struct_) INTBUF_TAB(*)
2801 INTEGER NKE,NKE1,NKE2,IK,NKM1,IAD
2803 . I,J,K,N,L,NL,NJ,NI,J1,M,NSN,N1,N2,NK,ID,
2804 . JI,K10,K11,K12,K13,K14,KFI,NS,NNOD,NM,L1,NL1,NM1,
2805 . JI1,L10,L11,L12,L13,L14,NNOD1,I1,NSN1,M1,K1,IC
2815 k11=k10+4*ipari(3,n)
2817 k12=k11+4*ipari(4,n)
2828 ni=intbuf_tab(n)%NSV(i)
2829 IF (ndof(ni)>0)
THEN
2830 l=intbuf_tab(n)%IRTLM(i)
2832 IF (intbuf_tab(n)%IRECTM(nl+3)==intbuf_tab(n)%IRECTM(nl+4))
THEN
2838 nm=intbuf_tab(n)%IRECTM(nl+m)
2839 IF (ndof(nm)>0)
THEN
2842 nm1=intbuf_tab(n)%IRECTM(nl+j1)
2843 IF (nm/=nm1)
CALL reorder_a(nrowk(nke1),icok(1,nke1),nm1)
2851 . (.NOT.intab(nsn,intbuf_tab(n)%NSV(1),nj)))
THEN
2857 nm=intbuf_tab(n)%IRECTM(nl+m)
2858 IF (ndof(nm)>0)
THEN
2860 CALL reorder_a(nrowk(nke1),icok(1,nke1),nj)
2861 CALL reorder_a(nrowk(nke2),icok(1,nke2),nm)
2869 nj=intbuf_tab(n)%NSV(n1)
2870 l1=intbuf_tab(n)%IRTLM(n1)
2872 . intab(nrowk(nke),icok(1,nke),nj))
THEN
2874 id =nk+2*(nsc2(j)-1)
2880 nm=intbuf_tab(n)%IRECTM(nl+m)
2881 IF (ndof(nm)>0)
THEN
2884 nm1=intbuf_tab(n)%IRECTM(nl1+j1)
2885 IF (nm/=nm1.AND.ndof(nm1)>0)
THEN
2887 CALL reorder_a(nrowk(nke1),icok(1,nke1),nm1)
2888 CALL reorder_a(nrowk(nke2),icok(1,nke2),nm)
2911 ic = 7*512+7*64-irbe2(4,n)
2915 IF (ndof(ni)>0)
THEN
2918 IF (nke <= ink)
THEN
2921 nj=icokm(n1,nke-ink)
2924 IF (ndof(nj)>0.AND.nj/=ni)
THEN
2925 CALL reorder_a(nrowk(nke1),icokm(1,nke1-ink),nj)
2927 CALL reorder_a(nrowk(nke2),icok(1,nke2),m)
2928 ELSEIF (nke2>0)
THEN
2929 CALL reorder_a(nrowk(nke2),icokm(1,nke2-ink),m)
2932 nsrb2(i+k1)=nsrb2(i+k1)+1
2938 CALL reorder_a(nrowk(nke1),icokm(1,nke1-ink),ni)
2939 IF (nke <= ink)
THEN
2940 CALL reorder_a(nrowk(nke),icok(1,nke),m)
2941 ELSEIF (nke > 0)
THEN
2942 CALL reorder_a(nrowk(nke),icokm(1,nke-ink),m)
2957 IF (ndof(ni)>0)
THEN
2960 IF (ndof(nm)>0)
THEN
2964 IF (nke1<=ink.AND.nm/=nm1)
THEN
2965 CALL reorder_a(nrowk(nke1),icok(1,nke1),nm1)
2966 ELSEIF (nm/=nm1)
THEN
2967 CALL reorder_a(nrowk(nke1),icokm(1,nke1-ink),nm1)
2974 IF (nke <= ink)
THEN
2977 nj=icokm(n1,nke-ink)
2979 IF (ndof(nj)>0.AND.ni/=nj)
THEN
2986 IF (ndof(nm)>0)
THEN
2990 CALL reorder_a(nrowk(nke1),icok(1,nke1),nj)
2992 CALL reorder_a(nrowk(nke1),icokm(1,nke1-ink),nj)
2996 CALL reorder_a(nrowk(nke2),icok(1,nke2),nm)
2998 CALL reorder_a(nrowk(nke2),icokm(1,nke2-ink),nm)
3014 k1=irbyac(j+nrbykin)
3025 IF (ndof(ni)>0)
THEN
3028 IF (nke <= ink)
THEN
3031 nj=icokm(n1,nke-ink)
3035 . (.NOT.intab(nsn,lpby(k1+1),nj)))
THEN
3036 CALL reorder_a(nrowk(nke1),icokm(1,nkm1),nj)
3038 CALL reorder_a(nrowk(nke2),icok(1,nke2),m)
3043 CALL reorder_a(nrowk(nke2),icokm(1,nke2-ink),m)
3051 IF (nke <= ink)
THEN
3053 . (intab(nrowk(nke),icok(1,nke),nj)))
THEN
3061 . (intab(nrowk(nke),icokm(1,nke-ink),nj)))
THEN
3089 l1=irbyac(j1+nrbykin)
3092 IF (ndof(nm)>0.AND. nkmax>0)
THEN
3093 IF (intab(nrowk(nke1),icokm(1,nkm1),nm))
THEN
3097 IF (ndof(ni)>0)
THEN
3099 IF (nke <= ink)
THEN
3100 IF (intab(nrowk(nke),icok(1,nke),m))
THEN
3106 . intab(nrowk(nke),icok(1,nke),n2))
THEN
3118 IF (intab(nrowk(nke),icokm(1,nke-ink),m))
THEN
3124 . intab(nrowk(nke),icokm(1,nke-ink),n2))
THEN
3170 1 IGEO ,NPBY ,LPBY ,ITAB ,NRBYAC ,
3171 2 IRBYAC ,NINT2 ,IINT2 ,IPARI ,
3172 3 INTBUF_TAB,IXS ,IXQ ,IXC ,IXT ,
3173 4 IXP ,IXR ,IXTG ,IXTG1 ,IXS10 ,
3174 5 IXS20 ,IXS16 ,IPARG ,NDOF ,
3175 6 NSI2 ,NSRB ,ELBUF ,NKINE ,INLOC ,
3176 7 NROW ,NNMAX ,NKMAX ,NSS ,NSIJ ,
3177 8 NMIJ ,NSS2 ,NSIJ2 ,NMIJ2 ,FR_ELEM ,
3178 9 IAD_ELEM ,SH4TREE ,SH3TREE ,IRBE3 ,LRBE3 ,
3179 A NSS3 ,IRBE2 ,LRBE2 ,NSB2 ,ELBUF_TAB )
3188#include "implicit_f.inc"
3192#include "com01_c.inc"
3193#include "com04_c.inc"
3194#include "param_c.inc"
3195#include "impl1_c.inc"
3196#include "remesh_c.inc"
3200 INTEGER IPARG(NPARG,*),IGEO(*),IRBE3(*),LRBE3(*)
3201 INTEGER NPBY(NNPBY,*),LPBY(*),(*),NRBYAC,IRBYAC(*)
3202 INTEGER NINT2,IINT2(*),IPARI(NPARI,*),NSI2,NSRB
3203 INTEGER FR_ELEM(*),IAD_ELEM(2,*),SH4TREE(*),SH3TREE(*)
3205 . ixs(nixs,*),ixq(nixq,*),ixc(nixc,*), ixt(nixt,*), ixp(nixp,*),
3206 . ixr(nixr,*), ixtg(nixtg,*),ixs10(6,*),ixs20(12,*),
3207 . ixs16(8,*),ixtg1(4,*),ndof(*),nrow(*),nnmax,nkine,
3208 . inloc(*),nkmax,nss,nsij,nmij,nss2,nsij2,nmij2,nss3,
3209 . irbe2(*),lrbe2(*),nsb2
3212 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) ::
3213 TYPE(intbuf_struct_) INTBUF_TAB(*)
3217 INTEGER I,J,K,N,M,L,NKINE0,NNMAX0,NK,L1,L2,IERR,LNK
3218 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ICOK,NROWI
3225 1 igeo ,npby ,lpby ,itab ,nrbyac ,
3226 2 irbyac ,nint2 ,iint2 ,ipari ,
3227 3 ndof ,nsi2 ,nsrb ,nkine ,
3228 7 inloc ,irbe3 ,irbe2 ,lrbe2 ,lnk ,
3234 ALLOCATE(icok(nkine*nnmax))
3235 ALLOCATE(nrowi(nkine))
3241 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
3242 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
3243 3 ixs10 ,ixs20 ,ixs16 ,nrowi ,
3244 4 inloc ,nnmax ,icok ,igeo ,elbuf_tab )
3247 1 nnmax ,nnmax ,nrowi ,icok ,icok ,
3248 2 inloc ,numnod ,fr_elem ,iad_elem )
3252 IF (nk > 0) nrow(n) =
max(nrow(n),nrowi(nk))
3256 1 npby ,lpby ,itab ,nrbyac ,irbyac ,
3257 2 nint2 ,iint2 ,ipari ,intbuf_tab,ndof ,
3258 3 nnmax ,nrow ,nrowi ,nkine ,inloc ,
3259 4 icok ,irbe3 ,lrbe3 ,irbe2 ,lrbe2 )
3270 nnmax=
max(nnmax,nrow(n))
3272 nkmax=
max(nkmax,nrow(n))
3277 nkmax=
max(nkmax,nnmax)
3282 nk = lnk*nkmax+nkine*nnmax
3284 ALLOCATE(nrowi(nkine))
3292 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
3293 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
3294 3 ixs10 ,ixs20 ,ixs16 ,nrowi ,
3295 4 inloc ,nnmax ,icok(l2) ,nkmax ,icok(l1) ,
3296 5 lnk ,igeo ,elbuf_tab )
3300 1 nnmax ,nkmax ,nrowi ,icok(l2) ,icok(l1) ,
3301 2 inloc ,lnk ,fr_elem ,iad_elem )
3305 1 npby ,lpby ,itab ,nrbyac ,irbyac ,
3306 2 nint2 ,iint2 ,ipari ,intbuf_tab,ndof ,
3307 3 nnmax ,nrowi ,nkine ,inloc ,icok(l2) ,
3308 4 nss ,nsij ,nmij ,nss2 ,nsij2 ,
3309 5 nmij2 ,nkmax ,icok(l1) ,lnk ,irbe3 ,
3310 6 lrbe3 ,nss3 ,irbe2 ,lrbe2 ,nsb2 )
3316 nnmax=
max(nnmax,nrowi(nk))
3318 nkmax=
max(nkmax,nrowi(nk))
3323 IF (nk>0)nrow(n)=nrowi(nk)
3329 IF (nadmesh > 0)
CALL rmdim_imp(ixc ,ixtg ,ndof ,nnmax,nkine,
3330 1 inloc,nrow ,itab ,sh4tree,sh3tree)
3337!||--- called by ------------------------------------------------------
3353!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.f90
3356!||====================================================================
3358 1 GEO ,NPBY ,LPBY ,ITAB ,NRBYAC ,
3359 2 IRBYAC ,NINT2 ,IINT2 ,IPARI ,
3360 3 IXS ,IXQ ,IXC ,IXT ,
3361 4 IXP ,IXR ,IXTG ,IXTG1 ,IXS10 ,
3362 5 IXS20 ,IXS16 ,IPARG ,NDOF ,
3363 6 IDDL ,NDDL ,NNZK ,ELBUF ,INLOC ,
3364 7 LSIZE ,FR_ELEM ,IAD_ELEM ,FR_I2M ,IAD_I2M ,
3365 8 NPRW ,NMONV ,IMONV ,MONVOL ,IGRSURF ,
3366 9 FR_MV ,IPM ,IGEO ,IAD_RBY ,
3367 A FR_RBY ,SH4TREE ,SH3TREE ,IRBE3 ,LRBE3 ,
3368 B FR_RBE3M ,IAD_RBE3M ,IRBE2 ,LRBE2 ,IBFV ,
3369 C VEL ,ELBUF_TAB ,IFRAME ,INTBUF_TAB )
3379#include "implicit_f.inc"
3383#include "com01_c.inc"
3384#include "com04_c.inc"
3385#include "param_c.inc"
3386#include "impl1_c.inc"
3387#include "task_c.inc"
3391 INTEGER IPARG(NPARG,*),FR_ELEM(*) ,IAD_ELEM(2,*)
3392 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*)
3393 INTEGER NINT2,(*),IPARI(NPARI,*),
3394 . fr_i2m(*),iad_i2m(*),fr_rby(*),iad_rby(*)
3395 INTEGER NMONV,IMONV(*),MONVOL(*),
3396 . fr_mv(nspmd+2,nvolu),nprw(*),fr_rbe3m(*),iad_rbe3m(*)
3397 INTEGER IPM(NPROPMI,*),IGEO(NPROPGI,*),IFRAME(LISKN,*)
3399 . ixs(nixs,*),ixq(nixq,*),ixc(nixc,*), ixt(nixt,*), ixp(nixp,*),
3400 . ixr(nixr,*), ixtg(nixtg,*),ixs10(6,*),ixs20(12,*),
3401 . ixs16(8,*),ixtg1(4,*),iddl(*),ndof(*),irbe3(*),lrbe3(*),
3402 . nddl ,nnzk,inloc(*),lsize(*),sh4tree(*), sh3tree(*),
3403 . irbe2(*),lrbe2(*),ibfv(*)
3406 . geo(npropg,*),elbuf(*),vel(*)
3407 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
3408 TYPE (INTBUF_STRUCT_) INTBUF_TAB(*)
3409 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
3413 INTEGER NKINE,NKMAX,NNMAX,NSI2,NSRB,NSS,NSIJ,NMIJ,NSS2,NSIJ2,NSS3
3414 INTEGER I,J,K,N,M,L,NDOFI,NDOFJ,NKINE0,NMIJ2,IP,NPN,NPP,IER1
3415 INTEGER IAD_M(NSPMD+1),NSB2,NSRB2
3416 INTEGER,
DIMENSION(:),
ALLOCATABLE :: FR_M
3434 1 npby ,lpby ,itab ,nrbyac ,
3435 2 irbyac ,ndof ,nsrb ,ipari ,
3436 3 nint2 ,iint2 ,nsi2 ,nprw ,irbe3 ,
3437 4 irbe2 ,nsrb2 ,fr_elem ,iad_elem ,intbuf_tab )
3439 1 igeo ,elbuf ,iparg ,ixs ,ixq ,
3440 2 ixc ,ixt ,ixp ,ixr ,ixtg ,
3441 3 ixtg1 ,ixs10 ,ixs20 ,ixs16 ,
3442 4 ndof ,iddl ,elbuf_tab )
3444 1 nint2 ,iint2 ,ipari ,ndof ,
3445 2 nrbe3 ,irbe3 ,lrbe3 ,nrbe2 ,irbe2 ,
3446 3 lrbe2 ,intbuf_tab )
3448 CALL ndof_fv(ibfv ,vel ,ndof ,iframe )
3450 1 npby ,lpby ,nrbyac ,irbyac ,ndof ,
3453 nnmax=iad_elem(1,nspmd+1)-iad_elem(1,1)
3454 IF (nnmax>0)
CALL spmd_ndof(ndof,fr_elem,iad_elem,nnmax)
3457 1 nmonv ,imonv ,monvol ,igrsurf ,
3458 2 fr_mv ,inloc ,npby ,lpby ,nrbyac ,
3459 3 irbyac ,nint2 ,iint2 ,ipari ,intbuf_tab,
3460 4 ndof ,iprec ,irbe3 ,irbe2 ,lrbe2 )
3463 IF (ndof(n)>0) nnmax=
max(nnmax,iddl(n))
3468 npp=iad_elem(1,nspmd+1)-iad_elem(1,1)
3469 m = iad_i2m(nspmd+1)-iad_i2m(1)+
3470 . iad_rbe3m(nspmd+1)-iad_rbe3m(1)
3479 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
3480 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
3481 3 ixs10 ,ixs20 ,ixs16 ,ndof ,
3482 4 nkine0 ,inloc ,fr_elem ,iad_elem ,npp ,
3483 5 igeo ,fr_m ,iad_m ,elbuf_tab )
3487 1 ixs ,ixq ,ixc ,ixt ,ixp ,
3488 2 ixr ,ixtg ,ixtg1 ,ixs10 ,ixs20 ,
3489 3 ixs16 ,iparg ,elbuf ,ndof ,
3490 4 iddl ,inloc ,nnmax ,nkine0 ,nnsiz ,
3493 CALL dim_nrmax(iddl ,fr_elem ,iad_elem ,nnmax )
3497 1 igeo ,npby ,lpby ,itab ,nrbyac ,
3498 2 irbyac ,nint2 ,iint2 ,ipari ,
3499 3 intbuf_tab,ixs ,ixq ,ixc ,ixt ,
3500 4 ixp ,ixr ,ixtg ,ixtg1 ,ixs10 ,
3501 5 ixs20 ,ixs16 ,iparg ,ndof ,
3502 6 nsi2 ,nsrb ,elbuf ,nkine ,inloc
3503 7 iddl ,nnmax ,nkmax ,nss ,nsij ,
3504 8 nmij ,nss2 ,nsij2 ,nmij2 ,fr_elem ,
3505 9 iad_elem ,sh4tree ,sh3tree ,irbe3 ,lrbe3 ,
3506 a nss3 ,irbe2 ,lrbe2 ,nsb2 ,elbuf_tab )
3519 IF (j/=k) nnzk = nnzk+1
3543 DO m=iad_elem(1,ip),iad_elem(1,ip+1)-1
3545 IF (iddl(n)==0)
THEN
3553 DO ip =ispmd+2,nspmd
3554 DO m=iad_elem(1,ip),iad_elem(1,ip+1)-1
3556 IF (iddl(n)==0)
THEN
3565 IF (iddl(n)==0)
THEN
3568 ELSEIF (iddl(n)<0)
THEN
3581 IF (iddl(n)==0)
THEN
3592 IF (iddl(n)==0)
THEN
3608 IF (ndofi>0) nddl = nddl + ndofi
3638 1 IDDL ,NDOF ,IADK ,JDIK ,NDDL ,
3639 2 NNZK ,NROW ,ICOL ,N ,IKPAT )
3643#include "implicit_f.inc"
3648 . iddl(*),ndof(*),iadk(*),jdik(*),
3649 . nddl ,nnzk,nrow ,icol(*),n,ikpat
3653 INTEGER I,J,K,L,NL,NJ,NDOFI
3661 jdik(nnzk) = iddl(n)+j
3668 jdik(nnzk) = iddl(nj)+l
3677 jdik(nnzk) = iddl(nj)+l
3682 jdik(nnzk) = iddl(n)+j
3718 1 ITAB ,NRBYAC ,IRBYAC ,NSC ,ISIJ ,
3719 2 NMC ,IMIJ ,NSS ,ISS ,NINT2 ,
3720 3 IINT2 ,IPARI ,INTBUF_TAB,NSC2 ,ISIJ2 ,
3721 4 NSS2 ,ISS2 ,IPARG ,ELBUF ,ELBUF_TAB ,
3722 5 IXS ,IXQ ,IXC ,IXT ,IXP ,
3723 6 IXR ,IXTG ,IXTG1 ,IXS10 ,IXS20 ,
3724 7 IXS16 ,IDDL ,NDOF ,IADK ,
3725 8 JDIK ,NDDL ,NNZK ,NNMAX ,NKINE ,
3726 9 INLOC ,NKMAX ,NROWK ,ICOK ,ICOKM ,
3727 A NMC2 ,IMIJ2 ,IRK ,NPN ,NPP ,
3728 B FR_ELEM ,IAD_ELEM ,IPM ,IGEO ,IRBE3 ,
3729 C LRBE3 ,ISS3 ,FR_I2M ,IAD_I2M ,FR_RBE3M ,
3730 D IAD_RBE3M ,IRBE2 ,LRBE2 ,ISB2 ,NSRB2 )
3739#include "implicit_f.inc"
3743#include "com01_c.inc"
3744#include "com04_c.inc"
3745#include "param_c.inc"
3746#include "impl1_c.inc"
3750 INTEGER IPARG(NPARG,*),NNMAX,IRK,NKMAX
3751 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
3752 . NSC(*),ISIJ(*),NSS(*),ISS(*),NINT2,IINT2(*),
3753 . nsc2(*),isij2(*),nss2(*),iss2(*),ipari(npari,*),
3754 . nmc,imij(*),icok(nnmax,*),icokm(nkmax,*),nrowk(*)
3755 INTEGER IPM(NPROPMI,*),IGEO(NPROPGI,*)
3757 . ixs(nixs,*),ixq(nixq,*),ixc(nixc,*), ixt(nixt,*), ixp(nixp,*),
3758 . ixr(nixr,*), ixtg(nixtg,*),ixs10(6,*),ixs20(12,*),
3759 . ixs16(8,*),ixtg1(4,*),iddl(*),ndof(*),iadk(*),jdik(*),
3760 . nddl ,nnzk,nkine,inloc(*),nmc2,imij2(*),npn ,npp,
3761 . fr_elem(*),iad_elem(2,*),irbe3(*),lrbe3(*),iss3(*),
3762 . fr_i2m(*),iad_i2m(*),fr_rbe3m(*),iad_rbe3m(*),
3763 . irbe2(*),lrbe2(*),isb2(*),nsrb2(*)
3766 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
3767 TYPE() INTBUF_TAB(*)
3781 INTEGER ICOL(NNMAX,NNSIZ),NROW(NNSIZ),JLT1,INK,NRMAX
3782 INTEGER I,J,K,N,L,NL,NJ,LENK,M,NK,ID,NFT,JLT,N_FR,IP
3783 INTEGER ILOC(NUMNOD)
3784 INTEGER IAD_M(NSPMD+1)
3785 INTEGER,
DIMENSION(:),
ALLOCATABLE :: FR_M
3786 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: ICOKFR
3797 n_fr = iad_elem(1,nspmd+1)-iad_elem(1,1)
3798 m = iad_i2m(nspmd+1)-iad_i2m(1)+
3799 . iad_rbe3m(nspmd+1)-iad_rbe3m(1)
3816 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
3817 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
3818 3 ixs10 ,ixs20 ,ixs16 ,nrowk ,
3819 4 iloc ,nnmax ,icok ,nkmax ,icokm ,
3820 5 ink ,igeo ,elbuf_tab )
3822 1 nnmax ,nkmax ,nrowk ,icok ,icokm ,
3823 2 iloc ,ink ,fr_elem ,iad_elem )
3825 1 itab ,nrbyac ,irbyac ,nsc ,isij ,
3826 2 nmc ,imij ,nss ,iss ,nint2 ,
3827 3 iint2 ,ipari ,intbuf_tab,nsc2 ,isij2 ,
3828 4 nss2 ,iss2 ,ndof ,nnmax ,nkine ,
3829 5 iloc ,nkmax ,nrowk ,icok ,icokm ,
3830 6 nmc2 ,imij2 ,ink ,irbe3 ,lrbe3 ,
3831 7 iss3 ,irbe2 ,lrbe2 ,isb2 ,nsrb2 )
3834 1 nrowk ,icok ,icokm ,nnmax ,nkmax ,
3835 2 nkine ,ink ,ikpat ,iddl )
3841 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
3842 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
3843 3 ixs10 ,ixs20 ,ixs16 ,ndof ,
3844 4 nnmax ,iloc ,fr_elem ,iad_elem ,n_fr ,
3845 5 igeo ,fr_m ,iad_m ,elbuf_tab ,nrmax )
3851 ALLOCATE(icokfr(nrmax,n_fr))
3853 DO nft = 0 , jlt1-1 , nnsiz
3854 jlt =
min( nnsiz, jlt1 - nft )
3862 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
3863 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
3864 3 ixs10 ,ixs20 ,ixs16 ,nrow ,
3865 4 iloc ,nnmax ,icol ,igeo ,elbuf_tab )
3867 1 nft ,jlt ,npn ,npp ,nnmax ,
3868 2 nrow ,icol ,fr_elem ,iad_elem ,n_fr ,
3885 1 iddl ,ndof ,iadk ,jdik ,nl ,
3886 2 lenk ,nrowk(k) ,icokm(1,nj),j ,ikpat )
3889 1 iddl ,ndof ,iadk ,jdik ,nl ,
3890 2 lenk ,nrowk(k) ,icok(1,k) ,j ,ikpat )
3893 CALL reorder_j(nrow(nk),icol(1,nk),j,iddl)
3895 CALL reorder_l(nrow(nk),icol(1,nk),j,iddl)
3898 1 iddl ,ndof ,iadk ,jdik ,nl ,
3899 2 lenk ,nrow(nk) ,icol(1,nk),j ,ikpat )
3909 CALL reorder_j(nrow(nk),icol(1,nk),j,iddl)
3912 1 iddl ,ndof ,iadk ,jdik ,nl ,
3913 2 lenk ,nrow(nk) ,icol(1,nk),j ,ikpat )
3920 CALL reorder_l(nrow(nk),icol(1,nk),j,iddl)
3923 1 iddl ,ndof ,iadk ,jdik ,nl ,
3924 2 lenk ,nrow(nk) ,icol(1,nk),j ,ikpat )
3932 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
3933 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
3934 3 ixs10 ,ixs20 ,ixs16 ,ndof ,
3935 4 nnmax ,iloc ,fr_elem ,iad_elem ,n_fr ,
3939 1 iadk ,jdik ,ndof ,iddl ,fr_elem ,
3956 DO nft = 0 , jlt1-1 , nnsiz
3965 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
3966 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
3967 3 ixs10 ,ixs20 ,ixs16 ,nrow ,
3968 4 iloc ,nnmax ,icol ,igeo ,elbuf_tab )
3974 CALL reorder_j(nrow(nk),icol(1,nk),j,iddl)
3976 1 iddl ,ndof ,iadk ,jdik ,nl ,
3977 2 lenk ,nrow(nk) ,icol(1,nk),j ,ikpat )
3985 CALL reorder_l(nrow(nk),icol(1,nk),j,iddl)
3987 1 iddl ,ndof ,iadk ,jdik ,nl ,
3988 2 lenk ,nrow(nk) ,icol(1,nk),j ,ikpat )
4000 IF (nkine==0)
GOTO 100
4015 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
4016 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
4017 3 ixs10 ,ixs20 ,ixs16 ,nrowk ,
4018 4 iloc ,nnmax ,icok ,nkmax ,icokm ,
4019 5 ink ,igeo ,elbuf_tab )
4022 1 itab ,nrbyac ,irbyac ,nsc ,isij ,
4023 2 nmc ,imij ,nss ,iss ,nint2 ,
4024 3 iint2 ,ipari ,intbuf_tab,nsc2 ,isij2 ,
4025 4 nss2 ,iss2 ,ndof ,nnmax ,nkine ,
4026 5 iloc ,nkmax ,nrowk ,icok ,icokm ,
4027 6 nmc2 ,imij2 ,ink ,irbe3 ,lrbe3 ,
4028 7 iss3 ,irbe2 ,lrbe2 ,isb2 ,nsrb2 )
4034 IF (nk>ink.AND.nkmax>0)
THEN
4036 CALL reorder_j(nrowk(nk),icokm(1,nj),j,iddl)
4038 CALL reorder_j(nrowk(nk),icok(1,nk),j,iddl)
4045 IF (nk>ink.AND.nkmax>0)
THEN
4047 CALL reorder_l(nrowk(nk),icokm(1,nj),j,iddl)
4048 ELSEIF (nnmax>0)
THEN
4049 CALL reorder_l(nrowk(nk),icok(1,nk),j,iddl)
4060 1 iddl ,ndof ,iadk ,jdik ,nl ,
4061 2 lenk ,nrowk(nk) ,icok(1,nk),j ,ikpat )
4070 1 iddl ,ndof ,iadk ,jdik ,nl ,
4071 2 lenk ,nrowk(nk),icokm(1,nj),j ,ikpat )
4096 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
4097 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
4098 3 ixs10 ,ixs20 ,ixs16 ,nrowk ,
4099 4 iloc ,nnmax ,icok ,nkmax ,icokm ,
4100 5 ink ,igeo ,elbuf_tab )
4103 1 itab ,nrbyac ,irbyac ,nsc ,isij ,
4104 2 nmc ,imij ,nss ,iss ,nint2 ,
4105 3 iint2 ,ipari ,intbuf_tab,nsc2 ,isij2 ,
4106 4 nss2 ,iss2 ,ndof ,nnmax ,nkine ,
4107 5 iloc ,nkmax ,nrowk ,icok ,icokm ,
4108 6 nmc2 ,imij2 ,ink ,irbe3 ,lrbe3 ,
4109 7 iss3 ,irbe2 ,lrbe2 ,isb2 ,nsrb2 )
4116 CALL reorder_l(nrowk(nj),icok(1,nj),j,iddl)
4117 ELSEIF( nkmax>0)
THEN
4118 CALL reorder_l(nrowk(nk+ink),icokm(1,nk),j,iddl)
4129 1 iddl ,ndof ,iadk ,jdik ,nl ,
4130 2 lenk ,nrowk(nk+ink) ,icokm(1,nk),j ,ikpat )
4140 1 iddl ,ndof ,iadk ,jdik ,nl ,
4141 2 lenk ,nrowk(nj) ,icok(1,nj),j ,ikpat )
4145 DO nft = nkine , numnod-1 , nnsiz
4146 jlt =
min( nnsiz, numnod - nft )
4154 1 elbuf ,iparg ,ixs ,ixq ,ixc ,
4155 2 ixt ,ixp ,ixr ,ixtg ,ixtg1 ,
4156 3 ixs10 ,ixs20 ,ixs16 ,nrow ,
4157 4 iloc ,nnmax ,icol ,igeo ,elbuf_tab )
4161 CALL reorder_l(nrow(nk),icol(1,nk),j,iddl)
4164 1 iddl ,ndof ,iadk ,jdik ,nl ,
4165 2 lenk ,nrow(nk) ,icol(1,nk),j ,ikpat )
4175 100 iadk(nddl+1) = lenk+1
4176 IF (lenk>nnzk.OR.nl/=(nddl+1))
4177 .
WRITE(*,*)
'--MEMERY PROBLEM 2--:',lenk,nl,nnzk,nddl+1
4192#include "implicit_f.inc"
4200 INTEGER I,J,IMIN,IT,II
4207 IF (ic(j)<imin)
THEN
4219 IF (ic(i)/=ic(i-1))
THEN
4271#include "implicit_f.inc"
4283 IF (ic(i)==id)
RETURN
4297#include "implicit_f.inc"
4312 ELSEIF (ic(i)>id)
THEN
4323 ELSEIF (id/=ic(it-1))
THEN
4340#include "implicit_f.inc"
4372#include "implicit_f.inc"
4376 INTEGER ,IC(*),NI,IDDL(*)
4380 INTEGER I,J,II,IT,IIC,IMIN,IDIC(N)
4399 IF (idic(j)<imin)
THEN
4437#include "implicit_f.inc"
4441 INTEGER N ,IC(*),NI,IDDL(*)
4445 INTEGER I,J,II,IT,IIC,IMIN,IDIC(N)
4464 IF (idic(j)<imin)
THEN
4500#include "implicit_f.inc"
4504 INTEGER n ,nic,ic(*)
4535 1 NINTER ,IPARI ,INTBUF_TAB ,NNMAX)
4545#include
"implicit_f.inc"
4549#include "com08_c.inc"
4550#include "param_c.inc"
4551#include "task_c.inc"
4552#include "impl1_c.inc"
4556 INTEGER IPARI(NPARI,*),NINTER,NNMAX
4558 TYPE(intbuf_struct_) INTBUF_TAB(*)
4562 INTEGER NIN,NTY,NUM_IMP,NSN,NMN,NRTS,ILEV,NOINT
4563 INTEGER I,J,K,L,NDOFI,N,IAD,IERR,STAT,NIMP(NINTER)
4578 noint =ipari(15,nin)
4579 IF (ilev>=10.AND.ilev<=25)
THEN
4580 CALL ancmsg(msgid=241,anmode=aninfo,i1=ilev,i2=noint )
4583 ELSEIF (nty/=5 .AND. nty/=7 .AND. nty/=10
4584 . .AND. nty/=11 .AND. nty/=24)
THEN
4585 startt=intbuf_tab(nin)%VARIABLES(3)
4586 stopt =intbuf_tab(nin)%VARIABLES(11)
4588 .
CALL ancmsg(msgid=232,anmode=aninfo,i1=nty )
4591 IF (ispmd/=0.AND.(nty<7.OR.nty==8
4592 . .OR.nty==14.OR.nty==15)) cycle
4593 startt=intbuf_tab(nin)%VARIABLES(3)
4594 stopt =intbuf_tab(nin)%VARIABLES(11)
4595 IF(startt<=tstop)
THEN
4602 ELSEIF(nty==7.OR.nty==10.OR.nty==24)
THEN
4603 num_imp = ipari(18,nin)*ipari(23,nin)
4606 IF(nty==24.AND.iikgoff==0.AND.ikg==0)
THEN
4610 IF(nty==24) nimp(nin) = num_imp
4613 num_imp = ipari(18,nin)*ipari(23,nin)
4620 ALLOCATE (intbuf_tab_cp(ninter), stat=stat)
4623 ALLOCATE (intbuf_tab_imp(ninter), stat=stat)
4645 1 IPARI ,INTBUF_TAB,NUM_IMP ,NS_IMP ,NE_IMP ,
4646 2 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
4647 3 LNSS ,NINT2 ,IINT2 ,IAINT2 ,LNSS2 ,
4648 4 NDDL ,NNZK ,IDDL ,ILOCI ,N_IMPN ,
4649 5 N_IMPM ,NNMAX ,NKMAX ,NDOF ,NSREM ,
4650 6 IRBE3 ,LRBE3 ,LNSS3 ,IRBE2 ,LRBE2 ,
4651 7 LNSB2 ,LNSRB2 ,IND_SUBT )
4660#include "implicit_f.inc"
4664#include "com04_c.inc"
4665#include "param_c.inc"
4669 INTEGER IPARI(NPARI,*),NUM_IMP(*),
4670 . NS_IMP(*),NE_IMP(*),ILOCI(*),NDOF(*)
4671 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
4672 . lnss,nint2,iint2(*),iaint2(*),lnss2,nsrem
4674 . nddl,iddl(*) ,nnzk,n_impn,n_impm,nnmax ,nkmax
4675 INTEGER IRBE3(NRBE3L,*),LRBE3(*),LNSS3,IRBE2(NRBE2L,*),LRBE2(*),
4676 . lnsb2,lnsrb2,ind_subt(*)
4679 TYPE (INTBUF_STRUCT_) INTBUF_TAB(*)
4683 INTEGER NIN,NTY,NDOF1(NUMNOD),NSN
4684 INTEGER I,J,K,L,NDOFI,N,IAD,N_IMP,
4704 CALL row_int5(num_imp(nin),ns_imp(iad),ne_imp(iad),intbuf_tab
4705 . intbuf_tab(nin)%NSV, intbuf_tab(nin)%MSR,iddl ,iloci ,ndofi,n_imp ,
4707 iad=iad+num_imp(nin)
4720 ELSEIF(nty==7.OR.nty==10)
THEN
4722 CALL row_int(num_imp(nin),ns_imp(iad),ne_imp(iad),intbuf_tab(nin)%IRECTM,
4723 . intbuf_tab(nin)%NSV, iddl ,iloci ,ndofi,n_imp ,
4725 iad=iad+num_imp(nin)
4731 CALL row_int24(intbuf_tab_imp(nin)%I_STOK(1),intbuf_tab_imp(nin)%CAND_N,
4732 . intbuf_tab_imp(nin)%CAND_E,intbuf_tab(nin)%IRECTM,
4733 . intbuf_tab(nin)%NSV, iddl ,iloci ,ndofi,n_imp ,
4734 . nsn ,nsrem ,intbuf_tab_imp(nin)%INDSUBT,
4735 . intbuf_tab(nin)%NVOISIN)
4736 iad=iad+num_imp(nin)
4740 CALL row_int11(num_imp(nin),ns_imp(iad),ne_imp(iad),
4741 . intbuf_tab(nin)%IRECTS,intbuf_tab(nin)%IRECTM, iddl ,iloci,
4742 . ndofi,n_imp ,nrts ,nsrem )
4743 iad=iad+num_imp(nin)
4748 IF (iloci(n)>0)
THEN
4749 nnmax=
max(nnmax,iddl(n))
4756 1 num_imp ,ns_imp ,ne_imp ,npby ,lpby ,
4757 2 itab ,nrbyac ,irbyac ,nint2 ,iint2 ,
4758 3 ipari ,intbuf_tab,lnss ,lnss2 ,iddl ,
4759 4 n_imp ,iloci ,nnmax ,n_impm ,ndof ,
4760 5 ndof1 ,iaint2 ,irbe3 ,lrbe3 ,lnss3 ,
4761 6 irbe2 ,lrbe2 ,lnsb2 ,lnsrb2 ,ind_subt )
4767 IF (iloci(n)>0)
THEN
4768 IF (iloci(n)>n_impn)
THEN
4769 nkmax=
max(nkmax,iddl(n))
4771 nnmax=
max(nnmax,iddl(n))
4772 ndof1(n)=
max(3,ndof1(n))
4779 IF (iloci(n)>0)
THEN
4783 IF (j/=k) nnzk = nnzk+1
4797 CALL nddl_loc(nddl,iddl,iloci,n_imp,ndof1)
4802!||====================================================================
4821 1 IPARI ,INTBUF_TAB,NUM_IMP ,NS_IMP ,NE_IMP ,
4822 2 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
4823 3 NSS ,ISS ,NINT2 ,IINT2 ,NSS2 ,
4824 4 ISS2 ,NDDLI ,NNZI ,IADI ,JDII ,
4825 5 IDDLI ,ILOCI ,N_IMPN ,ITOK ,IDDL ,
4826 6 NNMAX ,NKMAX ,N_IMPM ,NDOF ,IAINT2 ,
4827 7 IRBE3 ,LRBE3 ,NSS3 ,ISS3 ,IRBE2 ,
4828 8 LRBE2 ,NSB2 ,ISB2 ,IND_SUBT )
4837#include "implicit_f.inc"
4841#include "com04_c.inc"
4842#include "param_c.inc"
4843#include "impl1_c.inc"
4847 INTEGER NUM_IMP(*),IPARI(NPARI,*),IND_SUBT(*),
4848 . ns_imp(*),ne_imp(*) ,ndof(*),iaint2(*),lrb,li2
4849 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
4850 . nss(*),iss(*),nint2,iint2(*),nss2(*),iss2(*)
4852 . IDDL(*),IADI(*),JDII(*),IDDLI(*),ITOK(*),
4853 . ILOCI(*),NDDLI ,NNZI,NNMAX,N_IMPN,N_IMPM,NKMAX
4854 INTEGER IRBE3(NRBE3L,*),LRBE3(*),NSS3(*),ISS3(*),
4855 . irbe2(nrbe2l,*),lrbe2(*),nsb2(*),isb2(*)
4858 TYPE(intbuf_struct_) INTBUF_TAB(*)
4871 INTEGER NROW(N_IMPN+N_IMPM),ICOL(NNMAX,N_IMPN),
4872 . NDOF1(N_IMPN+N_IMPM),ICOK(NKMAX,N_IMPM),IKP
4873 INTEGER I,J,K,L,N,KD(50), JFI, ,NDOFI,ND,N_IMPT,
4874 . nty,
nl,nj,nin,lenk,iad,iloc(n_impn+n_impm),
4882 n_impt=n_impn+n_impm
4884 IF (iloci(n)>0)
THEN
4901 CALL row_int52(num_imp(nin),ns_imp(iad),ne_imp(iad),
4902 . intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,
4903 . intbuf_tab(nin)%MSR,nrow ,
4904 . n_impn,iloci ,icol ,nnmax ,icok ,
4906 iad=iad+num_imp(nin)
4918 ELSEIF(nty==7.OR.nty==10)
THEN
4920 CALL row_int2(num_imp(nin),ns_imp(iad),ne_imp(iad),
4921 . intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,nrow ,n_impn,
4922 . iloci ,icol ,nnmax ,icok ,nkmax ,
4924 iad=iad+num_imp(nin)
4931 CALL row_int242(intbuf_tab_imp(nin)%I_STOK(1),intbuf_tab_imp(nin)%CAND_N,
4932 . intbuf_tab_imp(nin)%CAND_E,intbuf_tab(nin)%IRECTM,
4933 . intbuf_tab(nin)%NSV,nrow ,n_impn,
4934 . iloci ,icol ,nnmax ,icok ,nkmax ,
4935 . nsn ,intbuf_tab_imp(nin)%INDSUBT,
4936 . intbuf_tab(nin)%NVOISIN)
4937 iad=iad+num_imp(nin)
4941 CALL row_int112(num_imp(nin),ns_imp(iad),ne_imp(iad),
4942 . intbuf_tab(nin)%IRECTS ,intbuf_tab(nin)%IRECTM, nrow ,n_impn,
4943 . iloci ,icol ,nnmax ,icok ,nkmax ,
4945 iad=iad+num_imp(nin)
4949 1 npby ,lpby ,itab ,nrbyac ,irbyac ,
4950 2 nss ,iss ,nint2 ,iint2 ,ipari ,
4951 3 intbuf_tab,nss2 ,iss2 ,nnmax ,iloci ,
4952 4 nkmax ,nrow ,icol ,icok ,n_impn ,
4953 5 ndof ,ndof1 ,iaint2 ,irbe3 ,lrbe3 ,
4954 6 nss3 ,iss3 ,irbe2 ,lrbe2 ,nsb2 ,
4959 CALL reorder_j(nrow(i),icol(1,i),n,iddli)
4961 DO i =n_impn+1,n_impt
4964 CALL reorder_j(nrow(i),icok(1,nj),n,iddli)
4969 CALL reorder_l(nrow(i),icol(1,i),n,iddli)
4971 DO i =n_impn+1,n_impt
4974 CALL reorder_l(nrow(i),icok(1,nj),n,iddli)
4979 ndof1(i)=
max(3,ndof1(i))
4996 1 iddli ,iloci ,iadi ,jdii ,
nl ,
4997 2 lenk ,nrow(i) ,icol(1,i) ,n ,ikp )
4999 DO i =n_impn+1,n_impt
5007 1 iddli ,iloci ,iadi ,jdii ,
nl
5008 2 lenk ,nrow(i) ,icok(1,nj) ,n ,ikp )
5010 IF (lenk>nnzi.OR.
nl/=(nddli
5011 .
WRITE(*,*)
'--MEMERY PROBLEM 5-- :',lenk,nnzi,
nl,nddli+1
5023 1 NDDL ,IDDL ,ILOC ,NLOC ,NDOF )
5027#include
"implicit_f.inc"
5031#include "com04_c.inc"
5035 INTEGER NDDL ,IDDL(*) ,ILOC(*) ,NLOC,NDOF(*)
5040 INTEGER I,N,LOCI(NLOC)
5053 nddl = nddl + ndof(n)
5065 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NSV ,
5066 2 NROW ,ILOC ,NDOFI ,N_IMPN ,NSN ,
5071#include "implicit_f.inc"
5075 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NSV(*),NROW(*),
5076 . iloc(*),ndofi,n_impn,nsn,nsrem
5081 INTEGER I,J,N,N1,N2,NE,IG
5088 IF (iloc(n1)==0)
THEN
5099 IF (iloc(n)==0)
THEN
5105 IF (irect(3,ne)/=irect(4,ne))
THEN
5107 IF (iloc(n)==0)
THEN
5112 IF (ig<=nsn) nrow(n1)=nrow(n1)+1
5127 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NSV ,
5128 2 NROW ,N_IMPN ,ILOC ,ICOL ,NNMAX ,
5133#include "implicit_f.inc"
5138 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NSV(*),NROW(*),
5139 . ILOC(*),ICOL(NNMAX,*),N_IMPN,NSN
5144 INTEGER I,J,N,N1,N2,NE,IG,NI
5160 IF (irect(3,ne)/=irect(4,ne))
THEN
5180 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NSV ,
5181 2 NROW ,N_IMPN ,ILOC ,ICOL ,NNMAX ,
5182 3 ICOK ,NKMAX ,NSN )
5186#include "implicit_f.inc"
5191 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NSV(*),NROW(*),
5192 . ILOC(*),ICOL(NNMAX,*),ICOK(NKMAX,*),N_IMPN,NSN
5197 INTEGER I,J,N,N1,N2,NE,IG,NI,NM,NIM
5207 IF (ni<=n_impn)
THEN
5212 IF (n2<=n_impn)
THEN
5219 IF (irect(3,ne)/=irect(4,ne))
THEN
5223 IF (n2<=n_impn)
THEN
5236 IF (n2<=n_impn)
THEN
5243 IF (irect(3,ne)/=irect(4
THEN
5247 IF (n2<=n_impn)
THEN
5267 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NSV ,
5268 2 MSR ,NROW ,ILOC ,NDOFI ,N_IMPN ,
5273#include "implicit_f.inc"
5277 INTEGER JLT,NS_IMP(*),NE_IMP(*),(4,*),NSV(*),NROW(*),
5278 . msr(*),iloc(*),ndofi,n_impn,nsn,nsrem
5283 INTEGER I,J,N,N1,N2,NE,IG
5289 IF (iloc(n1)==0)
THEN
5297 IF (iloc(n)==0)
THEN
5303 IF (irect(3,ne)/=irect(4,ne))
THEN
5305 IF (iloc(n)==0)
THEN
5310 IF (ig<=nsn) nrow(n1)=nrow(n1)+1
5325 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NSV ,
5326 2 MSR ,NROW ,N_IMPN ,ILOC ,ICOL ,
5331#include "implicit_f.inc"
5336 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NSV(*),NROW(*),
5337 . iloc(*),icol(nnmax,*),n_impn,nsn,msr(*)
5342 INTEGER I,J,N,N1,N2,NE,IG,NI
5357 IF (irect(3,ne)/=irect(4,ne))
THEN
5376 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NSV ,
5377 2 MSR ,NROW ,N_IMPN ,ILOC ,ICOL ,
5378 3 NNMAX ,ICOK ,NKMAX ,NSN )
5382#include "implicit_f.inc"
5387 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NSV(*),NROW(*),
5388 . iloc(*),icol(nnmax,*),icok(nkmax,*),n_impn,nsn,msr(*)
5393 INTEGER I,J,N,N1,N2,NE,IG,NI,NM,NIM
5402 IF (ni<=n_impn)
THEN
5407 IF (n2<=n_impn)
THEN
5414 IF (irect(3,ne)/=irect(4,ne))
THEN
5418 IF (n2<=n_impn)
THEN
5431 IF (n2<=n_impn)
THEN
5438 IF (irect(3,ne)/=irect(4,ne))
THEN
5442 IF (n2<=n_impn)
THEN
5462 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NSV ,
5463 2 NROW ,ILOC ,NDOFI ,N_IMPN ,NSN ,
5464 3 NSREM ,SUBTRIA ,NVOISIN )
5468#include "implicit_f.inc"
5472 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NSV(*),NROW(*),
5473 . ILOC(*),NDOFI,N_IMPN,NSN,NSREM,SUBTRIA(*),NVOISIN(8,*)
5478 INTEGER I,,N,N1,N2,NE,IG,IRTLM(4),NEI
5485 IF (iloc(n1)==0)
THEN
5497 CALL i24msegv(ne,irtlm ,subtria(i),irect(1,nei),nvoisin(1,nei))
5499 irtlm(1:4) = irect(1:4,ne)
5503 IF (iloc(n)==0)
THEN
5509 IF (irtlm(3)/=irtlm(4))
THEN
5511 IF (iloc(n)==0)
THEN
5517 IF (ig<=nsn) nrow(n1)=nrow(n1)+1
5533 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NSV ,
5534 2 NROW ,N_IMPN ,ILOC ,ICOL ,NNMAX ,
5535 3 NSN ,SUBTRIA ,NVOISIN )
5539#include "implicit_f.inc"
5544 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NSV(*),NROW(*),
5545 . iloc(*),icol(nnmax,*),n_impn,nsn,subtria(*),nvoisin(8,*)
5550 INTEGER I,J,N,N1,N2,NE,IG,NI,IRTLM(4),NEI
5561 CALL i24msegv(ne,irtlm ,subtria(i),irect(1,nei),nvoisin
5563 irtlm(1:4) = irect(1:4,ne)
5572 IF (irtlm(3)/=irtlm(4))
THEN
5593 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NSV ,
5594 2 NROW ,N_IMPN ,ILOC ,ICOL ,NNMAX ,
5595 3 ICOK ,NKMAX ,NSN ,SUBTRIA ,NVOISIN )
5599#include "implicit_f.inc"
5604 INTEGER JLT,NS_IMP(*),(*),IRECT(4,*),NSV(*),NROW(*),
5605 . ILOC(*),ICOL(NNMAX,*),ICOK(NKMAX,*),N_IMPN,NSN,
5606 . SUBTRIA(*),NVOISIN(8,*)
5611 INTEGER I,J,N,N1,N2,NE,IG,NI,NM,NIM,IRTLM(4),NEI
5623 CALL i24msegv(ne,irtlm ,subtria(i),irect(1,nei),nvoisin(1,nei))
5625 irtlm(1:4) = irect(1:4,ne)
5627 IF (ni<=n_impn)
THEN
5632 IF (n2<=n_impn)
THEN
5639 IF (irtlm(3)/=irtlm(4))
THEN
5643 IF (n2<=n_impn)
THEN
5656 IF (n2<=n_impn)
THEN
5663 IF (irtlm(3)/=irtlm(4))
THEN
5667 IF (n2<=n_impn)
THEN
5684!||--- calls -----------------------------------------------------
5696 1 NUM_IMP ,NS_IMP ,NE_IMP ,NPBY ,LPBY ,
5697 2 ITAB ,NRBYAC ,IRBYAC ,NINT2 ,IINT2 ,
5698 3 IPARI ,INTBUF_TAB,LNSS ,LNSS2 ,NROW ,
5699 4 NKINE ,INLOC ,NNMAX ,N_IMPM ,NDOF ,
5700 5 NDOFI ,IAINT2 ,IRBE3 ,LRBE3 ,LNSS3 ,
5701 6 IRBE2 ,LRBE2 ,LNSB2 ,LNSRB2 ,IND_SUBT )
5710#include "implicit_f.inc"
5714#include "com04_c.inc"
5715#include "param_c.inc"
5719 INTEGER NNMAX,NKINE,N_IMPM
5720 INTEGER NUM_IMP(*),NS_IMP(*),NE_IMP(*),
5721 . npby(nnpby,*),lpby(*),itab(*),nrbyac,irbyac(*)
5722 INTEGER NINT2,IINT2(*),IPARI(NPARI,*),IAINT2(*),
5723 . inloc(*),lnss ,lnss2,nrow(*),ndof(*),ndofi(*)
5724 INTEGER IRBE3(NRBE3L,*),LRBE3(*),LNSS3,IRBE2(NRBE2L,*),
5725 . LRBE2(*),LNSB2,LNSRB2,IND_SUBT(*)
5727 TYPE(intbuf_struct_) INTBUF_TAB(*)
5737 INTEGER IAD,NTY,NIN,KD(50),NKE,NKE2
5738 INTEGER IA(NRBYAC),NROW1(NUMNOD)
5740 . I,J,K,N,L,NL,NJ,NI,J1,M,NSN,N1,N2,NK,ID,
5741 . JI,K10,K11,K12,K13,K14,KFI,NS,NNOD,NM,L1,NL1,NM1,
5742 . NRTS,NKINE0,NMAX,NKE1,M1,IC
5743 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: ICOK,ICOK1
5746 IF (nkine0>0)
ALLOCATE(icok(nnmax,nkine0))
5759 CALL row_int51(num_imp(nin),ns_imp(iad),ne_imp(iad),
5760 . intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,
5761 . intbuf_tab(nin)%MSR,nrow ,
5762 . nkine ,inloc ,icok ,nnmax ,nsn )
5763 iad=iad+num_imp(nin)
5774 ELSEIF(nty==7.OR.nty==10)
THEN
5776 CALL row_int1(num_imp(nin),ns_imp(iad),ne_imp(iad),
5777 . intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,nrow ,nkine ,
5778 . inloc ,icok ,nnmax ,nsn )
5779 iad=iad+num_imp(nin)
5786 CALL row_int241(intbuf_tab_imp(nin)%I_STOK(1),intbuf_tab_imp(nin)%CAND_N,
5787 . intbuf_tab_imp(nin)%CAND_E,intbuf_tab(nin)%IRECTM,
5788 . intbuf_tab(nin)%NSV,nrow ,nkine ,
5789 . inloc ,icok ,nnmax ,nsn ,
5790 . intbuf_tab_imp(nin)%INDSUBT,intbuf_tab(nin)%NVOISIN)
5791 iad=iad+num_imp(nin)
5795 CALL row_int111(num_imp(nin),ns_imp(iad),ne_imp(iad),
5796 . intbuf_tab(nin)%IRECTS ,intbuf_tab(nin)%IRECTM,nrow ,nkine ,
5797 . inloc ,icok ,nnmax ,nrts )
5798 iad=iad+num_imp(nin)
5809 k11=k10+4*ipari(3,n)
5811 k12=k11+4*ipari(4,n)
5820 ni=intbuf_tab(n)%NSV(i)
5821 IF (inloc(ni)>0.AND.inloc(ni)<=nkine0)
THEN
5823 l=intbuf_tab(n)%IRTLM(i)
5825 IF (intbuf_tab(n)%IRECTM(nl+3)==intbuf_tab(n)%IRECTM(nl+4))
THEN
5831 nm=intbuf_tab(n)%IRECTM(nl+m)
5833 IF (inloc(nm)==0)
THEN
5836 nrow1(nm)=nrow1(nm)+ nnod + nnod
5842 IF (inloc(nj)>0 )
THEN
5846 nm=intbuf_tab(n)%IRECTM(nl+m)
5847 IF (inloc(nm)>0)
THEN
5848 nrow1(nm)=nrow1(nm)+1
5849 IF (nke2>0) nrow1(nj)=nrow1(nj)+1
5870 ic = 7*512+7*64-irbe2(4,j)
5873 IF (inloc(ni)>0)
THEN
5877 IF (inloc(nj)>0.AND.nj/=ni) nrow1(nj)=nrow1(nj)+1+nhrbe2
5880 IF (inloc(m)==0)
THEN
5884 nrow1(m)=nrow1(m)+nrow(ni)+nrow1(ni)
5887 nrow1(ni)=nrow1(ni)+1
5893 IF (inloc(m)>0) ndofi(m)=ndof(m)
5899 IF (ni==0.OR.ndofi(ni)==0) cycle
5901 IF (inloc(ni)>0)
THEN
5905 IF (inloc(nm)==0)
THEN
5908 nrow1(nm)=nrow1(nm)+ nnod
5914 IF (inloc(nj)>0.AND.
5915 . (.NOT.intab(nnod,lrbe3(iad+1),nj)))
THEN
5919 nrow1(nm)=nrow1(nm)+1
5920 IF (nke2>0) nrow1(nj)=nrow1(nj)+1
5927 IF (nkine>nkine0)
THEN
5929 ALLOCATE(icok1(nnmax,nkine0))
5931 IF (inloc(i)>0)
THEN
5932 nmax=
max(nmax,(nrow1(i)+nrow(i)))
5935 icok1(j,nke) = icok(j,nke)
5941 ALLOCATE(icok(nmax,nkine))
5943 IF (inloc(i)>0.AND.nrow(i)>0)
THEN
5946 icok(j,nke) = icok1(j,nke)
5953 IF(iaint2(j)==1)
THEN
5958 k11=k10+4*ipari(3,n)
5960 k12=k11+4*ipari(4,n)
5968 ni=intbuf_tab(n)%NSV(i)
5969 IF (inloc(ni)>0)
THEN
5970 l=intbuf_tab(n)%IRTLM(i)
5972 IF(intbuf_tab(n)%IRECTM(nl+3)==intbuf_tab(n)%IRECTM(nl+4))
THEN
5978 nm=intbuf_tab(n)%IRECTM(nl+m)
5981 nm1=intbuf_tab(n)%IRECTM(nl+m1)
5983 CALL reorder_a(nrow(nm),icok(1,nke1),nm1)
5984 CALL reorder_a(nrow(nm1),icok(1,nke2),nm)
5990 IF (inloc(nj)>0)
THEN
5994 nm=intbuf_tab(n)%IRECTM(nl+m)
5995 IF (inloc(nm)>0)
THEN
5997 CALL reorder_a(nrow(nm),icok(1,nke1),nj)
5998 CALL reorder_a(nrow(nj),icok(1,nke2),nm)
6014 ic = 7*512+7*64-irbe2(4,j)
6018 IF (inloc(ni)>0)
THEN
6024 IF (nke2>0.AND.nj/=ni)
THEN
6041 IF (ni==0.OR.ndofi(ni)==0) cycle
6043 IF (inloc(ni)>0)
THEN
6050 CALL reorder_a(nrow(nm),icok(1,nke1),nm1)
6051 CALL reorder_a(nrow(nm1),icok(1,nke2),nm)
6057 IF (inloc(nj)>0.AND.
6058 . (.NOT.intab(nnod,lrbe3(iad+1),nj)))
THEN
6064 CALL reorder_a(nrow(nm),icok(1,nke1),nj)
6065 CALL reorder_a(nrow(nj),icok(1,nke2),nm)
6080 IF (inloc(m)>0) ia(j)=1
6084 IF (inloc(ni)>0)
THEN
6089 IF (inloc(nj)>0) nrow1(nj)=nrow1(nj)+1
6100 IF (inloc(m)>0)
THEN
6103 IF (inloc(i)>inloc(m)) inloc(i)=inloc(i)-1
6110 nrow(i) = nrow(i)+nrow1(i)
6126 IF (inloc(ni)>0)
THEN
6127 nrow(m)=nrow(m)+nrow(ni)
6133 IF (nkine0>0)
DEALLOCATE(icok)
6145!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.f90
6148 1 NPBY ,LPBY ,ITAB ,NRBYAC ,IRBYAC ,
6149 2 NSS ,ISS ,NINT2 ,IINT2 ,IPARI ,
6150 3 INTBUF_TAB,NSS2 ,ISS2 ,NNMAX ,INLOC ,
6151 4 NKMAX ,NROWK ,ICOK ,ICOKM ,INK ,
6152 5 NDOF ,NDOF1 ,IAINT2 ,IRBE3 ,LRBE3 ,
6153 6 NSS3 ,ISS3 ,IRBE2 ,LRBE2 ,NSB2 ,
6162#include "implicit_f.inc"
6166#include "com04_c.inc"
6167#include "param_c.inc"
6171 INTEGER NNMAX,NKMAX,LRB ,LI2
6172 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*),NRBYAC,IRBYAC(*),
6173 . nss(*),iss(*),nint2,iint2(*),
6174 . nss2(*),iss2(*),ipari(npari,*),ndof(*),ndof1(*),
6175 . icok(nnmax,*),icokm(nkmax,*),nrowk
6177 . inloc(*),ink,iaint2(*)
6178 INTEGER (NRBE3L,*),LRBE3(*),NSS3(*),ISS3(*),
6179 . irbe2(nrbe2l,*),lrbe2(*),nsb2(*),isb2(*)
6181 TYPE(intbuf_struct_) INTBUF_TAB(*)
6192 INTEGER NKE,NKE1,NKE2,IK,NKM1,IAD
6194 . i,j,k,n,l,
nl,nj,ni,j1,m,nsn,n1,n2,nk,
id,k1,m1,
6195 . ji,k10,k11,k12,k13,k14,kfi,ns,nnod,nm,l1,nl1,nm1,ic
6200 IF(iaint2(j)==1)
THEN
6205 k11=k10+4*ipari(3,n)
6207 k12=k11+4*ipari(4,n)
6217 ni=intbuf_tab(n)%NSV(i)
6218 IF (inloc(ni)>0)
THEN
6219 l=intbuf_tab(n)%IRTLM(i)
6221 IF (intbuf_tab(n)%IRECTM(
nl+3)==intbuf_tab(n)%IRECTM(
nl+4))
THEN
6227 nm=intbuf_tab(n)%IRECTM(
nl+m)
6229 ndof1(nke1)=ndof(nm)
6231 nm1=intbuf_tab(n)%IRECTM(
nl+m1)
6233 CALL reorder_a(nrowk(nke1),icok(1,nke1),nm1)
6234 CALL reorder_a(nrowk(nkm1),icok(1,nkm1),nm)
6240 IF (inloc(nj)>0.AND.
6241 . (.NOT.intab(nsn,intbuf_tab(n)%NSV(1),nj)).
6242 . and.(.NOT.intab(nnod,intbuf_tab(n)%IRECTM(
nl+1),nj)))
THEN
6248 nm=intbuf_tab(n)%IRECTM(
nl+m)
6249 IF (inloc(nm)>0)
THEN
6251 CALL reorder_a(nrowk(nke1),icok(1,nke1),nj)
6252 CALL reorder_a(nrowk(nke2),icok(1,nke2),nm)
6269 ic = 7*512+7*64-irbe2(4,n)
6270 IF (inloc(m)>0)
THEN
6278 IF (inloc(ni)>0)
THEN
6283 IF (inloc(nj)>0.AND.nj/=ni)
THEN
6286 CALL reorder_a(nrowk(nke2),icok(1,nke2),m)
6288 CALL reorder_a(nrowk(nke2),icokm(1,nke2-ink),m)
6296 CALL reorder_a(nrowk(nke1),icok(1,nke1),ni)
6297 CALL reorder_a(nrowk(nke),icok(1,nke),m)
6311 IF (inloc(ni)>0)
THEN
6315 ndof1(nke1)=ndof(nm)
6320 CALL reorder_a(nrowk(nke1),icok(1,nke1),nm1)
6322 CALL reorder_a(nrowk(nke1),icokm(1,nke1-ink),nm1)
6326 CALL reorder_a(nrowk(nkm1),icok(1,nkm1),nm)
6328 CALL reorder_a(nrowk(nkm1),icokm(1,nkm1-ink),nm)
6337 nj=icokm(n1,nke-ink)
6339 IF (inloc(nj)>0.AND.
6340 . (.NOT.intab(nnod,lrbe3(iad+1),nj)))
THEN
6347 IF (inloc(nm)>0)
THEN
6350 CALL reorder_a(nrowk(nke1),icok(1,nke1),nj)
6352 CALL reorder_a(nrowk(nke1),icokm(1,nke1-ink),nj)
6356 CALL reorder_a(nrowk(nke2),icok(1,nke2),nm)
6358 CALL reorder_a(nrowk(nke2),icokm(1,nke2-ink),nm)
6371 k1=irbyac(j+nrbykin)
6374 IF (inloc(m)>0)
THEN
6382 IF (inloc(ni)>0)
THEN
6387 IF (inloc(nj)>0.AND.
6388 . (.NOT.intab(nsn,lpby(k1+1),nj)))
THEN
6389 CALL reorder_a(nrowk(nke1),icokm(1,nkm1),nj)
6391 CALL reorder_a(nrowk(nke2),icok(1,nke2),m)
6396 CALL reorder_a(nrowk(nke2),icokm(1,nke2-ink),m)
6413!||====================================================================
6415 1 JLT ,NS_IMP ,NE_IMP ,IRECTS ,IRECTM ,
6416 2 NROW ,ILOC ,NDOFI ,N_IMPN ,NSN ,
6421#include "implicit_f.inc"
6425 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECTS(2,*),IRECTM(2,*),NROW(*),
6426 . iloc(*),ndofi,n_impn
6430 INTEGER I,J,N,N1,N2,NE,IG,M1,M2
6438 IF (iloc(n1)==0)
THEN
6443 IF (iloc(n2)==0)
THEN
6454 IF (iloc(m1)==0)
THEN
6459 IF (iloc(m2)==0)
THEN
6476 1 JLT ,NS_IMP ,NE_IMP ,IRECTS ,IRECTM ,
6477 2 NROW ,N_IMPN ,ILOC ,ICOL ,NNMAX ,
6482#include "implicit_f.inc"
6487 INTEGER ,NS_IMP(*),NE_IMP(*),IRECTS(2,*),(2,*),
6488 . nrow(*),iloc(*),icol(nnmax,*),n_impn,nsn
6493 INTEGER I,J,N,N1,N2,NE,IG,NI
6530 1 JLT ,NS_IMP ,NE_IMP ,IRECTS ,IRECTM ,
6531 2 NROW ,N_IMPN ,ILOC ,ICOL ,NNMAX ,
6532 3 ICOK ,NKMAX ,NSN )
6536#include "implicit_f.inc"
6541 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECTS(2,*),IRECTM(2,*),NROW(*),
6542 . iloc(*),icol(nnmax,*),icok(nkmax,*),n_impn,nsn
6547 INTEGER I,J,N,N1,N2,NE,IG,NI,NM,NIM,M1,M2
6559 CALL row_adds(n1 ,m1 ,iloc ,n_impn ,icol ,
6560 1 icok ,nrow ,nnmax ,nkmax )
6561 CALL row_adds(n1 ,m2 ,iloc ,n_impn ,icol ,
6562 1 icok ,nrow ,nnmax ,nkmax )
6563 CALL row_adds(n2 ,m1 ,iloc ,n_impn ,icol ,
6564 1 icok ,nrow ,nnmax ,nkmax )
6565 CALL row_adds(n2 ,m2 ,iloc ,n_impn ,icol ,
6566 1 icok ,nrow ,nnmax ,nkmax )
6576!||--- calls -----------------------------------------------------
6580 1 ICOK ,NROW ,NNMAX ,NKMAX )
6584#include "implicit_f.inc"
6588 INTEGER NNMAX,NKMAX,NS,NM
6589 INTEGER NROW(*) ,(*) ,ISHF ,ICOL(NNMAX,*),ICOK(NKMAX,*)
6621!||--- uses -----------------------------------------------------
6625 1 IPARI ,INTBUF_TAB,NUM_IMP ,NS_IMP ,NE_IMP ,
6626 2 IND_IMP ,NDOF ,NT_IMP )
6634#include "implicit_f.inc"
6638#include "com01_c.inc"
6639#include "com04_c.inc"
6640#include "param_c.inc"
6644 INTEGER IPARI(NPARI,*),NUM_IMP(*),IND_IMP(*),
6645 . NS_IMP(*),NE_IMP(*),NDOF(*),NT_IMP
6648 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
6653 INTEGER I,J,,L,NDOFI,N,IAD,N_IMP,NRTS,IDEL(NT_IMP),NEW_IAD
6668 CALL ndof_int5(num_imp(nin),ns_imp(iad),ne_imp(iad),intbuf_tab(nin)%IRECTM,
6669 . intbuf_tab(nin)%NSV,nsn ,ndof ,idel(iad) ,
6670 . intbuf_tab(nin)%MSR)
6671 iad=iad+num_imp(nin)
6683 ELSEIF(nty==7.OR.nty==10.OR.nty==24)
THEN
6685 CALL ndof_int(num_imp(nin),ns_imp(iad),ne_imp(iad),intbuf_tab(nin)%IRECTM,
6686 . intbuf_tab(nin)%NSV,nsn ,ndof ,idel(iad) )
6687 iad=iad+num_imp(nin)
6691 CALL ndof_int11(num_imp(nin),ns_imp(iad),ne_imp(iad),
6692 . intbuf_tab(nin)%IRECTS,intbuf_tab(nin)%IRECTM,nrts ,
6694 iad=iad+num_imp(nin)
6705 DO i= 1,num_imp(nin)
6706 IF (idel(iad+i)>0)
THEN
6707 new_iad = new_iad + 1
6708 ns_imp(new_iad)=ns_imp(iad+i)
6709 ne_imp(new_iad)=ne_imp(iad+i)
6710 ind_imp(new_iad)=ind_imp(iad+i)
6714 iad=iad+num_imp(nin)
6715 num_imp(nin) = n_imp
6721 DO i= 1,num_imp(nin)
6722 IF (idel(iad+i)>0)
THEN
6723 new_iad = new_iad + 1
6724 ns_imp(new_iad)=ns_imp(iad+i)
6725 ne_imp(new_iad)=ne_imp(iad+i)
6726 ind_imp(new_iad)=ind_imp(iad+i)
6730 iad=iad+num_imp(nin)
6731 num_imp(nin) = n_imp
6743 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NSV ,
6744 2 NSN ,NDOF ,IDEL_INT )
6748#include "implicit_f.inc"
6752 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NSV(*),
6753 . IDEL_INT(*),NDOF(*),NSN
6758 INTEGER I,J,N,N1,N2,NE,IG
6765 idel_int(i) = ndof(n1)
6771 idel_int(i) =
min(idel_int(i),ndof(n))
6773 IF (irect(3,ne)/=irect(4,ne))
THEN
6775 idel_int(i) =
min(idel_int(i),ndof(n))
6787 1 JLT ,NS_IMP ,NE_IMP ,IRECTS ,IRECTM ,
6788 2 NSN ,NDOF ,IDEL_INT )
6792#include "implicit_f.inc"
6796 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECTS(2,*),IRECTM(2,*),
6797 . IDEL_INT(*),NDOF(*),NSN
6802 INTEGER I,J,N,N1,N2,NE,IG,M1,M2
6809 idel_int(i) = ndof(n1)
6811 idel_int(i) =
min(idel_int(i),ndof(n2))
6817 idel_int(i) =
min(idel_int(i),ndof(m1))
6818 idel_int(i) =
min(idel_int(i),ndof(m2))
6829 1 JLT ,NS_IMP ,NE_IMP ,IRECT ,NSV ,
6830 2 NSN ,NDOF ,IDEL_INT ,MSR )
6834#include "implicit_f.inc"
6838 INTEGER JLT,NS_IMP(*),NE_IMP(*),IRECT(4,*),NSV(*),
6839 . IDEL_INT(*),NDOF(*),NSN,MSR(*)
6844 INTEGER I,J,N,N1,N2,NE,IG
6850 idel_int(i) = ndof(n1)
6854 idel_int(i) =
min(idel_int(i),ndof(n))
6856 IF (irect(3,ne)/=irect(4,ne))
THEN
6858 idel_int(i) =
min(idel_int(i),ndof(n))
6864!||====================================================================
6874#include "implicit_f.inc"
6878 INTEGER NDDL,IADK(*),JDIK(*),L_NZ
6882 INTEGER I,J,K,JD,ICOL(NDDL),NRI
6886 nri = iadk(i+1)-iadk(i)
6887 CALL cp_int(nri,jdik(iadk(i)),icol)
6888 DO j=iadk(i),iadk(i+1)-1
6890 DO k = iadk(jd),iadk(jd+1)-1
6901!||--- calls -----------------------------------------------------
6911#include "implicit_f.inc"
6915 INTEGER NDDL,IADK(*),JDIK(*),IADM(*),JDIM(*),L_MAX
6919 INTEGER I,J,K,ICOL(NDDL),L_NZ,NRI,JD
6922 iadm(l_nz+1) = l_nz+1
6924 nri = iadk(i+1)-iadk(i)
6925 CALL cp_int(nri,jdik(iadk(i)),icol)
6926 DO j=iadk(i),iadk(i+1)-1
6928 DO k = iadk(jd),iadk(jd+1)-1
6935 jdim(l_nz) = icol(j)
6945!||--- called by ------------------------------------------------------
6954#include "implicit_f.inc"
6962 INTEGER I,J,II,IT,IMIN
6970 IF (ic(j)<imin)
THEN
7004#include "implicit_f.inc"
7008 INTEGER NDDL,IADK(*),JDIK(*),L_NZ,NN,NDMAX
7012 INTEGER I,J,K,JD,ICOL(NDDL),ICRI(NDDL),NRI,NR0
7013 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IADK0,JDIK0
7014 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IADL,JDIL
7016 l_nz = 2*(iadk(nddl+1)-iadk(1))
7017 ALLOCATE(iadk0(nddl+1),jdik0(l_nz))
7019 icol(i) = iadk(i+1) - iadk(i)
7020 DO j = iadk(i),iadk(i+1)-1
7022 icol(jd) = icol(jd) + 1
7027 iadk0(i+1) = iadk0(i)+icol(i)
7031 nri = iadk(i+1)-iadk(i)
7032 CALL cp_int(nri,jdik(iadk(i)),jdik0(iadk0(i)))
7034 DO j=iadk(i),iadk(i+1)-1
7036 k = iadk0(jd) + icol(jd)
7038 icol(jd) = icol(jd) + 1
7044 nri = iadk(i+1)-iadk(i)
7045 IF (icri(i)==1)
THEN
7046 CALL cp_int(nri,jdik(iadk(i)),icol)
7047 DO j=iadk(i),iadk(i+1)-1
7049 DO k = iadk0(jd),iadk0(jd+1)-1
7050 IF (jdik0(k)<i)
CALL reorder_a(nri,icol,jdik0(k))
7062 ALLOCATE(iadl(nddl+1),jdil(l_nz))
7066 nri = iadk(i+1)-iadk(i)
7067 CALL cp_int(nri,jdik(iadk(i)),icol)
7068 IF (icri(i)==1)
THEN
7070 DO j=iadk(i),iadk(i+1)-1
7072 DO k = iadk0(jd),iadk0(jd+1)-1
7073 IF (jdik0(k)<i)
CALL reorder_a(nri,icol,jdik0(k))
7080 jdil(l_nz) = icol(j)
7088 nri = iadl(i+1)-iadl(i)
7089 IF (icri(i)==1)
THEN
7090 CALL cp_int(nri,jdil(iadl(i)),icol)
7091 DO j=iadl(i),iadl(i+1)-1
7093 DO k = iadk0(jd),iadk0(jd+1)-1
7094 IF (jdik0(k)<i)
CALL reorder_a(nri,icol,jdik0(k))
7100 DEALLOCATE(iadl,jdil)
7104 ALLOCATE(iadl(nddl+1),jdil(l_nz))
7108 nri = iadk(i+1)-iadk(i)
7109 CALL cp_int(nri,jdik(iadk(i)),icol)
7110 IF (icri(i)==1)
THEN
7112 DO j=iadk(i),iadk(i+1)-1
7114 DO k = iadk0(jd),iadk0(jd+1)-1
7115 IF (jdik0(k)<i)
CALL reorder_a(nri,icol,jdik0(k))
7122 jdil(l_nz) = icol(j)
7128 ALLOCATE(jdik0(2*l_nz))
7130 icol(i) = iadl(i+1) - iadl(i)
7131 DO j = iadl(i),iadl(i+1)-1
7133 icol(jd) = icol(jd) + 1
7138 iadk0(i+1) = iadk0(i)+icol(i)
7141 nri = iadl(i+1)-iadl(i)
7142 CALL cp_int(nri,jdil(iadl(i)),jdik0(iadk0(i)))
7144 DO j=iadl(i),iadl(i+1)-1
7146 k = iadk0(jd) + icol(jd)
7148 icol(jd) = icol(jd) + 1
7154 nri = iadl(i+1)-iadl(i)
7155 CALL cp_int(nri,jdil(iadl(i)),icol)
7156 IF (icri(i)==1)
THEN
7157 DO j=iadl(i),iadl(i+1)-1
7159 DO k = iadk0(jd),iadk0(jd+1)-1
7160 IF (jdik0(k)<i)
CALL reorder_a(nri,icol,jdik0(k))
7166 DEALLOCATE(iadl,jdil)
7168 DEALLOCATE(iadk0,jdik0)
7185 SUBROUTINE ind_span(NN,NDF,NDDL,IADK,JDIK,IADM,JDIM,L_MAX,NDMAX)
7193#include "implicit_f.inc"
7197 INTEGER NDDL,IADK(*),JDIK(*),IADM(*),JDIM(*),L_MAX,NN,NDF,NDMAX
7202 INTEGER I,J,K,ICOL(NDDL),ICRI(NDDL),L_NZ,NRI,JD,NR0
7203 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IADK0,JDIK0
7204 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IADL,JDIL
7206 l_nz = 2*(iadk(nddl+1)-iadk(1))
7208 ALLOCATE(iadk0(nddl+1),jdik0(l_nz))
7210 icol(i) = iadk(i+1) - iadk(i)
7211 DO j = iadk(i),iadk(i+1)-1
7213 icol(jd) = icol(jd) + 1
7218 iadk0(i+1) = iadk0(i)+icol(i)
7222 nri = iadk(i+1)-iadk(i)
7223 CALL cp_int(nri,jdik(iadk(i)),jdik0(iadk0(i)))
7225 DO j=iadk(i),iadk(i+1)-1
7227 k = iadk0(jd) + icol(jd)
7229 icol(jd) = icol(jd) + 1
7238 iadm(i+1) = iadk(i+1)
7240 DO j=iadk(1),iadk(ndf+1)-1
7243 l_nz = iadk(ndf+1)-iadk(1)
7246 nri = iadk(i+1)-iadk(i)
7247 CALL cp_int(nri,jdik(iadk(i)),icol)
7248 IF (icri(i)==1)
THEN
7250 DO j=iadk(i),iadk(i+1)-1
7252 DO k = iadk0(jd),iadk0(jd+1)-1
7253 IF (jdik0(k)<i)
CALL reorder_a(nri,icol,jdik0(k))
7260 jdim(l_nz) = icol(j)
7269 iadm(i+1) = iadk(i+1)
7271 DO j=iadk(1),iadk(ndf+1)-1
7274 l_nz = iadk(ndf+1)-iadk(1)
7277 nri = iadk(i+1)-iadk(i)
7278 CALL cp_int(nri,jdik(iadk(i)),icol)
7279 IF (icri(i)==1)
THEN
7281 DO j=iadk(i),iadk(i+1)-1
7283 DO k = iadk0(jd),iadk0(jd+1)-1
7284 IF (jdik0(k)<i)
CALL reorder_a(nri,icol,jdik0(k))
7291 jdim(l_nz) = icol(j)
7296 ALLOCATE(iadl(nddl+1),jdil(l_nz))
7297 CALL cp_int(nddl+1,iadm,iadl)
7298 CALL cp_int(l_nz,jdim,jdil)
7299 l_nz = iadk(ndf+1)-iadk(1)
7301 nri = iadl(i+1)-iadl(i)
7302 CALL cp_int(nri,jdil(iadl(i)),icol)
7303 IF (icri(i)==1)
THEN
7305 DO j=iadl(i),iadl(i+1)-1
7307 DO k = iadk0(jd),iadk0(jd+1)-1
7308 IF (jdik0(k)<i)
CALL reorder_a(nri,icol,jdik0(k
7315 jdim(l_nz) = icol(j)
7319 DEALLOCATE(iadl,jdil)
7325 nri = iadk(i+1)-iadk(i)
7326 CALL cp_int(nri,jdik(iadk(i)),icol)
7327 IF (icri(i)==1)
THEN
7329 DO j=iadk(i),iadk(i+1)-1
7331 DO k = iadk0(jd),iadk0(jd+1)-1
7332 IF (jdik0(k)<i)
CALL reorder_a(nri,icol,jdik0(k))
7339 jdim(l_nz) = icol(j)
7343 ALLOCATE(iadl(nddl+1),jdil(l_nz))
7344 CALL cp_int(nddl+1,iadm,iadl)
7345 CALL cp_int(l_nz,jdim,jdil)
7348 ALLOCATE(jdik0(2*l_nz))
7350 icol(i) = iadl(i+1) - iadl(i)
7351 DO j = iadl(i),iadl(i+1)-1
7353 icol(jd) = icol(jd) + 1
7358 iadk0(i+1) = iadk0(i)+icol(i)
7361 nri = iadl(i+1)-iadl(i)
7362 CALL cp_int(nri,jdil(iadl(i)),jdik0(iadk0(i)))
7364 DO j=iadl(i),iadl(i+1)-1
7366 k = iadk0(jd) + icol(jd)
7368 icol(jd) = icol(jd) + 1
7374 iadm(i+1) = iadk(i+1)
7376 DO j=iadk(1),iadk(ndf+1)-1
7379 l_nz = iadk(ndf+1)-iadk(1)
7381 nri = iadl(i+1)-iadl(i)
7382 CALL cp_int(nri,jdil(iadl(i)),icol)
7383 IF (icri(i)==1)
THEN
7385 DO j=iadl(i),iadl(i+1)-1
7387 DO k = iadk0(jd),iadk0(jd+1)-1
7388 IF (jdik0(k)<i)
CALL reorder_a(nri,icol,jdik0(k))
7395 jdim(l_nz) = icol(j)
7399 DEALLOCATE(iadl,jdil)
7401 DEALLOCATE(iadk0,jdik0)
7402 CALL k_band(nddl,iadm,jdim,l_max)
7421#include "implicit_f.inc"
7425#include "param_c.inc"
7429 INTEGER ,NPBY(NNPBY,*),IDDL(*),NRBYAC,IRBYAC(*),NDOF(*)
7450!||====================================================================
7457 SUBROUTINE fil_span1(NRBYAC,IRBYAC,NPBY,IDDL,NDDL,IKC,NDOF,INLOC)
7465#include "implicit_f.inc"
7469#include "com04_c.inc"
7470#include "param_c.inc"
7474 INTEGER NDDL,NPBY(NNPBY,*),IDDL(*),NRBYAC,(*),
7475 + ikc(*),ndof(*),inloc(*)
7480 INTEGER I,J,M,N,ID,IDDLM(NDDL),IFIX,IDM
7490 iddlm(i)=iddl(i)-ifix
7493 IF (ikc(id)/=0) ifix=ifix+1
7503 IF (ikc(id+j)==0)
THEN
7520 1 ITOK ,NDDLI ,L_NZ ,LT_I )
7524#include "implicit_f.inc"
7528 INTEGER NDDL,NDDLI,IADK(*),JDIK(*),IADI(*),JDII(*),
7535 INTEGER I,J,K,JD,JK,K2I(NDDL),ICOL(NDDL),NRI
7537 CALL l2g_kloc(nddli ,iadi ,jdii ,itok ,lt_i )
7548 nri = iadk(i+1)-iadk(i)
7550 CALL cp_int(nri,jdik(iadk(i)),icol)
7552 DO j=iadi(k),iadi(k+1)-1
7570!||====================================================================
7572 1 ITOK ,NDDLI ,IADT ,JDIT ,LT_K ,
7581#include "implicit_f.inc"
7585 INTEGER NDDL,NDDLI,IADK(*),JDIK(*),IADI(*),JDII(*),
7586 . itok(*),iadt(*) ,jdit(*),nzl
7588 . lt_k(*), lt_i(*), lt_t(*)
7592 INTEGER I,J,K,N,L,JD,JK,K2I(NDDL),IFT,NZ
7601 IF (iadi(i)==iadi(i+1)) k2i(j) = 0
7608 DO j=iadk(i),iadk(i+1)-1
7620 DO k=iadi(n),iadi(n+1)-1
7623 DO j=ift,iadk(i+1)-1
7624 IF (jk==jdik(j))
THEN
7627 lt_t(nz) = lt_k(j)+lt_i(k)
7630 ELSEIF (jk<jdik(j))
THEN
7644 IF (jk>jdik(j))
THEN
7650 IF (k==(iadi(n+1)-1))
THEN
7651 DO j=ift,iadk(i+1)-1
7662 CALL ancmsg(msgid=80,anmode=aninfo,
7664 IF (nz>nzl)
CALL arret(2)
7690#include "implicit_f.inc"
7694#include "impl1_c.inc"
7698 INTEGER NDDLI,IADI(*),JDII(*),ITOK(*),NZI
7704 INTEGER I,J,K,ICOL(NDDLI),L_NZ,NRI,NZ,JD,GI,GJ,IFT
7705 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IADK0,JDIK0
7707 .
DIMENSION(:),
ALLOCATABLE :: LT_K0
7709 l_nz = 2*(iadi(nddli+1)-iadi(1))
7711 ALLOCATE(iadk0(nddli+1),jdik0(l_nz),lt_k0(l_nz))
7716 icol(i) = icol(i) + iadi(i+1) - iadi(i)
7717 DO j = iadi(i),iadi(i+1)-1
7719 icol(jd) = icol(jd) + 1
7724 iadk0(i+1) = iadk0(i)+icol(i)
7726 nz=iadk0(nddli+1) - iadk0(1)
7728 nri = iadi(i+1)-iadi(i)
7729 CALL cp_int(nri,jdii(iadi(i)),jdik0(iadk0(i)))
7730 CALL cp_real(nri,lt_i(iadi(i)),lt_k0(iadk0(i)))
7734 DO j=iadi(i),iadi(i+1)-1
7736 k = iadk0(jd) + icol(jd)
7739 icol(jd) = icol(jd) + 1
7749 DO j = iadk0(i),iadk0(i+1)-1
7764 DO j = iadk0(i),iadk0(i+1)-1
7776 DEALLOCATE(iadk0,jdik0,lt_k0)
7778 CALL ancmsg(msgid=80,anmode=aninfo,
7784 nz = iadi(i+1)-iadi(i)
7800#include "implicit_f.inc"
7804 INTEGER N ,IC(*),IDDL(*)
7810 INTEGER I,J,II,IT,IIC,IMIN,IDIC(N)
7823 IF (idic(j)<imin)
THEN
7845!||--- called by ------------------------------------------------------
7858#include "implicit_f.inc"
7859#include "mvsiz_p.inc"
7863#include "com04_c.inc"
7864#include
"com08_c.inc"
7865#include "param_c.inc"
7869 INTEGER IBFV(NIFV,*),NDOF(*),IFRAME(LISKN,*)
7876 INTEGER N, I, ISK, J, , K1, K2, K3, ISENS,K,
7877 . ii, ic, nn, ideb, nr, nsk, nfk, ifm,index(mvsiz)
7880 . fac, startt, stopt, ts
7885 DO nn=1,nfxvel,nvsiz
7886 IF (ibfv(8,nn)==1)
GOTO 100
7889 DO 20 ii = 1,
min(nfxvel-ideb,nvsiz)
7893 IF(tstop<=startt)
GOTO 20
7894 IF(tt>=stopt)
GOTO 20
7899 ideb = ideb +
min(nfxvel-ideb,nvsiz)
7907 IF (ifm<=1) j=j-10*isk
7909 IF (ndof(i)==0) ndof(i)=3
7911 IF (ndof(i)==0) ndof(i)=6
7913 IF (ndof(i) <=3)
THEN
7914 CALL ancmsg(msgid=253,anmode=aninfo)
7939 SUBROUTINE i24msegv(IE ,IRTLMV ,SUBTRIA,IRTLM ,NVOISIN)
7943#include "implicit_f.inc"
7947 INTEGER IE,IRTLMV(4),IRTLM(4),SUBTRIA,NVOISIN(8)
7951 INTEGER IX1, IX2, IX3, IX4
7979 SELECT CASE (subtria)
7984 ix3 = iabs(nvoisin(1))
7985 ix4 = iabs(nvoisin(2))
7990 ix3 = iabs(nvoisin(3))
7991 ix4 = iabs(nvoisin(4))
7996 ix3 = iabs(nvoisin(5))
7997 ix4 = iabs(nvoisin(6))
8002 ix3 = iabs(nvoisin(7))
8003 ix4 = iabs(nvoisin(8))
8009 IF (irtlmv(2)==0) irtlmv(2)=irtlmv(1)
8010 IF (irtlmv(4)==0) irtlmv(4)=irtlmv(3)
subroutine intbuf_tab_c_ini(intbuf_tab, intbuf_tab_c)
subroutine i2_prem(ipari, khie, ni2, ii2, nsmax)
subroutine kin_nrmax(nnmax, nkmax, nrowk, icok, icokm, iloc, ink, fr_elem, iad_elem)
subroutine zero_ikin2g(nkine, iloc)
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_kine_kp(nrowk, icok, icokm, nnmax, nkmax, nkine, ink, ikpat, iddl)
subroutine set_ikin2g(nkine, inloc)
subroutine get_ikin2g(nkine, ink, iloc)
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 ind_nrfr(nft, nel, npn, npp, nnmax, nrow, icol, fr_elem, iad_elem, n_fr, icok)
subroutine dim_nrmax(nrow, fr_elem, iad_elem, nnmax)
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 spc_fr_k(iadk, jdik, ndof, iddl, fr_elem, iad_elem)
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 imp_sol_init(geo, npby, lpby, itab, ipari, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, iparg, elbuf, nint7, nbintc, x, dmcp, fr_elem, iad_elem, fr_i2m, iad_i2m, nprw, num_imp1, num_impl, monvol, igrsurf, fr_mv, ipm, igeo, iad_rby, fr_rby, sh4tree, sh3tree, irbe3, lrbe3, fr_rbe3m, iad_rbe3m, irbe2, lrbe2, ibfv, vel, elbuf_tab, iframe, intbuf_tab, nddl0, nnzk0, impbuf_tab)
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_intbuf_ini(imp_intbuf_tab, nimp)
subroutine k_band(nddl, iadk, jdik, ndmax)
subroutine spmd_ndof(ndof, fr_elem, iad_elem, tsize)
subroutine spmd_i2d(ndof, fr_elem, iad_elem, tsize)
subroutine fil_span1(nrbyac, irbyac, npby, iddl, nddl, ikc, ndof, inloc)
subroutine dim_elemax(ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, iparg, elbuf, ndof, nrow, inloc, nnmax, l_max, c_max, igeo, elbuf_tab)
subroutine reorder_j(n, ic, ni, iddl)
subroutine row_int(jlt, ns_imp, ne_imp, irect, nsv, nrow, iloc, ndofi, n_impn, nsn, nsrem)
subroutine row_int2(jlt, ns_imp, ne_imp, irect, nsv, nrow, n_impn, iloc, icol, nnmax, icok, nkmax, nsn)
subroutine ndof_int(jlt, ns_imp, ne_imp, irect, nsv, nsn, ndof, idel_int)
subroutine fil_span0(nrbyac, irbyac, npby, iddl, ndof, nddl)
subroutine ind_spa2(nddl, iadk, jdik, iadm, jdim, l_max)
subroutine row_int112(jlt, ns_imp, ne_imp, irects, irectm, nrow, n_impn, iloc, icol, nnmax, icok, nkmax, nsn)
subroutine dim_elems2(elbuf, iparg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, nrow, inloc, nnmax, icok, nkmax, icokm, ink, igeo, elbuf_tab)
subroutine dim_elemsp(elbuf, iparg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, nrow, inloc, nkmax, icok, igeo, elbuf_tab)
subroutine dim_ndof_d(npby, lpby, nrbyac, irbyac, ndof, iad_rby, fr_rby)
subroutine row_adds(ns, nm, iloc, ishf, icol, icok, nrow, nnmax, nkmax)
subroutine row_int5(jlt, ns_imp, ne_imp, irect, nsv, msr, nrow, iloc, ndofi, n_impn, nsn, nsrem)
subroutine row_int52(jlt, ns_imp, ne_imp, irect, nsv, msr, nrow, n_impn, iloc, icol, nnmax, icok, nkmax, nsn)
subroutine dim_kine_p(igeo, npby, lpby, itab, nrbyac, irbyac, nint2, iint2, ipari, ndof, nsi2, nsrb, nkine, inloc, irbe3, irbe2, lrbe2, nkinm, intbuf_tab)
subroutine row_int51(jlt, ns_imp, ne_imp, irect, nsv, msr, nrow, n_impn, iloc, icol, nnmax, nsn)
subroutine dim_kinmax(igeo, npby, lpby, itab, nrbyac, irbyac, nint2, iint2, ipari, intbuf_tab, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, iparg, ndof, nsi2, nsrb, elbuf, nkine, inloc, nrow, nnmax, nkmax, nss, nsij, nmij, nss2, nsij2, nmij2, fr_elem, iad_elem, sh4tree, sh3tree, irbe3, lrbe3, nss3, irbe2, lrbe2, nsb2, elbuf_tab)
subroutine ndof_int11(jlt, ns_imp, ne_imp, irects, irectm, nsn, ndof, idel_int)
subroutine ndof_fv(ibfv, vel, ndof, iframe)
subroutine ind_int_k(ipari, intbuf_tab, num_imp, ns_imp, ne_imp, npby, lpby, itab, nrbyac, irbyac, nss, iss, nint2, iint2, nss2, iss2, nddli, nnzi, iadi, jdii, iddli, iloci, n_impn, itok, iddl, nnmax, nkmax, n_impm, ndof, iaint2, irbe3, lrbe3, nss3, iss3, irbe2, lrbe2, nsb2, isb2, ind_subt)
subroutine ind_ktot(nddl, iadk, jdik, iadi, jdii, itok, nddli, iadt, jdit, lt_k, lt_i, lt_t, nzl)
subroutine i24msegv(ie, irtlmv, subtria, irtlm, nvoisin)
subroutine dim_ndof_ii(nint2, iint2, ipari, ndof, nrbe3, irbe3, lrbe3, nrbe2, irbe2, lrbe2, intbuf_tab)
subroutine reorder_l(n, ic, ni, iddl)
subroutine dim_elems3(elbuf, iparg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, nrow, inloc, nkmax, icok, igeo, elbuf_tab)
subroutine ind_kine_k(npby, lpby, itab, nrbyac, irbyac, nsc, isij, nmc, imij, nss, iss, nint2, iint2, ipari, intbuf_tab, nsc2, isij2, nss2, iss2, ndof, nnmax, nkine, inloc, nkmax, nrowk, icok, icokm, nmc2, imij2, ink, irbe3, lrbe3, iss3, irbe2, lrbe2, isb2, nsrb2)
subroutine dim_elems1(igeo, elbuf, iparg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, ndof, nrow, elbuf_tab)
subroutine row_int241(jlt, ns_imp, ne_imp, irect, nsv, nrow, n_impn, iloc, icol, nnmax, nsn, subtria, nvoisin)
subroutine dim_span(nn, nddl, iadk, jdik, l_nz, ndmax)
subroutine row_int1(jlt, ns_imp, ne_imp, irect, nsv, nrow, n_impn, iloc, icol, nnmax, nsn)
subroutine dim_kine_t(npby, lpby, itab, nrbyac, irbyac, nint2, iint2, ipari, intbuf_tab, ndof, nnmax, nrowi, nkine, inloc, icok, nss, nsij, nmij, nss2, nsij2, nmij2, nkmax, icokm, ink, irbe3, lrbe3, nss3, irbe2, lrbe2, nsb2)
subroutine reorder_kij(n, ic, rc, iddl)
subroutine ndof_int5(jlt, ns_imp, ne_imp, irect, nsv, nsn, ndof, idel_int, msr)
subroutine dim_ndof_i(npby, lpby, itab, nrbyac, irbyac, ndof, nsrb, ipari, nint2, iint2, nsi2, nprw, irbe3, irbe2, nsrb2, fr_elem, iad_elem, intbuf_tab)
subroutine reorder_m(n, ic)
subroutine row_int24(jlt, ns_imp, ne_imp, irect, nsv, nrow, iloc, ndofi, n_impn, nsn, nsrem, subtria, nvoisin)
subroutine dim_kine_i(num_imp, ns_imp, ne_imp, npby, lpby, itab, nrbyac, irbyac, nint2, iint2, ipari, intbuf_tab, lnss, lnss2, nrow, nkine, inloc, nnmax, n_impm, ndof, ndofi, iaint2, irbe3, lrbe3, lnss3, irbe2, lrbe2, lnsb2, lnsrb2, ind_subt)
subroutine row_int242(jlt, ns_imp, ne_imp, irect, nsv, nrow, n_impn, iloc, icol, nnmax, icok, nkmax, nsn, subtria, nvoisin)
subroutine row_int111(jlt, ns_imp, ne_imp, irects, irectm, nrow, n_impn, iloc, icol, nnmax, nsn)
subroutine reorder_a1(n, ic, id)
subroutine set_ind_k(iddl, ndof, iadk, jdik, nddl, nnzk, nrow, icol, n, ikpat)
subroutine ind_span(nn, ndf, nddl, iadk, jdik, iadm, jdim, l_max, ndmax)
subroutine dim_kine_s(npby, lpby, itab, nrbyac, irbyac, nint2, iint2, ipari, intbuf_tab, ndof, nnmax, nrow, nrowi, nkine, inloc, icok, irbe3, lrbe3, irbe2, lrbe2)
subroutine ind_kine_i(npby, lpby, itab, nrbyac, irbyac, nss, iss, nint2, iint2, ipari, intbuf_tab, nss2, iss2, nnmax, inloc, nkmax, nrowk, icok, icokm, ink, ndof, ndof1, iaint2, irbe3, lrbe3, nss3, iss3, irbe2, lrbe2, nsb2, isb2)
subroutine dim_ktot(nddl, iadk, jdik, iadi, jdii, itok, nddli, l_nz, lt_i)
subroutine dim_int_k(ipari, intbuf_tab, num_imp, ns_imp, ne_imp, npby, lpby, itab, nrbyac, irbyac, lnss, nint2, iint2, iaint2, lnss2, nddl, nnzk, iddl, iloci, n_impn, n_impm, nnmax, nkmax, ndof, nsrem, irbe3, lrbe3, lnss3, irbe2, lrbe2, lnsb2, lnsrb2, ind_subt)
subroutine dim_int7(ninter, ipari, intbuf_tab, nnmax)
subroutine nddl_loc(nddl, iddl, iloc, nloc, ndof)
subroutine dim_elems4(elbuf, iparg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, nrow, inloc, nnmax, icok, nkmax, icokm, ink, igeo, elbuf_tab)
logical function intab(nic, ic, n)
subroutine dim_spa2(nddl, iadk, jdik, l_nz)
subroutine idel_int(ipari, intbuf_tab, num_imp, ns_imp, ne_imp, ind_imp, ndof, nt_imp)
subroutine l2g_kloc(nddli, iadi, jdii, itok, lt_i)
subroutine reorder_i(n, ic)
subroutine dim_glob_k(geo, npby, lpby, itab, nrbyac, irbyac, nint2, iint2, ipari, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, iparg, ndof, iddl, nddl, nnzk, elbuf, inloc, lsize, fr_elem, iad_elem, fr_i2m, iad_i2m, nprw, nmonv, imonv, monvol, igrsurf, fr_mv, ipm, igeo, iad_rby, fr_rby, sh4tree, sh3tree, irbe3, lrbe3, fr_rbe3m, iad_rbe3m, irbe2, lrbe2, ibfv, vel, elbuf_tab, iframe, intbuf_tab)
subroutine row_int11(jlt, ns_imp, ne_imp, irects, irectm, nrow, iloc, ndofi, n_impn, nsn, nsrem)
subroutine reorder_a(n, ic, id)
subroutine ind_glob_k(npby, lpby, itab, nrbyac, irbyac, nsc, isij, nmc, imij, nss, iss, nint2, iint2, ipari, intbuf_tab, nsc2, isij2, nss2, iss2, iparg, elbuf, elbuf_tab, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, iddl, ndof, iadk, jdik, nddl, nnzk, nnmax, nkine, inloc, nkmax, nrowk, icok, icokm, nmc2, imij2, irk, npn, npp, fr_elem, iad_elem, ipm, igeo, irbe3, lrbe3, iss3, fr_i2m, iad_i2m, fr_rbe3m, iad_rbe3m, irbe2, lrbe2, isb2, nsrb2)
subroutine reorder_j1(n, ic, ni)
subroutine monv_prem(nmonv, imonv, monvol, igrsurf, fr_mv, itag, npby, lpby, nrbyac, irbyac, nint2, iint2, ipari, intbuf_tab, ndof, iprec0, irbe3, irbe2, lrbe2)
integer, dimension(:), allocatable pre_fpat
subroutine cp_real(n, x, xc)
subroutine produt_v(nddl, x, y, r)
subroutine cp_int(n, x, xc)
subroutine rbyac_imp(npby, itab, nrbyac, irbyac, nsmax)
subroutine rmind_imp(nnmax, inloc, nrowk, icok)
subroutine rmdim_imp(ixc, ixtg, ndof, nnmax, nkine, inloc, nrow, itab, sh4tree, sh3tree)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
character *2 function nl()