OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s4refsta3.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "param_c.inc"
#include "scr03_c.inc"
#include "scr17_c.inc"
#include "vect01_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine s4refsta3 (elbuf_str, ixs, pm, geo, iparg, ipm, igeo, skew, x, xrefs, nel, iparts, ipart, bufmat, mat_param, npf, tf, nummat)
subroutine s4defot3 (px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, vx1, vx2, vx3, vx4, vy1, vy2, vy3, vy4, vz1, vz2, vz3, vz4, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz)

Function/Subroutine Documentation

◆ s4defot3()

subroutine s4defot3 ( px1,
px2,
px3,
px4,
py1,
py2,
py3,
py4,
pz1,
pz2,
pz3,
pz4,
vx1,
vx2,
vx3,
vx4,
vy1,
vy2,
vy3,
vy4,
vz1,
vz2,
vz3,
vz4,
dxx,
dxy,
dxz,
dyx,
dyy,
dyz,
dzx,
dzy,
dzz )

Definition at line 555 of file s4refsta3.F.

561C-----------------------------------------------
562C I m p l i c i t T y p e s
563C-----------------------------------------------
564#include "implicit_f.inc"
565C-----------------------------------------------
566C D u m m y A r g u m e n t s
567C-----------------------------------------------
568 my_real
569 . vx1(*), vx2(*), vx3(*), vx4(*),
570 . vy1(*), vy2(*), vy3(*), vy4(*),
571 . vz1(*), vz2(*), vz3(*), vz4(*),
572 . px1(*), px2(*), px3(*), px4(*),
573 . py1(*), py2(*), py3(*), py4(*),
574 . pz1(*), pz2(*), pz3(*), pz4(*),
575 . dxx(*), dxy(*), dxz(*),
576 . dyx(*), dyy(*), dyz(*),
577 . dzx(*), dzy(*), dzz(*)
578C-----------------------------------------------
579C C o m m o n B l o c k s
580C-----------------------------------------------
581#include "vect01_c.inc"
582C-----------------------------------------------
583C L o c a l V a r i a b l e s
584C-----------------------------------------------
585 INTEGER I
586C-----------------------------------------------
587C 12
588 DO i=lft,llt
589 dxx(i)=px1(i)*vx1(i)+px2(i)*vx2(i)+
590 . px3(i)*vx3(i)+px4(i)*vx4(i)
591 dyy(i)=py1(i)*vy1(i)+py2(i)*vy2(i)+
592 . py3(i)*vy3(i)+py4(i)*vy4(i)
593 dzz(i)=pz1(i)*vz1(i)+pz2(i)*vz2(i)+
594 . pz3(i)*vz3(i)+pz4(i)*vz4(i)
595 dxy(i)=py1(i)*vx1(i)+py2(i)*vx2(i)+
596 . py3(i)*vx3(i)+py4(i)*vx4(i)
597 dxz(i)=pz1(i)*vx1(i)+pz2(i)*vx2(i)+
598 . pz3(i)*vx3(i)+pz4(i)*vx4(i)
599 dyx(i)=px1(i)*vy1(i)+px2(i)*vy2(i)+
600 . px3(i)*vy3(i)+px4(i)*vy4(i)
601 dyz(i)=pz1(i)*vy1(i)+pz2(i)*vy2(i)+
602 . pz3(i)*vy3(i)+pz4(i)*vy4(i)
603 dzx(i)=px1(i)*vz1(i)+px2(i)*vz2(i)+
604 . px3(i)*vz3(i)+px4(i)*vz4(i)
605 dzy(i)=py1(i)*vz1(i)+py2(i)*vz2(i)+
606 . py3(i)*vz3(i)+py4(i)*vz4(i)
607 ENDDO
608C-----------
609 RETURN
#define my_real
Definition cppsort.cpp:32

◆ s4refsta3()

subroutine s4refsta3 ( type (elbuf_struct_), target elbuf_str,
integer, dimension(nixs,*) ixs,
pm,
geo,
integer, dimension(*) iparg,
integer, dimension(npropmi,*) ipm,
integer, dimension(npropgi,*) igeo,
skew,
x,
xrefs,
integer nel,
integer, dimension(*) iparts,
integer, dimension(lipart1,*) ipart,
bufmat,
type (matparam_struct_), dimension(nummat), intent(inout) mat_param,
integer, dimension(*) npf,
tf,
integer, intent(in) nummat )

