34
35
36
37#include "implicit_f.inc"
38
39
40
41#include "mvsiz_p.inc"
42
43
44
45#include "scr05_c.inc"
46
47
48
49 INTEGER :: NEL
50 INTEGER :: NC1(*),NC2(*),NC3(*),NC4(*),NC5(*),NC6(*),NC7(*),NC8(*)
51 my_real :: offg(*),offg0(*),x(3,*),jac_1(10,nel),sig(nel,6),sigl(nel,6)
52 DOUBLE PRECISION :: XDP(3,*)
53
54
55
56 INTEGER :: I ,NCH,INDEX(MVSIZ),J
58 DOUBLE PRECISION
59 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(),
60 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(MVSIZ),
61 . YD1(MVSIZ), YD2(MVSIZ), YD3(MVSIZ), YD4(MVSIZ),
62 . YD5(MVSIZ), YD6(MVSIZ), YD7(MVSIZ), YD8(MVSIZ),
63 . ZD1(MVSIZ), ZD2(MVSIZ), ZD3(MVSIZ), ZD4(MVSIZ),
64 . ZD5(MVSIZ), ZD6(MVSIZ), ZD7(MVSIZ), ZD8(MVSIZ)
65
66
67 nch=0
68 DO i=1,nel
69 IF(offg(i)/=offg0(i).AND.abs(offg(i)) > one ) THEN
70 nch = nch +1
71 index(nch) = i
72 END IF
73 END DO
74 IF (nch==0) RETURN
75
76 IF(iresp==1)THEN
77#include "vectorize.inc"
78 DO j=1,nch
79 i = index(j)
80 xd1(j)=xdp(1,nc1(i))
81 yd1(j)=xdp(2,nc1(i))
82 zd1(j)=xdp(3,nc1(i))
83 xd2(j)=xdp(1,nc2(i))
84 yd2(j)=xdp(2,nc2(i))
85 zd2(j)=xdp(3,nc2(i))
86 xd3(j)=xdp(1,nc3(i))
87 yd3(j)=xdp(2,nc3(i))
88 zd3(j)=xdp(3,nc3(i))
89 xd4(j)=xdp(1,nc4(i))
90 yd4(j)=xdp(2,nc4(i))
91 zd4(j)=xdp(3,nc4(i))
92 xd5(j)=xdp(1,nc5(i))
93 yd5(j)=xdp(2,nc5(i))
94 zd5(j)=xdp(3,nc5(i))
95 xd6(j)=xdp(1,nc6(i))
96 yd6(j)=xdp(2,nc6(i))
97 zd6(j)=xdp(3,nc6(i))
98 xd7(j)=xdp(1,nc7(i))
99 yd7(j)=xdp(2,nc7(i))
100 zd7(j)=xdp(3,nc7(i))
101 xd8(j)=xdp(1,nc8(i))
102 yd8(j)=xdp(2,nc8(i))
103 zd8(j)=xdp(3,nc8(i))
104 ENDDO
105 ELSE
106#include "vectorize.inc"
107 DO j=1,nch
108 i = index(j)
109 xd1(j)=x(1,nc1(i))
110 yd1(j)=x(2,nc1(i))
111 zd1(j)=x(3,nc1(i))
112 xd2(j)=x(1,nc2(i))
113 yd2(j)=x(2,nc2(i))
114 zd2(j)=x(3,nc2(i))
115 xd3(j)=x(1,nc3(i))
116 yd3(j)=x(2,nc3(i))
117 zd3(j)=x(3,nc3(i))
118 xd4(j)=x(1,nc4(i))
119 yd4(j)=x(2,nc4(i))
120 zd4(j)=x(3,nc4(i))
121 xd5(j)=x(1,nc5(i))
122 yd5(j)=x(2,nc5(i))
123 zd5(j)=x(3,nc5(i))
124 xd6(j)=x(1,nc6(i))
125 yd6(j)=x(2,nc6(i))
126 zd6(j)=x(3,nc6(i))
127 xd7(j)=x(1,nc7(i))
128 yd7(j)=x(2,nc7(i))
129 zd7(j)=x(3,nc7(i))
130 xd8(j)=x(1,nc8(i))
131 yd8(j)=x(2,nc8(i))
132 zd8(j)=x(3,nc8(i))
133 ENDDO
134 ENDIF
135
137 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
138 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
139 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 ,
140 . jac_i ,nch )
141
142#include "vectorize.inc"
143 DO j=1,nch
144 i = index(j)
145 jac_1(1:10,i) = jac_i(1:10,j)
146 sigl(i,1:6) = sig(i,1:6)
147 ENDDO
148
149 RETURN
subroutine s8jac_i(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, jac_i, nel)