OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
fsigsini.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| fsigsini ../starter/source/constraints/fxbody/fsigsini.F
25!||--- called by ------------------------------------------------------
26!|| fxbsini ../starter/source/constraints/fxbody/fxbsini.F
27!||--- calls -----------------------------------------------------
28!|| schrep ../starter/source/constraints/fxbody/fsigsini.F
29!|| sdefoi ../starter/source/constraints/fxbody/fsigsini.F
30!|| sderii ../starter/source/constraints/fxbody/fsigsini.F
31!|| sm1inif ../starter/source/constraints/fxbody/fsigsini.F
32!|| srhoi ../starter/source/constraints/fxbody/fsigsini.F
33!||--- uses -----------------------------------------------------
34!||====================================================================
35 SUBROUTINE fsigsini(FXBELM, IPARG , X , PM, IXS,
36 . GEO , FXBMOD, FXBSIG, R , NELS)
37 use element_mod , only : nixs
38C-----------------------------------------------
39C I m p l i c i t T y p e s
40C-----------------------------------------------
41#include "implicit_f.inc"
42C-----------------------------------------------
43C G l o b a l P a r a m e t e r s
44C-----------------------------------------------
45#include "mvsiz_p.inc"
46C-----------------------------------------------
47C C o m m o n B l o c k s
48C-----------------------------------------------
49#include "param_c.inc"
50C-----------------------------------------------
51C D u m m y A r g u m e n t s
52C-----------------------------------------------
53 INTEGER FXBELM(*), IPARG(NPARG,*), IXS(NIXS,*), NELS
55 . fxbsig(*), x(3,*), pm(npropm,*), fxbmod(*),
56 . geo(npropg,*), r(3,*)
57C-----------------------------------------------
58C L o c a l V a r i a b l e s
59C-----------------------------------------------
60 INTEGER I, IG, OFFSET, LAST, NFT, NFS, NG, IEL,
61 . n1, n2, n3, n4, n5, n6, n7, n8
62 INTEGER MAT(MVSIZ)
64 . x1(mvsiz), y1(mvsiz), z1(mvsiz),
65 . x2(mvsiz), y2(mvsiz), z2(mvsiz),
66 . x3(mvsiz), y3(mvsiz), z3(mvsiz),
67 . x4(mvsiz), y4(mvsiz), z4(mvsiz),
68 . x5(mvsiz), y5(mvsiz), z5(mvsiz),
69 . x6(mvsiz), y6(mvsiz), z6(mvsiz),
70 . x7(mvsiz), y7(mvsiz), z7(mvsiz),
71 . x8(mvsiz), y8(mvsiz), z8(mvsiz),
72 . d11, d12, d13, d21, d22, d23, d31, d32, d33, d41, d42, d43,
73 . d51, d52, d53, d61, d62, d63, d71, d72, d73, d81, d82, d83,
74 . vx1(mvsiz), vy1(mvsiz), vz1(mvsiz),
75 . vx2(mvsiz), vy2(mvsiz), vz2(mvsiz),
76 . vx3(mvsiz), vy3(mvsiz), vz3(mvsiz),
77 . vx4(mvsiz), vy4(mvsiz), vz4(mvsiz),
78 . vx5(mvsiz), vy5(mvsiz), vz5(mvsiz),
79 . vx6(mvsiz), vy6(mvsiz), vz6(mvsiz),
80 . vx7(mvsiz), vy7(mvsiz), vz7(mvsiz),
81 . vx8(mvsiz), vy8(mvsiz), vz8(mvsiz),
82 . x1p(mvsiz), y1p(mvsiz), z1p(mvsiz),
83 . x2p(mvsiz), y2p(mvsiz), z2p(mvsiz),
84 . x3p(mvsiz), y3p(mvsiz), z3p(mvsiz),
85 . x4p(mvsiz), y4p(mvsiz), z4p(mvsiz),
86 . x5p(mvsiz), y5p(mvsiz), z5p(mvsiz),
87 . x6p(mvsiz), y6p(mvsiz), z6p(mvsiz),
88 . x7p(mvsiz), y7p(mvsiz), z7p(mvsiz),
89 . x8p(mvsiz), y8p(mvsiz), z8p(mvsiz),
90 . px1(mvsiz), px2(mvsiz), px3(mvsiz), px4(mvsiz),
91 . py1(mvsiz), py2(mvsiz), py3(mvsiz), py4(mvsiz),
92 . pz1(mvsiz), pz2(mvsiz), pz3(mvsiz), pz4(mvsiz),
93 . vol(mvsiz), volp(mvsiz), d1(mvsiz), d2(mvsiz), d3(mvsiz),
94 . d4(mvsiz), d5(mvsiz), d6(mvsiz), rhop(mvsiz), sig(6,mvsiz),
95 . eint(mvsiz), sigl(6,mvsiz)
96C
97 DO ig=1,nels,mvsiz
98 offset=ig-1
99 last=min(mvsiz,nels-offset)
100 nft=offset*13
101 nfs=offset*7
102 DO i=1,last
103 ng=fxbelm(nft+13*(i-1)+1)
104 iel=iparg(3,ng)+fxbelm(nft+13*(i-1)+2)
105 mat(i)=ixs(1,iel)
106 x1(i)=x(1,ixs(2,iel))
107 y1(i)=x(2,ixs(2,iel))
108 z1(i)=x(3,ixs(2,iel))
109 x2(i)=x(1,ixs(3,iel))
110 y2(i)=x(2,ixs(3,iel))
111 z2(i)=x(3,ixs(3,iel))
112 x3(i)=x(1,ixs(4,iel))
113 y3(i)=x(2,ixs(4,iel))
114 z3(i)=x(3,ixs(4,iel))
115 x4(i)=x(1,ixs(5,iel))
116 y4(i)=x(2,ixs(5,iel))
117 z4(i)=x(3,ixs(5,iel))
118 x5(i)=x(1,ixs(6,iel))
119 y5(i)=x(2,ixs(6,iel))
120 z5(i)=x(3,ixs(6,iel))
121 x6(i)=x(1,ixs(7,iel))
122 y6(i)=x(2,ixs(7,iel))
123 z6(i)=x(3,ixs(7,iel))
124 x7(i)=x(1,ixs(8,iel))
125 y7(i)=x(2,ixs(8,iel))
126 z7(i)=x(3,ixs(8,iel))
127 x8(i)=x(1,ixs(9,iel))
128 y8(i)=x(2,ixs(9,iel))
129 z8(i)=x(3,ixs(9,iel))
130 n1=fxbelm(nft+13*(i-1)+3)
131 n2=fxbelm(nft+13*(i-1)+4)
132 n3=fxbelm(nft+13*(i-1)+5)
133 n4=fxbelm(nft+13*(i-1)+6)
134 n5=fxbelm(nft+13*(i-1)+7)
135 n6=fxbelm(nft+13*(i-1)+8)
136 n7=fxbelm(nft+13*(i-1)+9)
137 n8=fxbelm(nft+13*(i-1)+10)
138 d11=fxbmod(6*(n1-1)+1)
139 d12=fxbmod(6*(n1-1)+2)
140 d13=fxbmod(6*(n1-1)+3)
141 d21=fxbmod(6*(n2-1)+1)
142 d22=fxbmod(6*(n2-1)+2)
143 d23=fxbmod(6*(n2-1)+3)
144 d31=fxbmod(6*(n3-1)+1)
145 d32=fxbmod(6*(n3-1)+2)
146 d33=fxbmod(6*(n3-1)+3)
147 d41=fxbmod(6*(n4-1)+1)
148 d42=fxbmod(6*(n4-1)+2)
149 d43=fxbmod(6*(n4-1)+3)
150 d51=fxbmod(6*(n5-1)+1)
151 d52=fxbmod(6*(n5-1)+2)
152 d53=fxbmod(6*(n5-1)+3)
153 d61=fxbmod(6*(n6-1)+1)
154 d62=fxbmod(6*(n6-1)+2)
155 d63=fxbmod(6*(n6-1)+3)
156 d71=fxbmod(6*(n7-1)+1)
157 d72=fxbmod(6*(n7-1)+2)
158 d73=fxbmod(6*(n7-1)+3)
159 d81=fxbmod(6*(n8-1)+1)
160 d82=fxbmod(6*(n8-1)+2)
161 d83=fxbmod(6*(n8-1)+3)
162 vx1(i)=r(1,1)*d11+r(1,2)*d12+r(1,3)*d13
163 vy1(i)=r(2,1)*d11+r(2,2)*d12+r(2,3)*d13
164 vz1(i)=r(3,1)*d11+r(3,2)*d12+r(3,3)*d13
165 vx2(i)=r(1,1)*d21+r(1,2)*d22+r(1,3)*d23
166 vy2(i)=r(2,1)*d21+r(2,2)*d22+r(2,3)*d23
167 vz2(i)=r(3,1)*d21+r(3,2)*d22+r(3,3)*d23
168 vx3(i)=r(1,1)*d31+r(1,2)*d32+r(1,3)*d33
169 vy3(i)=r(2,1)*d31+r(2,2)*d32+r(2,3)*d33
170 vz3(i)=r(3,1)*d31+r(3,2)*d32+r(3,3)*d33
171 vx4(i)=r(1,1)*d41+r(1,2)*d42+r(1,3)*d43
172 vy4(i)=r(2,1)*d41+r(2,2)*d42+r(2,3)*d43
173 vz4(i)=r(3,1)*d41+r(3,2)*d42+r(3,3)*d43
174 vx5(i)=r(1,1)*d51+r(1,2)*d52+r(1,3)*d53
175 vy5(i)=r(2,1)*d51+r(2,2)*d52+r(2,3)*d53
176 vz5(i)=r(3,1)*d51+r(3,2)*d52+r(3,3)*d53
177 vx6(i)=r(1,1)*d61+r(1,2)*d62+r(1,3)*d63
178 vy6(i)=r(2,1)*d61+r(2,2)*d62+r(2,3)*d63
179 vz6(i)=r(3,1)*d61+r(3,2)*d62+r(3,3)*d63
180 vx7(i)=r(1,1)*d71+r(1,2)*d72+r(1,3)*d73
181 vy7(i)=r(2,1)*d71+r(2,2)*d72+r(2,3)*d73
182 vz7(i)=r(3,1)*d71+r(3,2)*d72+r(3,3)*d73
183 vx8(i)=r(1,1)*d81+r(1,2)*d82+r(1,3)*d83
184 vy8(i)=r(2,1)*d81+r(2,2)*d82+r(2,3)*d83
185 vz8(i)=r(3,1)*d81+r(3,2)*d82+r(3,3)*d83
186 x1p(i)=x1(i)+vx1(i)
187 y1p(i)=y1(i)+vy1(i)
188 z1p(i)=z1(i)+vz1(i)
189 x2p(i)=x2(i)+vx2(i)
190 y2p(i)=y2(i)+vy2(i)
191 z2p(i)=z2(i)+vz2(i)
192 x3p(i)=x3(i)+vx3(i)
193 y3p(i)=y3(i)+vy3(i)
194 z3p(i)=z3(i)+vz3(i)
195 x4p(i)=x4(i)+vx4(i)
196 y4p(i)=y4(i)+vy4(i)
197 z4p(i)=z4(i)+vz4(i)
198 x5p(i)=x5(i)+vx5(i)
199 y5p(i)=y5(i)+vy5(i)
200 z5p(i)=z5(i)+vz5(i)
201 x6p(i)=x6(i)+vx6(i)
202 y6p(i)=y6(i)+vy6(i)
203 z6p(i)=z6(i)+vz6(i)
204 x7p(i)=x7(i)+vx7(i)
205 y7p(i)=y7(i)+vy7(i)
206 z7p(i)=z7(i)+vz7(i)
207 x8p(i)=x8(i)+vx8(i)
208 y8p(i)=y8(i)+vy8(i)
209 z8p(i)=z8(i)+vz8(i)
210 ENDDO
211C
212 CALL sderii(last, volp,
213 . x1p, x2p, x3p, x4p, x5p, x6p, x7p, x8p,
214 . y1p, y2p, y3p, y4p, y5p, y6p, y7p, y8p,
215 . z1p, z2p, z3p, z4p, z5p, z6p, z7p, z8p,
216 . px1, px2, px3, px4,
217 . py1, py2, py3, py4,
218 . pz1, pz2, pz3, pz4)
219 CALL sderii(last, vol,
220 . x1, x2, x3, x4, x5, x6, x7, x8,
221 . y1, y2, y3, y4, y5, y6, y7, y8,
222 . z1, z2, z3, z4, z5, z6, z7, z8,
223 . px1, px2, px3, px4,
224 . py1, py2, py3, py4,
225 . pz1, pz2, pz3, pz4)
226 CALL sdefoi(last,
227 . px1, px2, px3, px4,
228 . py1, py2, py3, py4,
229 . pz1, pz2, pz3, pz4,
230 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
231 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
232 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
233 . d1, d2 , d3, d4, d5, d6 )
234 CALL srhoi(last, pm, vol, rhop, volp, mat)
235 CALL sm1inif(last, pm, sig, eint,
236 . rhop, d1, d2, d3, d4,
237 . d5, d6, mat)
238 CALL schrep(last, sig, sigl, r)
239C
240 DO i=1,last
241 iel=iparg(3,ng)+fxbelm(nft+13*(i-1)+2)
242 fxbsig(nfs+7*(i-1)+1)=sigl(1,i)
243 fxbsig(nfs+7*(i-1)+2)=sigl(2,i)
244 fxbsig(nfs+7*(i-1)+3)=sigl(3,i)
245 fxbsig(nfs+7*(i-1)+4)=sigl(4,i)
246 fxbsig(nfs+7*(i-1)+5)=sigl(5,i)
247 fxbsig(nfs+7*(i-1)+6)=sigl(6,i)
248 fxbsig(nfs+7*(i-1)+7)=eint(i)
249 ENDDO
250 ENDDO
251C
252 RETURN
253 END SUBROUTINE fsigsini
254!||====================================================================
255!|| sderii ../starter/source/constraints/fxbody/fsigsini.F
256!||--- called by ------------------------------------------------------
257!|| fsigsini ../starter/source/constraints/fxbody/fsigsini.F
258!||====================================================================
259 SUBROUTINE sderii(NEL, DET,
260 . X1, X2, X3, X4, X5, X6, X7, X8,
261 . Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8,
262 . Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8,
263 . PX1, PX2, PX3, PX4,
264 . PY1, PY2, PY3, PY4,
265 . PZ1, PZ2, PZ3, PZ4)
266C-----------------------------------------------
267C I m p l i c i t T y p e s
268C-----------------------------------------------
269#include "implicit_f.inc"
270C-----------------------------------------------
271C G l o b a l P a r a m e t e r s
272C-----------------------------------------------
273#include "mvsiz_p.inc"
274C-----------------------------------------------
275C D u m m y A r g u m e n t s
276C-----------------------------------------------
277 INTEGER :: NEL
278 my_real
279 . DET(*),
280 . X1(*), X2(*), X3(*), X4(*), X5(*), X6(*), X7(*), X8(*),
281 . Y1(*), Y2(*), Y3(*), Y4(*), Y5(*), Y6(*), Y7(*), Y8(*),
282 . Z1(*), Z2(*), Z3(*), Z4(*), Z5(*), Z6(*), Z7(*), Z8(*),
283 . PX1(*), PX2(*), PX3(*), PX4(*),
284 . py1(*), py2(*), py3(*), py4(*),
285 . pz1(*), pz2(*), pz3(*), pz4(*)
286C-----------------------------------------------
287C L o c a l V a r i a b l e s
288C-----------------------------------------------
289 INTEGER I
290 my_real
291 . JAC1(MVSIZ),JAC2(MVSIZ),JAC3(MVSIZ),
292 . JAC4(MVSIZ),JAC5(MVSIZ),JAC6(MVSIZ),
293 . DETT(MVSIZ) , JAC7(MVSIZ), JAC8(MVSIZ) , JAC9(MVSIZ),
294 . JACI1(MVSIZ), JACI2(MVSIZ), JACI3(MVSIZ),
295 . JACI4(MVSIZ), JACI5(MVSIZ), JACI6(MVSIZ),
296 . jaci7(mvsiz), jaci8(mvsiz), jaci9(mvsiz),
297 . x17(mvsiz) , x28(mvsiz) , x35(mvsiz) , x46(mvsiz),
298 . y17(mvsiz) , y28(mvsiz) , y35(mvsiz) , y46(mvsiz),
299 . z17(mvsiz) , z28(mvsiz) , z35(mvsiz) , z46(mvsiz),
300 . jac_59_68(mvsiz), jac_67_49(mvsiz), jac_48_57(mvsiz),
301 . jaci12(mvsiz), jaci45(mvsiz), jaci78(mvsiz),
302 . x_17_46(mvsiz) , x_28_35(mvsiz) ,
303 . y_17_46(mvsiz) , y_28_35(mvsiz) ,
304 . z_17_46(mvsiz) , z_28_35(mvsiz)
305C
306 DO i=1,nel
307 x17(i)=x7(i)-x1(i)
308 x28(i)=x8(i)-x2(i)
309 x35(i)=x5(i)-x3(i)
310 x46(i)=x6(i)-x4(i)
311 y17(i)=y7(i)-y1(i)
312 y28(i)=y8(i)-y2(i)
313 y35(i)=y5(i)-y3(i)
314 y46(i)=y6(i)-y4(i)
315 z17(i)=z7(i)-z1(i)
316 z28(i)=z8(i)-z2(i)
317 z35(i)=z5(i)-z3(i)
318 z46(i)=z6(i)-z4(i)
319 ENDDO
320C
321 DO i=1,nel
322 jac1(i)=x17(i)+x28(i)-x35(i)-x46(i)
323 jac2(i)=y17(i)+y28(i)-y35(i)-y46(i)
324 jac3(i)=z17(i)+z28(i)-z35(i)-z46(i)
325 x_17_46(i)=x17(i)+x46(i)
326 x_28_35(i)=x28(i)+x35(i)
327 y_17_46(i)=y17(i)+y46(i)
328 y_28_35(i)=y28(i)+y35(i)
329 z_17_46(i)=z17(i)+z46(i)
330 z_28_35(i)=z28(i)+z35(i)
331 ENDDO
332C
333C Jacobian matrix
334 DO i=1,nel
335 jac4(i)=x_17_46(i)+x_28_35(i)
336 jac5(i)=y_17_46(i)+y_28_35(i)
337 jac6(i)=z_17_46(i)+z_28_35(i)
338 jac7(i)=x_17_46(i)-x_28_35(i)
339 jac8(i)=y_17_46(i)-y_28_35(i)
340 jac9(i)=z_17_46(i)-z_28_35(i)
341 ENDDO
342C
343 DO i=1,nel
344 jac_59_68(i)=jac5(i)*jac9(i)-jac6(i)*jac8(i)
345 jac_67_49(i)=jac6(i)*jac7(i)-jac4(i)*jac9(i)
346 jac_48_57(i)=jac4(i)*jac8(i)-jac5(i)*jac7(i)
347 ENDDO
348C
349 DO i=1,nel
350 det(i)=one_over_64*(jac1(i)*jac_59_68(i)+jac2(i)*jac_67_49(i)
351 . +jac3(i)*jac_48_57(i))
352 ENDDO
353C
354 DO i=1,nel
355 dett(i)=one_over_64/det(i)
356 ENDDO
357C
358C Jacobian matrix inverse
359 DO i=1,nel
360 jaci1(i)=dett(i)*jac_59_68(i)
361 jaci4(i)=dett(i)*jac_67_49(i)
362 jaci7(i)=dett(i)*jac_48_57(i)
363 jaci2(i)=dett(i)*(-jac2(i)*jac9(i)+jac3(i)*jac8(i))
364 jaci5(i)=dett(i)*( jac1(i)*jac9(i)-jac3(i)*jac7(i))
365 jaci8(i)=dett(i)*(-jac1(i)*jac8(i)+jac2(i)*jac7(i))
366 jaci3(i)=dett(i)*( jac2(i)*jac6(i)-jac3(i)*jac5(i))
367 jaci6(i)=dett(i)*(-jac1(i)*jac6(i)+jac3(i)*jac4(i))
368 jaci9(i)=dett(i)*( jac1(i)*jac5(i)-jac2(i)*jac4(i))
369 ENDDO
370C
371 DO i=1,nel
372 jaci12(i)=jaci1(i)-jaci2(i)
373 jaci45(i)=jaci4(i)-jaci5(i)
374 jaci78(i)=jaci7(i)-jaci8(i)
375 ENDDO
376 DO i=1,nel
377 px3(i)= jaci12(i)+jaci3(i)
378 py3(i)= jaci45(i)+jaci6(i)
379 pz3(i)= jaci78(i)+jaci9(i)
380 px4(i)= jaci12(i)-jaci3(i)
381 py4(i)= jaci45(i)-jaci6(i)
382 pz4(i)= jaci78(i)-jaci9(i)
383 ENDDO
384 DO i=1,nel
385 jaci12(i)=jaci1(i)+jaci2(i)
386 jaci45(i)=jaci4(i)+jaci5(i)
387 jaci78(i)=jaci7(i)+jaci8(i)
388 ENDDO
389 DO i=1,nel
390 px1(i)=-jaci12(i)-jaci3(i)
391 py1(i)=-jaci45(i)-jaci6(i)
392 pz1(i)=-jaci78(i)-jaci9(i)
393 px2(i)=-jaci12(i)+jaci3(i)
394 py2(i)=-jaci45(i)+jaci6(i)
395 pz2(i)=-jaci78(i)+jaci9(i)
396 ENDDO
397C
398 RETURN
399 END SUBROUTINE sderii
400!||====================================================================
401!|| sdefoi ../starter/source/constraints/fxbody/fsigsini.F
402!||--- called by ------------------------------------------------------
403!|| fsigsini ../starter/source/constraints/fxbody/fsigsini.F
404!||====================================================================
405 SUBROUTINE sdefoi(NEL,
406 . PX1, PX2, PX3, PX4,
407 . PY1, PY2, PY3, PY4,
408 . PZ1, PZ2, PZ3, PZ4,
409 . VX1, VX2, VX3, VX4, VX5, VX6, VX7, VX8,
410 . VY1, VY2, VY3, VY4, VY5, VY6, VY7, VY8,
411 . VZ1, VZ2, VZ3, VZ4, VZ5, VZ6, VZ7, VZ8,
412 . DXX, DYY, DZZ, D4 , D5 , D6 )
413C-----------------------------------------------
414C I m p l i c i t T y p e s
415C-----------------------------------------------
416#include "implicit_f.inc"
417C-----------------------------------------------
418C G l o b a l P a r a m e t e r s
419C-----------------------------------------------
420#include "mvsiz_p.inc"
421C-----------------------------------------------
422C D u m m y A r g u m e n t s
423C-----------------------------------------------
424 INTEGER :: NEL
425 my_real
426 . VX1(*), VX2(*), VX3(*), VX4(*), VX5(*), VX6(*), VX7(*), VX8(*),
427 . VY1(*), VY2(*), VY3(*), VY4(*), VY5(*), VY6(*), VY7(*), VY8(*),
428 . VZ1(*), VZ2(*), VZ3(*), VZ4(*), VZ5(*), VZ6(*), VZ7(*), VZ8(*),
429 . PX1(*), PX2(*), PX3(*), PX4(*),
430 . PY1(*), PY2(*), PY3(*), PY4(*),
431 . PZ1(*), PZ2(*), PZ3(*), PZ4(*),
432 . DXX(*), DYY(*), DZZ(*), D4(*) , D5(*), D6(*)
433C-----------------------------------------------
434C L o c a l V a r i a b l e s
435C-----------------------------------------------
436 INTEGER I
437 my_real
438 . vx17(mvsiz), vy17(mvsiz), vz17(mvsiz),
439 . vx28(mvsiz), vy28(mvsiz), vz28(mvsiz),
440 . vx35(mvsiz), vy35(mvsiz), vz35(mvsiz),
441 . vx46(mvsiz), vy46(mvsiz), vz46(mvsiz)
442 my_real
443 . dxy(mvsiz), dxz(mvsiz), dyx(mvsiz), dyz(mvsiz), dzx(mvsiz),
444 . dzy(mvsiz)
445C
446 DO i=1,nel
447 vx17(i)=vx1(i)-vx7(i)
448 vx28(i)=vx2(i)-vx8(i)
449 vx35(i)=vx3(i)-vx5(i)
450 vx46(i)=vx4(i)-vx6(i)
451 vy17(i)=vy1(i)-vy7(i)
452 vy28(i)=vy2(i)-vy8(i)
453 vy35(i)=vy3(i)-vy5(i)
454 vy46(i)=vy4(i)-vy6(i)
455 vz17(i)=vz1(i)-vz7(i)
456 vz28(i)=vz2(i)-vz8(i)
457 vz35(i)=vz3(i)-vz5(i)
458 vz46(i)=vz4(i)-vz6(i)
459 ENDDO
460C
461 DO i=1,nel
462 dxx(i)=px1(i)*vx17(i)+px2(i)*vx28(i)+
463 . px3(i)*vx35(i)+px4(i)*vx46(i)
464 dyy(i)=py1(i)*vy17(i)+py2(i)*vy28(i)+
465 . py3(i)*vy35(i)+py4(i)*vy46(i)
466 dzz(i)=pz1(i)*vz17(i)+pz2(i)*vz28(i)+
467 . pz3(i)*vz35(i)+pz4(i)*vz46(i)
468 dxy(i)=py1(i)*vx17(i)+py2(i)*vx28(i)+
469 . py3(i)*vx35(i)+py4(i)*vx46(i)
470 dxz(i)=pz1(i)*vx17(i)+pz2(i)*vx28(i)+
471 . pz3(i)*vx35(i)+pz4(i)*vx46(i)
472 dyx(i)=px1(i)*vy17(i)+px2(i)*vy28(i)+
473 . px3(i)*vy35(i)+px4(i)*vy46(i)
474 dyz(i)=pz1(i)*vy17(i)+pz2(i)*vy28(i)+
475 . pz3(i)*vy35(i)+pz4(i)*vy46(i)
476 dzx(i)=px1(i)*vz17(i)+px2(i)*vz28(i)+
477 . px3(i)*vz35(i)+px4(i)*vz46(i)
478 dzy(i)=py1(i)*vz17(i)+py2(i)*vz28(i)+
479 . py3(i)*vz35(i)+py4(i)*vz46(i)
480 ENDDO
481C
482 DO i=1,nel
483 d4(i) = dxy(i)+dyx(i)
484 d5(i) = dyz(i)+dzy(i)
485 d6(i) = dxz(i)+dzx(i)
486 dxx(i) = dxx(i)
487 dyy(i) = dyy(i)
488 dzz(i) = dzz(i)
489 ENDDO
490C
491 RETURN
492 END SUBROUTINE sdefoi
493!||====================================================================
494!|| srhoi ../starter/source/constraints/fxbody/fsigsini.F
495!||--- called by ------------------------------------------------------
496!|| fsigsini ../starter/source/constraints/fxbody/fsigsini.F
497!||====================================================================
498 SUBROUTINE srhoi(NEL, PM, VOLO, RHON, VOLN, MAT)
499C-----------------------------------------------
500C I m p l i c i t T y p e s
501C-----------------------------------------------
502#include "implicit_f.inc"
503C-----------------------------------------------
504C G l o b a l P a r a m e t e r s
505C-----------------------------------------------
506#include "mvsiz_p.inc"
507C-----------------------------------------------
508C C o m m o n B l o c k s
509C-----------------------------------------------
510#include "param_c.inc"
511C-----------------------------------------------
512C D u m m y A r g u m e n t s
513C-----------------------------------------------
514 INTEGER NEL, MAT(*)
515 my_real
516 . PM(NPROPM,*), VOLO(*), RHON(*), VOLN(*)
517C-----------------------------------------------
518C L o c a l V a r i a b l e s
519C-----------------------------------------------
520 INTEGER I
521 my_real
522 . RHO0(MVSIZ)
523C
524 DO I=1,nel
525 rho0(i)=pm(1,mat(i))
526 rhon(i)=rho0(i)*(volo(i)/voln(i))
527 ENDDO
528C
529 RETURN
530 END SUBROUTINE srhoi
531!||====================================================================
532!|| sm1inif ../starter/source/constraints/fxbody/fsigsini.F
533!||--- called by ------------------------------------------------------
534!|| fsigsini ../starter/source/constraints/fxbody/fsigsini.F
535!||====================================================================
536 SUBROUTINE sm1inif(NEL, PM , SIG , EINT,
537 . RHO, D1 , D2 , D3 , D4 ,
538 . D5 ,D6 , MAT)
539C-----------------------------------------------
540C I m p l i c i t T y p e s
541C-----------------------------------------------
542#include "implicit_f.inc"
543C-----------------------------------------------
544C G l o b a l P a r a m e t e r s
545C-----------------------------------------------
546#include "mvsiz_p.inc"
547C-----------------------------------------------
548C C o m m o n B l o c k s
549C-----------------------------------------------
550#include "param_c.inc"
551C-----------------------------------------------
552C D u m m y A r g u m e n t s
553C-----------------------------------------------
554 INTEGER :: NEL, MAT(*)
555 my_real
556 . PM(NPROPM,*), SIG(6,*), EINT(*), RHO(*),D1(*), D2(*),
557 . D3(*), D4(*), D5(*), D6(*)
558C-----------------------------------------------
559C L o c a l V a r i a b l e s
560C-----------------------------------------------
561 INTEGER I,MX
562 my_real
563 . RHO0(MVSIZ), G1(MVSIZ), G2(MVSIZ), C1(MVSIZ), AMU(MVSIZ),
564 . DAV, E1, E2, E3, E4, E5, E6, NU1(MVSIZ),
565 . CNU1(MVSIZ)
566C
567 DO I=1,nel
568 mx =mat(i)
569 rho0(i)=pm( 1,mx)
570 nu1(i) =pm(21,mx)
571 cnu1(i)=nu1(i)/(one-two*nu1(i))
572 g1(i) =pm(22,mx)
573 g2(i) =two*g1(i)
574 c1(i) =pm(32,mx)
575 amu(i) =rho(i)/rho0(i)-one
576 ENDDO
577C
578 DO i=1,nel
579 dav=cnu1(i)*(d1(i)+d2(i)+d3(i))
580 sig(1,i)=g2(i)*(d1(i)+dav)
581 sig(2,i)=g2(i)*(d2(i)+dav)
582 sig(3,i)=g2(i)*(d3(i)+dav)
583 sig(4,i)=g1(i)*d4(i)
584 sig(5,i)=g1(i)*d5(i)
585 sig(6,i)=g1(i)*d6(i)
586 ENDDO
587C
588 DO i=1,nel
589 e1=d1(i)*sig(1,i)
590 e2=d2(i)*sig(2,i)
591 e3=d3(i)*sig(3,i)
592 e4=d4(i)*sig(4,i)
593 e5=d5(i)*sig(5,i)
594 e6=d6(i)*sig(6,i)
595 eint(i)=e1+e2+e3+e4+e5+e6
596 ENDDO
597C
598 RETURN
599 END SUBROUTINE sm1inif
600!||====================================================================
601!|| schrep ../starter/source/constraints/fxbody/fsigsini.F
602!||--- called by ------------------------------------------------------
603!|| fsigsini ../starter/source/constraints/fxbody/fsigsini.F
604!|| modbufel ../starter/source/constraints/fxbody/modbufel.F
605!||====================================================================
606 SUBROUTINE schrep(NEL, SIG, SIGL, R)
607C-----------------------------------------------
608C I m p l i c i t T y p e s
609C-----------------------------------------------
610#include "implicit_f.inc"
611C-----------------------------------------------
612C D u m m y A r g u m e n t s
613C-----------------------------------------------
614 INTEGER :: NEL
615 my_real
616 . sig(6,*), sigl(6,*), r(3,*)
617C-----------------------------------------------
618C L o c a l V a r i a b l e s
619C-----------------------------------------------
620 INTEGER I
621C
622 DO i=1,nel
623 sigl(1,i)=
624 . r(1,1)*(r(1,1)*sig(1,i)+r(2,1)*sig(4,i)+r(3,1)*sig(6,i))
625 . +r(2,1)*(r(1,1)*sig(4,i)+r(2,1)*sig(2,i)+r(3,1)*sig(5,i))
626 . +r(3,1)*(r(1,1)*sig(6,i)+r(2,1)*sig(5,i)+r(3,1)*sig(3,i))
627 sigl(2,i)=
628 . r(1,2)*(r(1,2)*sig(1,i)+r(2,2)*sig(4,i)+r(3,2)*sig(6,i))
629 . +r(2,2)*(r(1,2)*sig(4,i)+r(2,2)*sig(2,i)+r(3,2)*sig(5,i))
630 . +r(3,2)*(r(1,2)*sig(6,i)+r(2,2)*sig(5,i)+r(3,2)*sig(3,i))
631 sigl(3,i)=
632 . r(1,3)*(r(1,3)*sig(1,i)+r(2,3)*sig(4,i)+r(3,3)*sig(6,i))
633 . +r(2,3)*(r(1,3)*sig(4,i)+r(2,3)*sig(2,i)+r(3,3)*sig(5,i))
634 . +r(3,3)*(r(1,3)*sig(6,i)+r(2,3)*sig(5,i)+r(3,3)*sig(3,i))
635 sigl(4,i)=
636 . r(1,1)*(r(1,2)*sig(1,i)+r(2,2)*sig(4,i)+r(3,2)*sig(6,i))
637 . +r(2,1)*(r(1,2)*sig(4,i)+r(2,2)*sig(2,i)+r(3,2)*sig(5,i))
638 . +r(3,1)*(r(1,2)*sig(6,i)+r(2,2)*sig(5,i)+r(3,2)*sig(3,i))
639 sigl(5,i)=
640 . r(1,2)*(r(1,3)*sig(1,i)+r(2,3)*sig(4,i)+r(3,3)*sig(6,i))
641 . +r(2,2)*(r(1,3)*sig(4,i)+r(2,3)*sig(2,i)+r(3,3)*sig(5,i))
642 . +r(3,2)*(r(1,3)*sig(6,i)+r(2,3)*sig(5,i)+r(3,3)*sig(3,i))
643 sigl(6,i)=
644 . r(1,1)*(r(1,3)*sig(1,i)+r(2,3)*sig(4,i)+r(3,3)*sig(6,i))
645 . +r(2,1)*(r(1,3)*sig(4,i)+r(2,3)*sig(2,i)+r(3,3)*sig(5,i))
646 . +r(3,1)*(r(1,3)*sig(6,i)+r(2,3)*sig(5,i)+r(3,3)*sig(3,i))
647 ENDDO
648C
649 RETURN
650 END SUBROUTINE schrep
651
#define my_real
Definition cppsort.cpp:32
subroutine srhoi(nel, pm, volo, rhon, voln, mat)
Definition fsigsini.F:499
subroutine fsigsini(fxbelm, iparg, x, pm, ixs, geo, fxbmod, fxbsig, r, nels)
Definition fsigsini.F:37
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)
Definition fsigsini.F:413
subroutine sm1inif(nel, pm, sig, eint, rho, d1, d2, d3, d4, d5, d6, mat)
Definition fsigsini.F:539
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)
Definition fsigsini.F:266
subroutine schrep(nel, sig, sigl, r)
Definition fsigsini.F:607
#define min(a, b)
Definition macros.h:20