36
37
38
39#include "implicit_f.inc"
40
41
42
43#include "mvsiz_p.inc"
44
45
46
47#include "param_c.inc"
48
49
50
51 INTEGER FXBELM(*), IPARG(NPARG,*), IXS(NIXS,*), NELS
53 . fxbsig(*), x(3,*), pm(npropm,*), fxbmod(*),
54 . geo(npropg,*), r(3,*)
55
56
57
58 INTEGER I, IG, OFFSET, LAST, NFT, NFS, NG, IEL,
59 . N1, N2, N3, N4, N5, N6, N7, N8
60 INTEGER MAT(MVSIZ)
62 . x1(mvsiz), y1(mvsiz), z1(mvsiz),
63 . x2(mvsiz), y2(mvsiz), z2(mvsiz),
64 . x3(mvsiz), y3(mvsiz), z3(mvsiz),
65 . x4(mvsiz), y4(mvsiz), z4(mvsiz),
66 . x5(mvsiz), y5(mvsiz), z5(mvsiz),
67 . x6(mvsiz), y6(mvsiz), z6(mvsiz),
68 . x7(mvsiz), y7(mvsiz), z7(mvsiz),
69 . x8(mvsiz), y8(mvsiz), z8(mvsiz),
70 . d11, d12, d13, d21, d22, d23, d31, d32, d33, d41, d42, d43,
71 . d51, d52, d53, d61, d62, d63, d71, d72, d73, d81, d82, d83,
72 . vx1(mvsiz), vy1(mvsiz), vz1(mvsiz),
73 . vx2(mvsiz), vy2(mvsiz), vz2(mvsiz),
74 . vx3(mvsiz), vy3(mvsiz), vz3(mvsiz),
75 . vx4(mvsiz), vy4(mvsiz), vz4(mvsiz),
76 . vx5(mvsiz), vy5(mvsiz), vz5(mvsiz),
77 . vx6(mvsiz), vy6(mvsiz), vz6(mvsiz),
78 . vx7(mvsiz), vy7(mvsiz), vz7(mvsiz),
79 . vx8(mvsiz), vy8(mvsiz), vz8(mvsiz),
80 . x1p(mvsiz), y1p(mvsiz), z1p(mvsiz),
81 . x2p(mvsiz), y2p(mvsiz), z2p(mvsiz),
82 . x3p(mvsiz), y3p(mvsiz), z3p(mvsiz),
83 . x4p(mvsiz), y4p(mvsiz), z4p(mvsiz),
84 . x5p(mvsiz), y5p(mvsiz), z5p(mvsiz),
85 . x6p(mvsiz), y6p(mvsiz), z6p(mvsiz),
86 . x7p(mvsiz), y7p(mvsiz), z7p(mvsiz),
87 . x8p(mvsiz), y8p(mvsiz), z8p(mvsiz),
88 . px1(mvsiz), px2(mvsiz), px3(mvsiz), px4(mvsiz),
89 . py1(mvsiz), py2(mvsiz), py3(mvsiz), py4(mvsiz),
90 . pz1(mvsiz), pz2(mvsiz), pz3(mvsiz), pz4(mvsiz),
91 . vol(mvsiz), volp(mvsiz), d1(mvsiz), d2(mvsiz), d3(mvsiz),
92 . d4(mvsiz), d5(mvsiz), d6(mvsiz), rhop(mvsiz), sig(6,mvsiz),
93 . eint(mvsiz), sigl(6,mvsiz)
94
95 DO ig=1,nels,mvsiz
96 offset=ig-1
97 last=
min(mvsiz,nels-offset)
98 nft=offset*13
99 nfs=offset*7
100 DO i=1,last
101 ng=fxbelm(nft+13*(i-1)+1)
102 iel=iparg(3,ng)+fxbelm(nft+13*(i-1)+2)
103 mat(i)=ixs(1,iel)
104 x1(i)=x(1,ixs(2,iel))
105 y1(i)=x(2,ixs(2,iel))
106 z1(i)=x(3,ixs(2,iel))
107 x2(i)=x(1,ixs(3,iel))
108 y2(i)=x(2,ixs(3,iel))
109 z2(i)=x(3,ixs(3,iel))
110 x3(i)=x(1,ixs(4,iel))
111 y3(i)=x(2,ixs(4,iel))
112 z3(i)=x(3,ixs(4,iel))
113 x4(i)=x(1,ixs(5,iel))
114 y4(i)=x(2,ixs(5,iel))
115 z4(i)=x(3,ixs(5,iel))
116 x5(i)=x(1,ixs(6,iel))
117 y5(i)=x(2,ixs(6,iel))
118 z5(i)=x(3,ixs(6,iel))
119 x6(i)=x(1,ixs(7,iel))
120 y6(i)=x(2,ixs(7,iel))
121 z6(i)=x(3,ixs(7,iel))
122 x7(i)=x(1,ixs(8,iel))
123 y7(i)=x(2,ixs(8,iel))
124 z7(i)=x(3,ixs(8,iel))
125 x8(i)=x(1,ixs(9,iel))
126 y8(i)=x(2,ixs(9,iel))
127 z8(i)=x(3,ixs(9,iel))
128 n1=fxbelm(nft+13*(i-1)+3)
129 n2=fxbelm(nft+13*(i-1)+4)
130 n3=fxbelm(nft+13*(i-1)+5)
131 n4=fxbelm(nft+13*(i-1)+6)
132 n5=fxbelm(nft+13*(i-1)+7)
133 n6=fxbelm(nft+13*(i-1)+8)
134 n7=fxbelm(nft+13*(i-1)+9)
135 n8=fxbelm(nft+13*(i-1)+10)
136 d11=fxbmod(6*(n1-1)+1)
137 d12=fxbmod(6*(n1-1)+2)
138 d13=fxbmod(6*(n1-1)+3)
139 d21=fxbmod(6*(n2-1)+1)
140 d22=fxbmod(6*(n2-1)+2)
141 d23=fxbmod(6*(n2-1)+3)
142 d31=fxbmod(6*(n3-1)+1)
143 d32=fxbmod(6*(n3-1)+2)
144 d33=fxbmod(6*(n3-1)+3)
145 d41=fxbmod(6*(n4-1)+1)
146 d42=fxbmod(6*(n4-1)+2)
147 d43=fxbmod(6*(n4-1)+3)
148 d51=fxbmod(6*(n5-1)+1)
149 d52=fxbmod(6*(n5-1)+2)
150 d53=fxbmod(6*(n5-1)+3)
151 d61=fxbmod(6*(n6-1)+1)
152 d62=fxbmod(6*(n6-1)+2)
153 d63=fxbmod(6*(n6-1)+3)
154 d71=fxbmod(6*(n7-1)+1)
155 d72=fxbmod(6*(n7-1)+2)
156 d73=fxbmod(6*(n7-1)+3)
157 d81=fxbmod(6*(n8-1)+1)
158 d82=fxbmod(6*(n8-1)+2)
159 d83=fxbmod(6*(n8-1)+3)
160 vx1(i)=r(1,1)*d11+r(1,2)*d12+r(1,3)*d13
161 vy1(i)=r(2,1)*d11+r(2,2)*d12+r(2,3)*d13
162 vz1(i)=r(3,1)*d11+r(3,2)*d12+r(3,3)*d13
163 vx2(i)=r(1
164 vy2(i)=r(2,1)*d21+r(2,2)*d22+r(2,3)*d23
165 vz2(i)=r(3,1)*d21+r(3,2)*d22+r(3,3)*d23
166 vx3(i)=r(1,1)*d31+r(1,2)*d32+r(1,3)*d33
167 vy3(i)=r(2,1)*d31+r(2,2)*d32+r(2,3)*d33
168 vz3(i)=r(3,1)*d31+r(3,2)*d32+r(3,3)*d33
169 vx4(i)=r(1,1)*d41+r(1,2)*d42+r(1,3)*d43
170 vy4(i)=r(2,1)*d41+r(2,2)*d42+r(2,3)*d43
171 vz4(i)=r(3,1)*d41+r(3,2)*d42+r(3,3)*d43
172 vx5(i)=r(1,1)*d51+r(1,2)*d52+r(1,3)*d53
173 vy5(i)=r(2,1)*d51+r(2,2)*d52+r(2,3)*d53
174 vz5(i)=r(3,1)*d51+r(3,2)*d52+r(3,3)*d53
175 vx6(i)=r(1,1)*d61+r(1,2)*d62+r(1,3)*d63
176 vy6(i)=r(2,1)*d61+r(2,2)*d62+r(2,3)*d63
177 vz6(i)=r(3,1)*d61+r(3,2)*d62+r(3,3)*d63
178 vx7(i)=r(1,1)*d71+r(1,2)*d72+r(1,3)*d73
179 vy7(i)=r(2,1)*d71+r(2,2)*d72+r(2,3)*d73
180 vz7(i)=r(3,1)*d71+r(3,2)*d72+r(3,3)*d73
181 vx8(i)=r(1,1)*d81+r(1,2)*d82+r(1,3)*d83
182 vy8(i)=r(2,1)*d81+r(2,2)*d82+r(2,3)*d83
183 vz8(i)=r(3,1)*d81+r(3,2)*d82+r(3,3)*d83
184 x1p(i)=x1(i)+vx1(i)
185 y1p(i)=y1(i)+vy1(i)
186 z1p(i)=z1(i)+vz1(i)
187 x2p(i)=x2(i)+vx2(i)
188 y2p(i)=y2(i)+vy2(i)
189 z2p(i)=z2(i)+vz2(i)
190 x3p(i)=x3(i)+vx3(i)
191 y3p(i)=y3(i)+vy3(i)
192 z3p(i)=z3(i)+vz3(i)
193 x4p(i)=x4(i)+vx4(i)
194 y4p(i)=y4(i)+vy4(i)
195 z4p(i)=z4(i)+vz4(i)
196 x5p(i)=x5(i)+vx5(i)
197 y5p(i)=y5(i)+vy5(i)
198 z5p(i)=z5(i)+vz5(i)
199 x6p(i)=x6(i)+vx6(i)
200 y6p(i)=y6(i)+vy6(i)
201 z6p(i)=z6(i)+vz6(i)
202 x7p(i)=x7(i)+vx7(i)
203 y7p(i)=y7(i)+vy7(i)
204 z7p(i)=z7(i)+vz7(i)
205 x8p(i)=x8(i)+vx8(i)
206 y8p(i)=y8(i)+vy8(i)
207 z8p(i)=z8(i)+vz8(i)
208 ENDDO
209
211 . x1p, x2p, x3p, x4p, x5p, x6p, x7p, x8p,
212 . y1p, y2p, y3p, y4p, y5p, y6p, y7p, y8p,
213 . z1p, z2p, z3p, z4p, z5p, z6p, z7p, z8p,
214 . px1, px2, px3, px4,
215 . py1, py2, py3, py4,
216 . pz1, pz2, pz3, pz4)
218 . x1, x2, x3, x4, x5, x6, x7, x8,
219 . y1, y2, y3, y4, y5, y6, y7, y8,
220 . z1, z2, z3, z4, z5, z6, z7, z8,
221 . px1, px2, px3, px4,
222 . py1, py2, py3, py4,
223 . pz1, pz2, pz3, pz4)
225 . px1, px2, px3, px4,
226 . py1, py2, py3, py4,
227 . pz1, pz2, pz3, pz4,
228 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
229 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
230 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
231 . d1, d2 , d3, d4, d5, d6 )
232 CALL srhoi(last, pm, vol, rhop, volp, mat)
233 CALL sm1inif(last, pm, sig, eint,
234 . rhop, d1, d2, d3, d4,
235 . d5, d6, mat)
236 CALL schrep(last, sig, sigl, r)
237
238 DO i=1,last
239 iel=iparg(3,ng)+fxbelm(nft+13*(i-1)+2)
240 fxbsig(nfs+7*(i-1)+1)=sigl(1,i)
241 fxbsig(nfs+7*(i-1)+2)=sigl(2,i)
242 fxbsig(nfs+7*(i-1)+3)=sigl(3,i)
243 fxbsig(nfs+7*(i-1)+4)=sigl(4,i)
244 fxbsig(nfs+7*(i-1)+5)=sigl(5,i)
245 fxbsig(nfs+7*(i-1)+6)=sigl(6,i)
246 fxbsig(nfs+7*(i-1)+7)=eint(i)
247 ENDDO
248 ENDDO
249
250 RETURN
subroutine srhoi(nel, pm, volo, rhon, voln, mat)
subroutine sdefoi(nel, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, dxx, dyy, dzz, d4, d5, d6)
subroutine sm1inif(nel, pm, sig, eint, rho, d1, d2, d3, d4, d5, d6, mat)
subroutine sderii(nel, det, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4)
subroutine schrep(nel, sig, sigl, r)