31
32
33
35
36
37
38#include "implicit_f.inc"
39
40
41
42#include "param_c.inc"
43#include "tablen_c.inc"
44
45
46
47 INTEGER :: NX, NEL,NGRELE
48 INTEGER :: IX(NX,NEL), IPOINT(2,*),IPARTS(*)
49 INTEGER, INTENT(IN) :: NUMMAT
51
52 TYPE (GROUP_) , DIMENSION(NGRELE) :: IGRELEM
53
54
55
56 INTEGER (0:MAXLAW+1), NL, M, I, MLAWP1, MT, MLAW, J,K,N,IAD
57
58
59
62 iadr(m)=0
63 ENDDO
64
65
66
67 DO i=1,nel
68 IF(ix(1,i)<0) THEN
69 mlawp1=17+1
70 ELSE
71 mt=ix(1,i)
72 mlawp1=nint(pm(19,mt))+1
73 ENDIF
74 iadr(mlawp1)=iadr(mlawp1)+1
75 ENDDO
76
77
78
79
80 iadr(11+1)=0
82 iadr(m)=iadr(m)+iadr(m-1)
83 ENDDO
84 iadr(11)=iadr(
nl+1)+iadr(
nl)
85
86
87
88 DO i=1,nel
89 IF(ix(1,i)<0) THEN
90 mlaw=17
91 ELSE
92 mt=ix(1,i)
93 mlaw=nint(pm(19,mt))
94 ENDIF
95 iadr(mlaw)=iadr(mlaw)+1
96 ipoint(1,i)=iadr(mlaw)
97 END DO
98
99
100
101 DO j=1,nx
102 DO i=1,nel
103 ipoint(2,i)=ix(j,i)
104 END DO
105 DO i=1,nel
106 ix(j,ipoint(1,i))=ipoint(2,i)
107 END DO
108 ENDDO
109
110
111
112 DO i=1,nel
113 ipoint(2,i)=iparts(i)
114 ENDDO
115 DO i=1,nel
116 iparts(ipoint(1,i))=ipoint(2,i)
117 ENDDO
118
119
120
121 DO k=1,ngrele
122 n = igrelem(k)%NENTITY
123 DO i=1,n
124 IF (igrelem(k)%ENTITY(i)<=nel)igrelem(k)%ENTITY(i) = ipoint(1,igrelem(k)%ENTITY(i))
125 ENDDO
126 ENDDO
127
128 RETURN
character *2 function nl()