33
34
35
36
37
38
39
41 use element_mod , only : nixq
42
43
44
45#include "implicit_f.inc"
46
47
48
49#include "com04_c.inc"
50#include "units_c.inc"
51#include "scr03_c.inc"
52#include "param_c.inc"
53#include "titr_c.inc"
54
55
56
57 INTEGER IXQ(NIXQ,NUMELQ), ISEL(*), IPOINT(2,*), ITAB(*),
58 . ITABM1(*), ICODE(*),IPARTQ(*),
59 . IPM(NPROPMI,NUMMAT),IGEO(NPROPGI,NUMGEO)
61
62 TYPE (GROUP_) ,DIMENSION(NGRQUAD) :: IGRQUAD
63
64
65
66 INTEGER I, J, MT, MLAW, JTUR, I1, I2, INEW
67 INTEGER IC,IC1,IC2,IC3,IC4,MID,PID
68 CHARACTER MESS*40, MESS2*40
69
70
71
72 DATA mess/'2D SOLID ELEMENTS DEFINITION '/
73 DATA mess2/'2D SOLID ELEMENTS SELECTION FOR TH PLOT '/
74
75
76
77
78
79 DO i=1,numelq
80 mt=ixq(1,i)
81 mlaw=nint(pm(19,mt))
82 jtur=nint(pm(70,mt))
83 DO j=2,5
84 IF((mlaw==6.AND.jtur/=0) .OR. mlaw==46)THEN
85 ic=icode(ixq(j,i))
86 ic1=ic/512
87 ic2=(ic-512*ic1)/64
88 ic3=(ic-512*ic1-64*ic2)/8
89 ic4=(ic-512*ic1-64*ic2-8*ic3)
90 IF(ic1==3.OR.ic1==7.OR.ic4==3.OR.ic4==7)
91 . ixq(1,i)=-iabs(ixq(1,i))
92 ENDIF
93 ENDDO
94 ENDDO
95
96
97
98 CALL reordr(ixq ,nixq ,numelq ,pm ,ipoint ,
99 . ipartq,ngrquad,igrquad,nummat)
100
101 i1=1
102 i2=min0(50,numelq)
103
104 IF(ipri>=5)THEN
105 WRITE (iout,'(//A//)') titre(206)
106 90 WRITE (iout,'(//A/A//A/)')titre(100),titre(101),titre(102)
107 DO 100 i=i1,i2
108 inew=ipoint(1,i)
109 IF(inew < 1)cycle
110 IF(ixq(1,inew)<1)cycle
111 mid =ipm(1,ixq(1,inew))
112 pid =igeo(1,ixq(6,inew))
113 100 WRITE (iout,'(8I10)')ixq(nixq,inew),inew,mid,pid,(itab(ixq(j,inew)),j=2,5)
114 IF(i2==numelq)GOTO 200
115 i1=i1+50
116 i2=min0(i2+50,numelq)
117 GOTO 90
118 ENDIF
119
120 200 CONTINUE
121
122 RETURN
subroutine reordr(ix, nx, nel, pm, ipoint, iparts, ngrele, igrelem, nummat)