39 . ITAB ,IXSKIN ,TAG_SKINS6,IBCL ,
40 . ILOADP,LLOADP ,NODAL_IPART,IMAPSKP,
53#include "implicit_f.inc"
64 INTEGER,
DIMENSION(NUMSKINP0),
INTENT(IN) :: IMAPSKP
65 INTEGER IPARG(NPARG,*),IXS(NIXS,*),IPARTS(*),ITAB(*),IXSKIN(NIXQ,*),
66 . IXS10(6,*) ,TAG_SKINS6(*),IBCL(*),ILOADP(*),LLOADP(*),
68 TYPE (),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
69 TYPE (LOADS_) ,
INTENT(IN) :: LOADS
70 TYPE (PBLAST_),
INTENT(IN) :: PBLAST
74 INTEGER I,NSKIN,ISOLNOD,ICS,NG,N,J
76 . MLW ,NEL ,NFT ,IAD ,ITY ,
77 . npt ,jale ,ismstr ,jeul ,jtur ,
78 . jthe ,jlag ,jmult ,jhbe ,jivf ,
79 . nvaux ,jpor ,kcvt ,jclose ,jplasol ,
80 . irep ,iint ,igtyp ,israt ,isrot ,
81 . icsen ,isorth ,isorthg ,ifailure,jsms ,
87 isolnod = iparg(28,ng)
90 2 mlw ,nel ,nft ,iad ,ity ,
91 3 npt ,jale ,ismstr ,jeul ,jtur ,
92 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
93 5 nvaux ,jpor ,kcvt ,jclose ,jplasol ,
94 6 irep ,iint ,igtyp ,israt ,isrot ,
95 7 icsen ,isorth ,isorthg ,ifailure,jsms )
97 IF(mlw == 13 .OR. mlw == 0) cycle
108 IF (ity == 1.AND.(igtyp==20 .OR. igtyp==21 .OR. igtyp==22))
THEN
113 ixskin(1,nskin+i) = iparts(n)
114 ixskin(7,nskin+i) = nskin+i
122 ixskin(2,nskin+i) = itab(ixs(2,n))
123 ixskin(3,nskin+i) = itab(ixs(5,n))
124 ixskin(4,nskin+i) = itab(ixs(9,n))
125 ixskin(5,nskin+i) = itab(ixs(6,n))
126 ixskin(6,nskin+i) = ixs(nixs-1,n)
133 ixskin(2,nskin+i) = itab(ixs(2,n))
134 ixskin(3,nskin+i) = itab(ixs(3,n))
135 ixskin(4,nskin+i) = itab(ixs(4,n))
136 ixskin(5,nskin+i) = itab(ixs(5,n))
137 ixskin(6,nskin+i) = ixs(nixs-1,n)
144 ixskin(2,nskin+i) = itab(ixs
145 ixskin(3,nskin+i) = itab(ixs(6,n))
146 ixskin(4,nskin+i) = itab(ixs(7,n))
147 ixskin(5,nskin+i) = itab(ixs(3,n))
148 ixskin(6,nskin+i) = ixs(nixs-1,n)
152 ELSEIF (isolnod==6)
THEN
156 ixskin(2,nskin+i) = itab(ixs(2,n))
157 ixskin(3,nskin+i) = itab(ixs(3,n))
158 ixskin(4,nskin+i) = itab(ixs(4,n))
159 ixskin(5,nskin+i) = itab(ixs(4,n))
160 ixskin(6,nskin+i) = ixs(nixs-1,n)
168 ixskin(2,nskin+i) = itab(ixs(2,n))
169 ixskin(3,nskin+i) = itab(ixs(3,n))
170 ixskin(4,nskin+i) = itab(ixs(4,n))
171 ixskin(5,nskin+i) = itab(ixs(5,n))
172 ixskin(6,nskin+i) = ixs(nixs-1,n)
180 ixskin(1,nskin+i) = iparts(n)
181 ixskin(7,nskin+i) = nskin+i
189 ixskin(2,nskin+i) = itab(ixs(3,n))
190 ixskin(3,nskin+i) = itab(ixs(4,n))
191 ixskin(4,nskin+i) = itab(ixs(8,n))
192 ixskin(5,nskin+i) = itab(ixs(7,n))
193 ixskin(6,nskin+i) = ixs(nixs-1,n)
200 ixskin(2:5,nskin+i) = itab(ixs(6:9,n))
201 ixskin(6,nskin+i) = ixs(nixs-1,n)
208 ixskin(2,nskin+i) = itab(ixs(5,n))
209 ixskin(3,nskin+i) = itab(ixs(9,n))
210 ixskin(4,nskin+i) = itab(ixs(8,n))
211 ixskin(5,nskin+i) = itab(ixs(4,n))
212 ixskin(6,nskin+i) = ixs(nixs-1,n)
216 ELSEIF (isolnod==6)
THEN
220 ixskin(2:4,nskin+i) = itab(ixs(6:8,n))
221 ixskin(5,nskin+i) = ixskin(4,nskin+i)
222 ixskin(6,nskin+i) = ixs(nixs-1,n)
229 ixskin(2:5,nskin+i) = itab(ixs(6:9,n))
230 ixskin(6,nskin+i) = ixs(nixs-1,n)
243 . ixskin ,tag_skins6,nskin )
245 ixskin(2:5,i) = itab(ixskin(2:5,i))
252 . ixskin ,nskin ,imapskp,loads,pblast )
254 ixskin(2:5,i) = itab(ixskin(2:5,i))
343#include
"implicit_f.inc"
347#include "param_c.inc"
348#include "com01_c.inc"
353 INTEGER IPARG(NPARG,*),NUMSKIN, TAG_SKINS6(*)
358 . MLW ,NEL ,NFT ,IAD ,ITY ,
359 . NPT ,JALE ,ISMSTR ,JEUL ,JTUR
362 . irep ,iint ,igtyp ,israt ,isrot ,
363 . icsen ,isorth ,isorthg ,ifailure,jsms ,
368 2 mlw ,nel ,nft ,iad ,ity ,
369 3 npt ,jale ,ismstr ,jeul ,jtur ,
370 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
371 5 nvaux ,jpor ,kcvt ,jclose ,jplasol ,
372 6 irep ,iint ,igtyp ,israt ,isrot ,
373 7 icsen ,isorth ,isorthg ,ifailure,jsms )
375 IF(mlw == 13 .OR. mlw == 0.OR.ity /= 1) cycle
377 IF (igtyp==20 .OR. igtyp==21 .OR. igtyp==22)
THEN
378 numskin = numskin + 2*nel
401#include "implicit_f.inc"
405#include "param_c.inc"
406#include "com01_c.inc"
411 INTEGER IPARG(NPARG,*),NUMSKIN, TAG_SKINS6(*)
415 INTEGER I,NG,N,J,N1,N2,
416 . MLW ,NEL ,NFT ,IAD ,ITY ,
417 . NPT ,JALE ,ISMSTR ,JEUL ,JTUR ,
418 . JTHE ,JLAG ,JMULT ,JHBE ,JIVF ,
419 . nvaux ,jpor ,kcvt ,jclose ,jplasol ,
420 . irep ,iint ,igtyp ,israt ,isrot ,
421 . icsen ,isorth ,isorthg ,ifailure,jsms ,
422 . nn,ics,isolnod,nn1,jj,ii,k1,k2,nf(3),nskin2,idb
423 INTEGER FACES(4,6),NS(4),PWR(7),LL
424 DATA PWR/1,2,4,8,16,32,64/
441 2 mlw ,nel ,nft ,iad ,ity ,
442 3 npt ,jale ,ismstr ,jeul ,jtur ,
443 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
444 5 nvaux ,jpor ,kcvt ,jclose ,jplasol ,
445 6 irep ,iint ,igtyp ,israt ,isrot ,
446 7 icsen ,isorth ,isorthg ,ifailure,jsms )
448 IF(mlw == 13 .OR. mlw == 0.OR.ity /= 1) cycle
450 IF (igtyp==6 .OR. igtyp==14 )
THEN
451 isolnod = iparg(28,ng)
459 IF(mod(ll,pwr(jj+1))/pwr(jj) /= 0)cycle
460 numskin = numskin + 1
463 ELSEIF(isolnod == 6)
THEN
464 ELSEIF(isolnod == 10)
THEN
470 IF(mod(ll,pwr(jj+1))/pwr(jj) /= 0)cycle
471 numskin = numskin + 4
480 IF(mod(ll,pwr(jj+1))/pwr(jj) /= 0)cycle
481 numskin = numskin + 1
509#include "implicit_f.inc"
510#include "param_c.inc"
514#include "com04_c.inc"
515#include "tabsiz_c.inc"
522 INTEGER LLOADP(SLLOADP),,NSKIN0
523 INTEGER ILOADP(SIZLOADP,*),IB(NIBCLD,*)
524 TYPE (LOADS_) ,
INTENT(IN) :: LOADS
525 TYPE(PBLAST_),
INTENT(IN) :: PBLAST
529 INTEGER NL, N1, ISK, N2, N3, N4, N5, J,
530 . IAD ,NP ,IFUNC ,NPRES ,N,NSKIN_I,NSKINP0,IERR,IXST,SHIFT
531 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ITAGN
532 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: IRECT
542 IF (n1>0.AND.n2>0.AND.n3>0.AND.n4/=-1) nskin = nskin + 1
545 shift = nloadp_f+pblast%NLOADP_B
546 DO nl=1+shift,nloadp_hyd+shift
548 DO n=1, iloadp(1,nl)/4
549 n1 = lloadp(iad+4*(n-1))
550 n2 = lloadp(iad+4*(n-1)+1)
551 n3 = lloadp(iad+4*(n-1)+2)
552 n4 = lloadp(iad+4*(n-1)+3)
553 IF (n1>0.AND.n2>0.AND.n3>0) nskin = nskin + 1
557 DO nl=1,nloadp_f+pblast%NLOADP_B
559 DO n=1, iloadp(1,nl)/4
560 n1 = lloadp(iad+4*(n-1))
561 n2 = lloadp(iad+4*(n-1)+1)
562 n3 = lloadp(iad+4*(n-1)+2)
563 n4 = lloadp(iad+4*(n-1)+3)
564 IF (n1>0.AND.n2>0.AND.n3>0) nskin = nskin + 1
568 DO nl = 1,loads%NLOAD_CYL
569 DO n = 1,loads%LOAD_CYL(nl)%NSEG
570 n1 = loads%LOAD_CYL(nl)%SEGNOD(n,1)
571 n2 = loads%LOAD_CYL(nl)%SEGNOD(n,2)
572 n3 = loads%LOAD_CYL(nl)%SEGNOD(n,3)
573 n4 = loads%LOAD_CYL(nl)%SEGNOD(n,4)
574 IF (n1>0.AND.n2>0.AND.n3>0) nskin = nskin + 1
579 nskinp0 = nskin0 - nskin_i
581 ALLOCATE(irect(4,nskinp0),itagn(numnod),stat=ierr)
591 IF (n1==0.OR.n2==0.OR.n3==0.OR.n4==-1) cycle
598 irect(1:4,np) = ib(1:4,nl)
601 shift = nloadp_f+pblast%NLOADP_B
602 DO nl=1+shift,nloadp_hyd+shift
604 DO n=1, iloadp(1,nl)/4
605 n1 = lloadp(iad+4*(n-1))
606 n2 = lloadp(iad+4*(n-1)+1)
607 n3 = lloadp(iad+4*(n-1)+2)
608 n4 = lloadp(iad+4*(n-1)+3)
609 IF (n1==0.OR.n2==0.OR.n3==0) cycle
611 IF(itagn(n1)+itagn(n2)+itagn(n3)+itagn(n4)<4)
THEN
624 DO WHILE (ixst==0 .AND. j < np)
626 IF (n1 /= irect(1,j)) cycle
627 IF (n2 /= irect(2,j)) cycle
628 IF (n3 /= irect(3,j)) cycle
629 IF (n4 /= irect(4,j)) cycle
646 DO nl=1,nloadp_f + pblast%NLOADP_B
648 DO n=1, iloadp(1,nl)/4
649 n1 = lloadp(iad+4*(n-1))
650 n2 = lloadp(iad+4*(n-1)+1)
651 n3 = lloadp(iad+4*(n-1)+2)
652 n4 = lloadp(iad+4*(n-1)+3)
653 IF (n1==0.OR.n2==0.OR.n3==0) cycle
655 IF(itagn(n1)+itagn(n2)+itagn(n3)+itagn(n4)<4)
THEN
668 DO WHILE (ixst==0 .AND. j < np)
670 IF (n1 /= irect(1,j)) cycle
671 IF (n2 /= irect(2,j)) cycle
672 IF (n3 /= irect(3,j)) cycle
673 IF (n4 /= irect(4,j)) cycle
690 DO nl = 1,loads%NLOAD_CYL
691 DO n = 1,loads%LOAD_CYL(nl)%NSEG
692 n1 = loads%LOAD_CYL(nl)%SEGNOD(n,1)
693 n2 = loads%LOAD_CYL(nl)%SEGNOD(n,2)
694 n3 = loads%LOAD_CYL(nl)%SEGNOD(n,3)
695 n4 = loads%LOAD_CYL(nl)%SEGNOD(n,4)
697 IF(itagn(n1)+itagn(n2)+itagn(n3)+itagn(n4)<4)
THEN
710 DO WHILE (ixst==0 .AND. j < np)
712 IF (n1 /= irect(1,j)) cycle
713 IF (n2 /= irect(2,j)) cycle
714 IF (n3 /= irect(3,j)) cycle
715 IF (n4 /= irect(4,j)) cycle
733 DEALLOCATE(irect,itagn)
750 . IXSKIN ,NSKIN ,IMAPSKP,LOADS,PBLAST )
761#include "implicit_f.inc"
762#include "param_c.inc"
766#include "com04_c.inc"
767#include "tabsiz_c.inc"
774 INTEGER ,
DIMENSION(NUMSKINP0),
INTENT(IN) :: IMAPSKP
775 INTEGER (SLLOADP),NSKIN,IXSKIN(NIXQ,*)
776 INTEGER ILOADP(SIZLOADP,*),IB(NIBCLD,*),NODAL_IPART(*)
777 TYPE (LOADS_) ,
INTENT(IN) :: LOADS
778 TYPE(PBLAST_),
INTENT(IN) ::
782 INTEGER NL, N1, ISK, N2, , N4, ,
783 . iad ,np ,ifunc ,npres,nskin0,nskin1,n,i,pid0,shift
795 IF (n1==0.OR.n2==0.OR.n3==0.OR.n4==-1) cycle
798 nskin = nskin0+ imapskp(np)
807 ixskin(1,nskin)=nodal_ipart(n1)
808 ixskin(6,nskin)=nskin0+nl
812 shift = nloadp_f+pblast%NLOADP_B
813 DO nl=1+shift,nloadp_hyd+shift
815 DO n=1, iloadp(1,nl)/4
816 n1 = lloadp(iad+4*(n-1))
817 n2 = lloadp(iad+4*(n-1)+1)
818 n3 = lloadp(iad+4*(n-1)+2)
819 n4 = lloadp(iad+4*(n-1)+3)
820 IF (n1==0.OR.n2==0.OR.n3==0) cycle
823 IF (imapskp(np) < np) cycle
824 nskin = nskin0+ imapskp(np)
833 ixskin(1,nskin)=nodal_ipart(n1)
834 ixskin(6,nskin)=nskin1+nl
841 DO i = 1,iloadp(1,nl)/4
842 n1=lloadp(iad+4*(i-1))
843 n2=lloadp(iad+4*(i-1)+1)
844 n3=lloadp(iad+4*(i-1)+2)
845 n4=lloadp(iad+4*(i-1)+3)
846 IF (n1==0.OR.n2==0.OR.n3==0) cycle
849 IF (imapskp(np) < np) cycle
850 nskin = nskin0+ imapskp(np)
859 ixskin(1,nskin)=nodal_ipart(n1)
860 ixskin(6,nskin)=nskin1+nl
865 DO nl=1+nloadp_f,nloadp_f+pblast%NLOADP_B
867 DO i = 1,iloadp(1,nl)/4
868 n1=lloadp(iad+4*(i-1))
869 n2=lloadp(iad+4*(i-1)+1)
870 n3=lloadp(iad+4*(i-1)+2)
871 n4=lloadp(iad+4*(i-1)+3)
872 IF (n1==0.OR.n2==0.OR.n3==0) cycle
875 IF (imapskp(np) < np) cycle
876 nskin = nskin0+ imapskp(np)
885 ixskin(1,nskin)=nodal_ipart(n1)
886 ixskin(6,nskin)=nskin1+nl
891 DO nl=1,loads%NLOAD_CYL
892 DO i = 1,loads%LOAD_CYL(nl)%NSEG
893 n1 = loads%LOAD_CYL(nl)%SEGNOD(i,1)
894 n2 = loads%LOAD_CYL(nl)%SEGNOD(i,2)
895 n3 = loads%LOAD_CYL(nl)%SEGNOD(i,3)
896 n4 = loads%LOAD_CYL(nl)%SEGNOD(i,4)
899 IF (imapskp(np) < np) cycle
900 nskin = nskin0+ imapskp(np)
909 ixskin(1,nskin)=nodal_ipart(n1)
910 ixskin(6,nskin)=nskin1+nl
927 . IXC, IXTG, IXS,IXS10,IXS16,IXS20,
937#include "implicit_f.inc"
941#include "com01_c.inc"
942#include "com04_c.inc"
943#include "param_c.inc"
948 INTEGER IPARG(NPARG,*),IXS(NIXS,*),IPARTS(*),
949 . IXC(NIXC,*),IXTG(NIXTG,*),IXS10(6,*),IXS16(8,*) ,
950 . IXS20(12,*),IPARTC(*),IPARTTG(*),NODAL_IPART(*)
951 TYPE (),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
955 INTEGER I,NSKIN,ISOLNOD,,NG,N,J,NJ
957 . MLW ,NEL ,NFT ,IAD ,ITY ,
958 . npt ,jale ,ismstr ,jeul ,jtur ,
959 . jthe ,jlag ,jmult ,jhbe ,jivf ,
960 . nvaux ,jpor ,kcvt ,jclose ,jplasol ,
961 . irep ,iint ,igtyp ,israt ,isrot ,
962 . icsen ,isorth ,isorthg ,ifailure,jsms ,
966 isolnod = iparg(28,ng)
968 2 mlw ,nel ,nft ,iad ,ity ,
969 3 npt ,jale ,ismstr ,jeul ,jtur ,
970 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
971 5 nvaux ,jpor ,kcvt ,jclose ,jplasol ,
972 6 irep ,iint ,igtyp ,israt ,isrot ,
973 7 icsen ,isorth ,isorthg ,ifailure,jsms )
975 IF(mlw == 13 .OR. mlw == 0) cycle
982 nodal_ipart(ixc(2:5,n))=ipartc(n)
984 ELSEIF (ity == 7)
THEN
987 nodal_ipart(ixtg(2:4,n))=iparttg(n)
992 ELSEIF (ity == 1)
THEN
994 SELECT CASE (isolnod)
998 nodal_ipart(ixs(2,n)) =iparts(n)
999 nodal_ipart(ixs(4,n)) =iparts(n)
1000 nodal_ipart(ixs(7,n)) =iparts(n)
1001 nodal_ipart(ixs(6,n)) =iparts(n)
1006 nodal_ipart(ixs(2,n)) =iparts(n)
1007 nodal_ipart(ixs(3,n)) =iparts(n)
1008 nodal_ipart(ixs(4,n)) =iparts(n)
1009 nodal_ipart(ixs(7,n)) =iparts(n)
1010 nodal_ipart(ixs(6,n)) =iparts(n)
1011 nodal_ipart(ixs(8,n)) =iparts(n)
1016 nodal_ipart(ixs(2:9,n)) =iparts(n)
1021 nodal_ipart(ixs(2,n)) =iparts(n)
1022 nodal_ipart(ixs(4,n)) =iparts(n)
1023 nodal_ipart(ixs(7,n)) =iparts(n)
1024 nodal_ipart(ixs(6,n)) =iparts(n)
1028 IF (nj>0) nodal_ipart(nj) =iparts(n)
1032 nn1 = n - (numels8+numels10+numels20)
1035 nodal_ipart(ixs(2:9,n)) =iparts(n)
1038 IF (nj>0) nodal_ipart(nj) =iparts(n)
1042 nn1 = n - (numels8+numels10)
1045 nodal_ipart(ixs(2:9,n)) =iparts(n)
1048 IF (nj>0) nodal_ipart(nj) =iparts(n)