40 use element_mod , only : nixs
41
42
43
44#include "implicit_f.inc"
45
46
47
48#include "scr18_c.inc"
49
50
51
52 INTEGER, INTENT(IN) :: ISMSTR
53 INTEGER NEL
55 . x(3,*),
56 . x1(*), x2(*), x3(*), x4(*),
57 . y1(*), y2(*), y3(*), y4(*),
58 . z1(*), z2(*), z3(*), z4(*),
59 . offg(*), off(*)
60 double precision
61 . sav(nel,9)
63 . k11(9,*) ,k12(9,*) ,k13(9,*) ,k14(9,*) ,k22(9,*) ,
64 . k23(9,*) ,k24(9,*) ,k33(9,*) ,k34(9,*) ,k44(9,*)
65 INTEGER NC1(*), NC2(*), NC3(*), NC4(*),MXT(*), NGL(*),NGEO(*)
66 INTEGER IXS(NIXS,*)
67
68
69
70 INTEGER I,J,MXT_1
71
72
73
74 mxt_1 = ixs(1,1)
75 DO i=1,nel
76 ngeo(i)=ixs(10,i)
77 ngl(i)=ixs(11,i)
78 mxt(i)=mxt_1
79 nc1(i)=ixs(2,i)
80 nc2(i)=ixs(4,i)
81 nc3(i)=ixs(7,i)
82 nc4(i)=ixs(6,i)
83 ENDDO
84
85
86
87 DO i=1,nel
88 x1(i)=x(1,nc1(i))
89 y1(i)=x(2,nc1(i))
90 z1(i)=x(3,nc1(i))
91 x2(i)=x(1,nc2(i))
92 y2(i)=x(2,nc2(i))
93 z2(i)=x(3,nc2(i))
94 x3(i)=x(1,nc3(i))
95 y3(i)=x(2,nc3(i))
96 z3(i)=x(3,nc3(i))
97 x4(i)=x(1,nc4(i))
98 y4(i)=x(2,nc4(i))
99 z4(i)=x(3,nc4(i))
100 off(i) =
min(one,abs(offg(i)))
101 ENDDO
102
103 IF(ismstr==1.OR.(ismstr==2.AND.idtmin(1)==3))THEN
104 DO i=1,nel
105 IF(abs(offg(i))>one)THEN
106 x1(i)=sav(i,1)
107 y1(i)=sav(i,2)
108 z1(i)=sav(i,3)
109 x2(i)=sav(i,4)
110 y2(i)=sav(i,5)
111 z2(i)=sav(i,6)
112 x3(i)=sav(i,7)
113 y3(i)=sav(i,8)
114 z3(i)=sav(i,9)
115 x4(i)=zero
116 y4(i)=zero
117 z4(i)=zero
118 off(i) = abs(offg(i))-one
119 ELSE
120 off(i) = offg(i)
121 ENDIF
122 ENDDO
123
124 ENDIF
125
126 DO j=1,9
127 DO i=1,nel
128 k11(j,i)=zero
129 k12(j,i)=zero
130 k13(j,i)=zero
131 k14(j,i)=zero
132 k22(j,i)=zero
133 k23(j,i)=zero
134 k24(j,i)=zero
135 k33(j,i)=zero
136 k34(j,i)=zero
137 k44(j,i)=zero
138 ENDDO
139 ENDDO
140
141 RETURN