Definition at line 45 of file s4refsta3.F.

49C-----------------------------------------------
50C M o d u l e s
51C-----------------------------------------------
52 USE mat_elem_mod
53 USE message_mod
55C-----------------------------------------------
56C I m p l i c i t T y p e s
57C-----------------------------------------------
58#include "implicit_f.inc"
59C-----------------------------------------------
60C G l o b a l P a r a m e t e r s
61C-----------------------------------------------
62#include "mvsiz_p.inc"
63C-----------------------------------------------
64C C o m m o n B l o c k s
65C-----------------------------------------------
66#include "param_c.inc"
67#include "scr03_c.inc"
68#include "scr17_c.inc"
69#include "vect01_c.inc"
70C-----------------------------------------------
71C D u m m y A r g u m e n t s
72C-----------------------------------------------
73 INTEGER ,INTENT(IN) :: NUMMAT
74 INTEGER IXS(NIXS,*), IPARG(*),IPARTS(*),IGEO(NPROPGI,*),
75 . IPM(NPROPMI,*),IPART(LIPART1,*), NPF(*)
76 INTEGER NEL
78 . pm(npropm,*), x(3,*), xrefs(8,3,*), geo(npropg,*),
79 . skew(lskew,*), bufmat(*), tf(*)
80 TYPE (ELBUF_STRUCT_), TARGET :: ELBUF_STR
81 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(INOUT) :: MAT_PARAM
82C-----------------------------------------------
83C L o c a l V a r i a b l e s
84C-----------------------------------------------
85 INTEGER I,II, N, JHBE, IMAT,IGTYP, ITRS, ISTRA, IPID, IBID,
86 . NITSAV,JJ(6)
87 INTEGER ID
88 CHARACTER(LEN=NCHARTITLE)::TITR
89 INTEGER MAT(MVSIZ), PID(MVSIZ), NGL(MVSIZ),
90 . IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ)
91 double precision
92 . xr(mvsiz,8) ,yr(mvsiz,8) ,zr(mvsiz,8) ,
93 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
94 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
95 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),voldp(mvsiz)
97 . rx(mvsiz) ,ry(mvsiz) ,rz(mvsiz) ,
98 . sx(mvsiz) ,sy(mvsiz) ,sz(mvsiz) ,
99 . tx(mvsiz) ,ty(mvsiz) ,tz(mvsiz) ,
100 . e1x(mvsiz),e1y(mvsiz),e1z(mvsiz),
101 . e2x(mvsiz),e2y(mvsiz),e2z(mvsiz),
102 . e3x(mvsiz),e3y(mvsiz),e3z(mvsiz),
103 . px1(mvsiz) ,px2(mvsiz) ,px3(mvsiz), px4(mvsiz),
104 . py1(mvsiz) ,py2(mvsiz) ,py3(mvsiz), py4(mvsiz),
105 . pz1(mvsiz) ,pz2(mvsiz) ,pz3(mvsiz), pz4(mvsiz),
106 . mfxx(mvsiz), mfxy(mvsiz), mfyx(mvsiz),
107 . mfyy(mvsiz), mfyz(mvsiz), mfzy(mvsiz),
108 . mfzz(mvsiz), mfzx(mvsiz), mfxz(mvsiz),
109 . voln(mvsiz), dvol(mvsiz),
110 . vxl(mvsiz,8),vyl(mvsiz,8),vzl(mvsiz,8),
111 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
112 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
113 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
114 . dxx(mvsiz),dxy(mvsiz),dxz(mvsiz),
115 . dyx(mvsiz),dyy(mvsiz),dyz(mvsiz),
116 . dzx(mvsiz),dzy(mvsiz),dzz(mvsiz),
117 . d1(mvsiz),d2(mvsiz),d3(mvsiz),d4(mvsiz),d5(mvsiz),d6(mvsiz),
118 . s1(mvsiz),s2(mvsiz),s3(mvsiz),s4(mvsiz),s5(mvsiz),s6(mvsiz),
119 . wxx(mvsiz), wyy(mvsiz), wzz(mvsiz),vbid(lveul,mvsiz)
120 my_real
121 . fac, xt, yt, zt, a11, a12, a13, a21, a22, a23, a31, a32, a33,jac(10,mvsiz)
122 my_real
123 . deltax(mvsiz), volu(mvsiz)
124c----
125 TYPE(G_BUFEL_) ,POINTER :: GBUF
126 TYPE(L_BUFEL_) ,POINTER :: LBUF
127C-----------------------------------------------
128C S o u r c e L i n e s
129C=======================================================================
130 gbuf => elbuf_str%GBUF
131 lbuf => elbuf_str%BUFLY(1)%LBUF(1,1,1)
132 jhbe = iparg(23)
133 jcvt = iparg(37)
134 igtyp = iparg(38)
135 istra = iparg(44)
136 ibid = 0
137C
138 nitsav=nitrs
139!
140 DO i=1,6
141 jj(i) = nel*(i-1)
142 ENDDO
143!
144C-----Case total strain, rather for computing Eint, stress will also be calculated at T=0 of Engine
145C-----but NITRS=1, for nonlinear elastic, Eint is too approximative
146 IF (ismstr >= 10 ) nitrs=10
147C----------------------------
148 IF (mtn == 35 .OR. mtn == 38 .OR. mtn == 42 .OR. mtn == 70)THEN
149 IF (jcvt > 0) THEN
150 ipid = ixs(nixs-1,1)
151 id = igeo(1,ipid)
152 CALL fretitl2(titr,igeo(npropgi-ltitr+1,ipid),ltitr)
153 CALL ancmsg(msgid=906,
154 . msgtype=msgerror,
155 . anmode=aninfo_blind_2,
156 . i1=id,
157 . c1=titr)
158 ENDIF
159C----------------------------
160C Connectivities, PID, MID N
161C----------------------------
162 mat(1) = 0
163 DO i=lft,llt
164 n = nft+i
165 mat(i)=ixs(1,n)
166 pid(i)=ixs(nixs-1,n)
167 ngl(i)=ixs(nixs,n)
168 ix1(i)=ixs(2,n)
169 ix2(i)=ixs(4,n)
170 ix3(i)=ixs(7,n)
171 ix4(i)=ixs(6,n)
172 END DO
173 imat = mat(1)
174C----------------------------
175C Coordinates
176C----------------------------
177 DO i=lft,llt
178 n = nft+i
179 xt = xrefs(4,1,n)
180 yt = xrefs(4,2,n)
181 zt = xrefs(4,3,n)
182 xr(i,1) = xrefs(1,1,n)-xt
183 yr(i,1) = xrefs(1,2,n)-yt
184 zr(i,1) = xrefs(1,3,n)-zt
185 xr(i,2) = xrefs(2,1,n)-xt
186 yr(i,2) = xrefs(2,2,n)-yt
187 zr(i,2) = xrefs(2,3,n)-zt
188 xr(i,3) = xrefs(3,1,n)-xt
189 yr(i,3) = xrefs(3,2,n)-yt
190 zr(i,3) = xrefs(3,3,n)-zt
191 xr(i,4) = zero
192 yr(i,4) = zero
193 zr(i,4) = zero
194 END DO
195C-----Case total strain calculated in global sys
196C Repere isoparametrique -> rep convecte -> rep orthotrope
197 CALL s4repisot3(xr(1,1) ,xr(1,2) ,xr(1,3) ,xr(1,4) ,
198 . yr(1,1) ,yr(1,2) ,yr(1,3) ,yr(1,4) ,
199 . zr(1,1) ,zr(1,2) ,zr(1,3) ,zr(1,4) ,
200 . rx ,ry ,rz ,
201 . sx ,sy ,sz ,
202 . tx ,ty ,tz )
203c CALL SREPLOC3(
204 CALL sortho3(
205 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
206 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
207
208 IF (igtyp == 6 .AND. jhbe /=24) THEN
209 CALL s4ortht3(jhbe ,gbuf%GAMA,nel,
210 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
211 . xr(1,1) ,xr(1,2) ,xr(1,3) ,xr(1,4) ,
212 . yr(1,1) ,yr(1,2) ,yr(1,3) ,yr(1,4) ,
213 . zr(1,1) ,zr(1,2) ,zr(1,3) ,zr(1,4) )
214 ENDIF
215C----------------------------
216C Config initiale
217C----------------------------
218 DO i=lft,llt
219 xt = x(1,ix4(i))
220 yt = x(2,ix4(i))
221 zt = x(3,ix4(i))
222 x1(i)=x(1,ix1(i))-xt
223 y1(i)=x(2,ix1(i))-yt
224 z1(i)=x(3,ix1(i))-zt
225 x2(i)=x(1,ix2(i))-xt
226 y2(i)=x(2,ix2(i))-yt
227 z2(i)=x(3,ix2(i))-zt
228 x3(i)=x(1,ix3(i))-xt
229 y3(i)=x(2,ix3(i))-yt
230 z3(i)=x(3,ix3(i))-zt
231 x4(i)=zero
232 y4(i)=zero
233 z4(i)=zero
234 END DO
235C Repere isoparametrique -> rep convecte -> rep orthotrope
236 CALL s4repiso3(x1 ,x2 ,x3 ,x4 ,
237 . y1 ,y2 ,y3 ,y4 ,
238 . z1 ,z2 ,z3 ,z4 ,
239 . rx ,ry ,rz ,
240 . sx ,sy ,sz ,
241 . tx ,ty ,tz )
242c CALL SREPLOC3(
243 CALL sortho3(
244 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
245 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
246c CALL S4ROTA3(E1X ,E2X ,E3X ,E1Y ,E2Y ,E3Y ,E1Z ,E2Z ,E3Z ,
247c . X1 ,X2 ,X3 ,X4 ,
248c . Y1 ,Y2 ,Y3 ,Y4 ,
249c . Z1 ,Z2 ,Z3 ,Z4 )
250 IF (igtyp == 6 .AND. jhbe /=24) THEN
251 CALL s4orth3(jhbe ,gbuf%GAMA,nel,
252 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
253 . x1 ,x2 ,x3 ,x4 ,
254 . y1 ,y2 ,y3 ,y4 ,
255 . z1 ,z2 ,z3 ,z4 )
256 ENDIF
257C----------------------------
258C Retourne la reference en repere global.
259C----------------------------
260c CALL S4ROTAT3(E1X ,E1Y ,E1Z ,E2X ,E2Y ,E2Z ,E3X ,E3Y ,E3Z ,
261c . XR(1,1) ,XR(1,2) ,XR(1,3) ,XR(1,4) ,
262c . YR(1,1) ,YR(1,2) ,YR(1,3) ,YR(1,4) ,
263c . ZR(1,1) ,ZR(1,2) ,ZR(1,3) ,ZR(1,4) )
264C------
265 DO i=lft,llt
266 n = nft+i
267 xt = xrefs(4,1,n)
268 yt = xrefs(4,2,n)
269 zt = xrefs(4,3,n)
270 xr(i,1) = xrefs(1,1,n)-xt
271 yr(i,1) = xrefs(1,2,n)-yt
272 zr(i,1) = xrefs(1,3,n)-zt
273 xr(i,2) = xrefs(2,1,n)-xt
274 yr(i,2) = xrefs(2,2,n)-yt
275 zr(i,2) = xrefs(2,3,n)-zt
276 xr(i,3) = xrefs(3,1,n)-xt
277 yr(i,3) = xrefs(3,2,n)-yt
278 zr(i,3) = xrefs(3,3,n)-zt
279 xr(i,4) = zero
280 yr(i,4) = zero
281 zr(i,4) = zero
282 END DO
283C
284 fac = one/float(nitrs)
285 DO i=lft,llt
286 xt=x(1,ix4(i))
287 yt=x(2,ix4(i))
288 zt=x(3,ix4(i))
289 vx1(i)=(x(1,ix1(i))-xt-xr(i,1))*fac
290 vy1(i)=(x(2,ix1(i))-yt-yr(i,1))*fac
291 vz1(i)=(x(3,ix1(i))-zt-zr(i,1))*fac
292 vx2(i)=(x(1,ix2(i))-xt-xr(i,2))*fac
293 vy2(i)=(x(2,ix2(i))-yt-yr(i,2))*fac
294 vz2(i)=(x(3,ix2(i))-zt-zr(i,2))*fac
295 vx3(i)=(x(1,ix3(i))-xt-xr(i,3))*fac
296 vy3(i)=(x(2,ix3(i))-yt-yr(i,3))*fac
297 vz3(i)=(x(3,ix3(i))-zt-zr(i,3))*fac
298 vx4(i)=zero
299 vy4(i)=zero
300 vz4(i)=zero
301 END DO
302C----------------------------
303C deformation : reference -> initial
304C----------------------------
305 DO itrs=1,nitrs
306C
307 fac = float(itrs)
308C--------in global sys
309 IF (ismstr >= 10) THEN
310 CALL s4deri3(voln ,vbid ,geo ,igeo ,rx ,
311 . ry ,rz ,sx ,sy ,
312 . sz ,tx ,ty ,tz ,
313 . xr(1,1) ,xr(1,2) ,xr(1,3) ,xr(1,4) ,
314 . yr(1,1) ,yr(1,2) ,yr(1,3) ,yr(1,4) ,
315 . zr(1,1) ,zr(1,2) ,zr(1,3) ,zr(1,4) ,
316 . px1 ,px2 ,px3 ,px4 ,
317 . py1 ,py2 ,py3 ,py4 ,
318 . pz1 ,pz2 ,pz3 ,pz4 ,gbuf%JAC_I,
319 . deltax ,volu ,ngl ,pid ,mat ,
320 . pm ,voldp )
321 CALL s4defot3(
322 . px1, px2, px3, px4,
323 . py1, py2, py3, py4,
324 . pz1, pz2, pz3, pz4,
325 . vx1, vx2, vx3, vx4,
326 . vy1, vy2, vy3, vy4,
327 . vz1, vz2, vz3, vz4,
328 . mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz)
329 DO i=lft,llt
330 mfxx(i)=fac*mfxx(i)
331 mfyy(i)=fac*mfyy(i)
332 mfzz(i)=fac*mfzz(i)
333 mfxy(i)=fac*mfxy(i)
334 mfxz(i)=fac*mfxz(i)
335 mfyx(i)=fac*mfyx(i)
336 mfyz(i)=fac*mfyz(i)
337 mfzx(i)=fac*mfzx(i)
338 mfzy(i)=fac*mfzy(i)
339 ENDDO
340C ------ to be done for orth, for the moment no orth law is available with total strain
341C IF (IGTYP == 6) THEN
342C ENDIF
343 END IF !(ISMSTR == 10 .OR. ISMSTR == 12) THEN
344 DO i=lft,llt
345 x1(i)=xr(i,1)+fac*vx1(i)
346 y1(i)=yr(i,1)+fac*vy1(i)
347 z1(i)=zr(i,1)+fac*vz1(i)
348 x2(i)=xr(i,2)+fac*vx2(i)
349 y2(i)=yr(i,2)+fac*vy2(i)
350 z2(i)=zr(i,2)+fac*vz2(i)
351 x3(i)=xr(i,3)+fac*vx3(i)
352 y3(i)=yr(i,3)+fac*vy3(i)
353 z3(i)=zr(i,3)+fac*vz3(i)
354 x4(i)=xr(i,4)+fac*vx4(i)
355 y4(i)=yr(i,4)+fac*vy4(i)
356 z4(i)=zr(i,4)+fac*vz4(i)
357 END DO
358C-----------
359C Repere isoparametrique -> rep convecte -> rep orthotrope
360 CALL s4repiso3(x1 ,x2 ,x3 ,x4 ,
361 . y1 ,y2 ,y3 ,y4 ,
362 . z1 ,z2 ,z3 ,z4 ,
363 . rx ,ry ,rz ,
364 . sx ,sy ,sz ,
365 . tx ,ty ,tz )
366C
367c CALL SREPLOC3(
368 IF (ismstr == 1 .OR. ismstr == 11) THEN
369 DO i=lft,llt
370 x1(i)=xr(i,1)
371 y1(i)=yr(i,1)
372 z1(i)=zr(i,1)
373 x2(i)=xr(i,2)
374 y2(i)=yr(i,2)
375 z2(i)=zr(i,2)
376 x3(i)=xr(i,3)
377 y3(i)=yr(i,3)
378 z3(i)=zr(i,3)
379 x4(i)=xr(i,4)
380 y4(i)=yr(i,4)
381 z4(i)=zr(i,4)
382 END DO
383 END IF
384 IF (ismstr >= 10) THEN
385C----------- in global system for total strain
386 DO i=lft,llt
387 e1x(i) = one
388 e1y(i) = zero
389 e1z(i) = zero
390 e2x(i) = zero
391 e2y(i) = one
392 e2z(i) = zero
393 e3x(i) = zero
394 e3y(i) = zero
395 e3z(i) = one
396 END DO
397 ELSE
398 CALL sortho3(
399 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
400 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
401C
402 CALL s4rota3(e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
403 . x1 ,x2 ,x3 ,x4 ,
404 . y1 ,y2 ,y3 ,y4 ,
405 . z1 ,z2 ,z3 ,z4 )
406 END IF !(ISMSTR >= 10) THEN
407C
408 IF (igtyp == 6 .AND. jhbe /=24) THEN
409 CALL s4orth3(jhbe ,gbuf%GAMA ,nel,
410 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
411 . x1 ,x2 ,x3 ,x4 ,
412 . y1 ,y2 ,y3 ,y4 ,
413 . z1 ,z2 ,z3 ,z4 )
414 ENDIF
415C-----------
416 CALL s4deri3(voln ,vbid ,geo ,igeo ,rx ,
417 . ry ,rz ,sx ,sy ,
418 . sz ,tx ,ty ,tz ,
419 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
420 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
421 . px1 ,px2 ,px3 ,px4 ,
422 . py1 ,py2 ,py3 ,py4 ,
423 . pz1 ,pz2 ,pz3 ,pz4 ,jac,
424 . deltax ,volu ,ngl ,pid ,mat,
425 . pm ,voldp )
426C-----------
427 DO i=lft,llt
428 vxl(i,1)=vx1(i)
429 vyl(i,1)=vy1(i)
430 vzl(i,1)=vz1(i)
431 vxl(i,2)=vx2(i)
432 vyl(i,2)=vy2(i)
433 vzl(i,2)=vz2(i)
434 vxl(i,3)=vx3(i)
435 vyl(i,3)=vy3(i)
436 vzl(i,3)=vz3(i)
437 vxl(i,4)=vx4(i)
438 vyl(i,4)=vy4(i)
439 vzl(i,4)=vz4(i)
440 ENDDO
441 CALL s4rotat3(e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
442 . vxl(1,1) ,vxl(1,2) ,vxl(1,3) ,vxl(1,4) ,
443 . vyl(1,1) ,vyl(1,2) ,vyl(1,3) ,vyl(1,4) ,
444 . vzl(1,1) ,vzl(1,2) ,vzl(1,3) ,vzl(1,4) )
445C-----calculate Dij anyway to get EINT
446C-----(small strain is not taken account here, if do it, should also modify SRHO3)
447 CALL s4defo3(
448 . px1, px2, px3, px4,
449 . py1, py2, py3, py4,
450 . pz1, pz2, pz3, pz4,
451 . vxl(1,1), vxl(1,2), vxl(1,3), vxl(1,4),
452 . vyl(1,1), vyl(1,2), vyl(1,3), vyl(1,4),
453 . vzl(1,1), vzl(1,2), vzl(1,3), vzl(1,4),
454 . dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz,
455 . d4, d5, d6 ,wxx, wyy, wzz)
456C-----------
457 CALL srho3(pm, gbuf%VOL, gbuf%RHO, gbuf%EINT, dxx,
458 . dyy, dzz, voln, dvol, mat)
459 DO i=lft,llt
460 s1(i) = gbuf%SIG(jj(1) + i)
461 s2(i) = gbuf%SIG(jj(2) + i)
462 s3(i) = gbuf%SIG(jj(3) + i)
463 s4(i) = gbuf%SIG(jj(4) + i)
464 s5(i) = gbuf%SIG(jj(5) + i)
465 s6(i) = gbuf%SIG(jj(6) + i)
466 END DO
467C-----------
468 CALL mmain(pm ,elbuf_str,ixs ,nixs ,x ,
469 2 geo ,iparg ,nel ,skew ,bufmat ,
470 3 ipart ,iparts ,nummat ,mat_param,
471 4 imat ,ipm ,ngl ,pid ,npf ,
472 5 tf ,mfxx ,mfxy ,mfxz ,mfyx ,
473 6 mfyy ,mfyz ,mfzx ,mfzy ,mfzz ,
474 7 rx ,ry ,rz ,sx ,sy ,
475 8 sz ,gbuf%GAMA,voln ,dvol ,s1 ,
476 b s2 ,s3 ,s4 ,s5 ,s6 ,
477 9 dxx ,dyy ,dzz ,d4 ,d5 ,
478 a d6 ,wxx ,wyy ,wzz )
479 ENDDO
480C-----------
481c stress -> global coordinates
482 DO i=lft,llt
483 s1(i) = gbuf%SIG(jj(1) + i)
484 s2(i) = gbuf%SIG(jj(2) + i)
485 s3(i) = gbuf%SIG(jj(3) + i)
486 s4(i) = gbuf%SIG(jj(4) + i)
487 s5(i) = gbuf%SIG(jj(5) + i)
488 s6(i) = gbuf%SIG(jj(6) + i)
489 a11 = s1(i)*e1x(i)+s4(i)*e2x(i)+s6(i)*e3x(i)
490 a12 = s1(i)*e1y(i)+s4(i)*e2y(i)+s6(i)*e3y(i)
491 a13 = s1(i)*e1z(i)+s4(i)*e2z(i)+s6(i)*e3z(i)
492 a21 = s4(i)*e1x(i)+s2(i)*e2x(i)+s5(i)*e3x(i)
493 a22 = s4(i)*e1y(i)+s2(i)*e2y(i)+s5(i)*e3y(i)
494 a23 = s4(i)*e1z(i)+s2(i)*e2z(i)+s5(i)*e3z(i)
495 a31 = s6(i)*e1x(i)+s5(i)*e2x(i)+s3(i)*e3x(i)
496 a32 = s6(i)*e1y(i)+s5(i)*e2y(i)+s3(i)*e3y(i)
497 a33 = s6(i)*e1z(i)+s5(i)*e2z(i)+s3(i)*e3z(i)
498 s1(i) = e1x(i)*a11 + e2x(i)*a21 + e3x(i)*a31
499 s2(i) = e1y(i)*a12 + e2y(i)*a22 + e3y(i)*a32
500 s3(i) = e1z(i)*a13 + e2z(i)*a23 + e3z(i)*a33
501 s4(i) = e1x(i)*a12 + e2x(i)*a22 + e3x(i)*a32
502 s5(i) = e1y(i)*a13 + e2y(i)*a23 + e3y(i)*a33
503 s6(i) = e1x(i)*a13 + e2x(i)*a23 + e3x(i)*a33
504 gbuf%SIG(jj(1) + i) = s1(i)
505 gbuf%SIG(jj(2) + i) = s2(i)
506 gbuf%SIG(jj(3) + i) = s3(i)
507 gbuf%SIG(jj(4) + i) = s4(i)
508 gbuf%SIG(jj(5) + i) = s5(i)
509 gbuf%SIG(jj(6) + i) = s6(i)
510 END DO
511c strain -> global coordinates
512 IF (istra > 0) THEN
513 DO i=lft,llt
514 d1(i) = lbuf%STRA(jj(1) + i)
515 d2(i) = lbuf%STRA(jj(2) + i)
516 d3(i) = lbuf%STRA(jj(3) + i)
517 d4(i) = lbuf%STRA(jj(4) + i)*half
518 d5(i) = lbuf%STRA(jj(5) + i)*half
519 d6(i) = lbuf%STRA(jj(6) + i)*half
520 a11 = d1(i)*e1x(i)+d4(i)*e2x(i)+d6(i)*e3x(i)
521 a12 = d1(i)*e1y(i)+d4(i)*e2y(i)+d6(i)*e3y(i)
522 a13 = d1(i)*e1z(i)+d4(i)*e2z(i)+d6(i)*e3z(i)
523 a21 = d4(i)*e1x(i)+d2(i)*e2x(i)+d5(i)*e3x(i)
524 a22 = d4(i)*e1y(i)+d2(i)*e2y(i)+d5(i)*e3y(i)
525 a23 = d4(i)*e1z(i)+d2(i)*e2z(i)+d5(i)*e3z(i)
526 a31 = d6(i)*e1x(i)+d5(i)*e2x(i)+d3(i)*e3x(i)
527 a32 = d6(i)*e1y(i)+d5(i)*e2y(i)+d3(i)*e3y(i)
528 a33 = d6(i)*e1z(i)+d5(i)*e2z(i)+d3(i)*e3z(i)
529 d1(i) = e1x(i)*a11 + e2x(i)*a21 + e3x(i)*a31
530 d2(i) = e1y(i)*a12 + e2y(i)*a22 + e3y(i)*a32
531 d3(i) = e1z(i)*a13 + e2z(i)*a23 + e3z(i)*a33
532 d4(i) = e1x(i)*a12 + e2x(i)*a22 + e3x(i)*a32
533 d5(i) = e1y(i)*a13 + e2y(i)*a23 + e3y(i)*a33
534 d6(i) = e1x(i)*a13 + e2x(i)*a23 + e3x(i)*a33
535 lbuf%STRA(jj(1) + i) = d1(i)
536 lbuf%STRA(jj(2) + i) = d2(i)
537 lbuf%STRA(jj(3) + i) = d3(i)
538 lbuf%STRA(jj(4) + i) = d4(i)*two
539 lbuf%STRA(jj(5) + i) = d5(i)*two
540 lbuf%STRA(jj(6) + i) = d6(i)*two
541 ENDDO
542 ENDIF
543C-----
544 ENDIF
545C ======================================================================
546 nitrs=nitsav
547 RETURN
subroutine mmain(pm, elbuf_str, ix, nix, x, geo, iparg, nel, skew, bufmat, ipart, ipartel, nummat, matparam, imat, ipm, ngl, pid, npf, tf, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, rx, ry, rz, sx, sy, sz, gama, voln, dvol, s1, s2, s3, s4, s5, s6, dxx, dyy, dzz, d4, d5, d6, wxx, wyy, wzz)
Definition mmain.F:43
initmumps id
integer, parameter nchartitle
subroutine s4ortht3(jhbe, gama, nel, r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4)
Definition s4orth3.F:136
subroutine s4orth3(jhbe, gama, nel, r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4)
Definition s4orth3.F:33
subroutine s4defot3(px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, vx1, vx2, vx3, vx4, vy1, vy2, vy3, vy4, vz1, vz2, vz3, vz4, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz)
Definition s4refsta3.F:561
subroutine s4repiso3(x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, rx, ry, rz, sx, sy, sz, tx, ty, tz)
Definition s4repiso3.F:34
subroutine s4repisot3(x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, rx, ry, rz, sx, sy, sz, tx, ty, tz)
Definition s4repiso3.F:96
subroutine s4rota3(r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4)
Definition s4rota3.F:32
subroutine s4rotat3(r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4)
Definition s4rota3.F:99
subroutine s4defo3(px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, vx1, vx2, vx3, vx4, vy1, vy2, vy3, vy4, vz1, vz2, vz3, vz4, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz)
Definition s4defo3.F:34
subroutine s4deri3(vol, veul, geo, igeo, rx, ry, rz, sx, sy, sz, tx, ty, tz, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, jac_i, deltax, det, ngl, ngeo, mxt, pm, voldp)
Definition s4deri3.F:47
subroutine sortho3(rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z)
Definition sortho3.F:33
subroutine srho3(pm, volo, rhon, eint, dxx, dyy, dzz, voln, dvol, mat)
Definition srho3.F:31
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:889
subroutine fretitl2(titr, iasc, l)
Definition freform.F:804