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