OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
czdef.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!|| czdef ../engine/source/elements/shell/coquez/czdef.F
25!||--- called by ------------------------------------------------------
26!|| czforc3 ../engine/source/elements/shell/coquez/czforc3.F
27!|| czforc3_crk ../engine/source/elements/xfem/czforc3_crk.F
28!||====================================================================
29 SUBROUTINE czdef(JFT ,JLT ,AREA ,AA ,V13 ,V24 ,
30 2 VHI ,RLXYZ,VDEF ,VHG ,X13 ,
31 3 X24 ,Y13 ,Y24 ,MX13,MX23 ,MX34,
32 4 MY13,MY23 ,MY34 ,Z1 ,DT1 , OFF,
33 5 OFFG,RLXYZV )
34C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
35#include "implicit_f.inc"
36#include "mvsiz_p.inc"
37#include "parit_c.inc"
38C-----------------------------------------------
39C D U M M Y A R G U M E N T S
40C-----------------------------------------------
41 INTEGER JFT,JLT
42 my_real
43 . RLXYZ(MVSIZ,2,4),V13(MVSIZ,3),V24(MVSIZ,3),
44 . X13(*),X24(*),Y13(*),Y24(*),
45 . mx13(*),mx23(*),mx34(*),my13(*),my23(*),my34(*)
46 my_real
47 . area(*),z1(*),vdef(mvsiz,8),
48 . aa(*),vhg(mvsiz,6),vhi(mvsiz,3),dt1,off(*),offg(*),off_l
49 my_real
50 . rlxyzv(mvsiz,2,4)
51C-----------------------------------------------
52C L O C A L V A R I A B L E S
53C-----------------------------------------------
54 INTEGER I,J
55 my_real
56 . BCX,BCY,BCXY,R13(2),R24(2),DETA1,
57 . RSOM(2),RHI(2),
58 . bxv2,byv1,bxr1,byr2
59C-----------------------------------------------
60 IF (ivector==1) THEN
61 DO i=jft,jlt
62 r13(1) =(rlxyzv(i,1,1)-rlxyzv(i,1,3))*aa(i)
63 r24(1) =(rlxyzv(i,1,2)-rlxyzv(i,1,4))*aa(i)
64 rsom(1)=(rlxyzv(i,1,4)+rlxyzv(i,1,3)+rlxyzv(i,1,1)
65 . +rlxyzv(i,1,2))*aa(i)
66 rhi(1) =(rlxyzv(i,1,1)-rlxyzv(i,1,2)+rlxyzv(i,1,3)
67 . -rlxyzv(i,1,4))*fourth
68 r13(2) =(rlxyzv(i,2,1)-rlxyzv(i,2,3))*aa(i)
69 r24(2) =(rlxyzv(i,2,2)-rlxyzv(i,2,4))*aa(i)
70 rsom(2)=(rlxyzv(i,2,4)+rlxyzv(i,2,3)+rlxyzv(i,2,1)
71 . +rlxyzv(i,2,2))*aa(i)
72 rhi(2) =(rlxyzv(i,2,1)-rlxyzv(i,2,2)+rlxyzv(i,2,3)
73 . - rlxyzv(i,2,4))*fourth
74C---------------
75C MEMBRANE
76C---------------
77 vdef(i,1)= y24(i)*v13(i,1)-y13(i)*v24(i,1)
78 vdef(i,2)=-x24(i)*v13(i,2)+x13(i)*v24(i,2)
79 bxv2= y24(i)*v13(i,2)-y13(i)*v24(i,2)
80 byv1=-x24(i)*v13(i,1)+x13(i)*v24(i,1)
81 vdef(i,3)=bxv2+byv1
82C---------
83C FLEXION
84C---------
85 vdef(i,6)=y24(i)*r13(2)-y13(i)*r24(2)
86 vdef(i,7)=x24(i)*r13(1)-x13(i)*r24(1)
87 bxr1= y13(i)*r24(1)-y24(i)*r13(1)
88 byr2=-x24(i)*r13(2)+x13(i)*r24(2)
89 vdef(i,8)=bxr1+byr2
90C--------
91C C.T
92C--------
93 bcxy=area(i)*fourth
94 bcx=v13(i,3)-my13(i)*r13(1)+mx13(i)*r13(2)
95 bcy=v24(i,3)+my13(i)*r24(1)-mx13(i)*r24(2)
96 vdef(i,4)=y24(i)*bcx-y13(i)*bcy+bcxy*rsom(2)
97 vdef(i,5)=x13(i)*bcy-x24(i)*bcx-bcxy*rsom(1)
98C----------------------------------
99C VITESSE DE DEFORMATION HOURGLASS
100C----------------------------------
101 vhg(i,1)=vhi(i,1)-mx13(i)*vdef(i,1)-my13(i)*byv1
102 vhg(i,2)=vhi(i,2)-mx13(i)*bxv2 -my13(i)*vdef(i,2)
103 vhg(i,3)= rhi(2)-mx13(i)*vdef(i,6)-my13(i)*byr2
104 vhg(i,4)=-rhi(1)-mx13(i)*bxr1 -my13(i)*vdef(i,7)
105 vhg(i,5)=(vhi(i,3)*4.-(my13(i)*rsom(1)-my23(i)*(r13(1)+r24(1))
106 1 +mx23(i)*(r13(2)+r24(2))-mx13(i)*rsom(2))*area(i))*four
107 vhg(i,6)=(vhi(i,3)*4.-(my13(i)*rsom(1)-my34(i)*(r13(1)-r24(1))
108 1 +mx34(i)*(r13(2)-r24(2))-mx13(i)*rsom(2))*area(i))*four
109C
110 vhg(i,1)=vhg(i,1)+( y24(i)*v13(i,3)-y13(i)*v24(i,3))*z1(i)
111 vhg(i,2)=vhg(i,2)+(-x24(i)*v13(i,3)+x13(i)*v24(i,3))*z1(i)
112 ENDDO
113 ELSE
114 DO i=jft,jlt
115 r13(1) =(rlxyz(i,1,1)-rlxyz(i,1,3))*aa(i)
116 r24(1) =(rlxyz(i,1,2)-rlxyz(i,1,4))*aa(i)
117 rsom(1)=(rlxyz(i,1,4)+rlxyz(i,1,3)+rlxyz(i,1,1)+rlxyz(i,1,2))
118 . *aa(i)
119 rhi(1) =(rlxyz(i,1,1)-rlxyz(i,1,2)+rlxyz(i,1,3)-rlxyz(i,1,4))
120 . *fourth
121 r13(2) =(rlxyz(i,2,1)-rlxyz(i,2,3))*aa(i)
122 r24(2) =(rlxyz(i,2,2)-rlxyz(i,2,4))*aa(i)
123 rsom(2)=(rlxyz(i,2,4)+rlxyz(i,2,3)+rlxyz(i,2,1)+rlxyz(i,2,2))
124 . *aa(i)
125 rhi(2) =(rlxyz(i,2,1)-rlxyz(i,2,2)+rlxyz(i,2,3)-rlxyz(i,2,4))
126 . *fourth
127C---------------
128C MEMBRANE
129C---------------
130 vdef(i,1)= y24(i)*v13(i,1)-y13(i)*v24(i,1)
131 vdef(i,2)=-x24(i)*v13(i,2)+x13(i)*v24(i,2)
132 bxv2= y24(i)*v13(i,2)-y13(i)*v24(i,2)
133 byv1=-x24(i)*v13(i,1)+x13(i)*v24(i,1)
134 vdef(i,3)=bxv2+byv1
135C---------
136C FLEXION
137C---------
138 vdef(i,6)=y24(i)*r13(2)-y13(i)*r24(2)
139 vdef(i,7)=x24(i)*r13(1)-x13(i)*r24(1)
140 bxr1= y13(i)*r24(1)-y24(i)*r13(1)
141 byr2=-x24(i)*r13(2)+x13(i)*r24(2)
142 vdef(i,8)=bxr1+byr2
143C--------
144C C.T
145C--------
146 bcxy=area(i)*fourth
147 bcx=v13(i,3)-my13(i)*r13(1)+mx13(i)*r13(2)
148 bcy=v24(i,3)+my13(i)*r24(1)-mx13(i)*r24(2)
149 vdef(i,4)=y24(i)*bcx-y13(i)*bcy+bcxy*rsom(2)
150 vdef(i,5)=x13(i)*bcy-x24(i)*bcx-bcxy*rsom(1)
151C----------------------------------
152C VITESSE DE DEFORMATION HOURGLASS
153C----------------------------------
154 vhg(i,1)=vhi(i,1)-mx13(i)*vdef(i,1)-my13(i)*byv1
155 vhg(i,2)=vhi(i,2)-mx13(i)*bxv2 -my13(i)*vdef(i,2)
156 vhg(i,3)= rhi(2)-mx13(i)*vdef(i,6)-my13(i)*byr2
157 vhg(i,4)=-rhi(1)-mx13(i)*bxr1 -my13(i)*vdef(i,7)
158 vhg(i,5)=(vhi(i,3)*4.-(my13(i)*rsom(1)-my23(i)*(r13(1)+r24(1))
159 1 +mx23(i)*(r13(2)+r24(2))-mx13(i)*rsom(2))*area(i))*four
160 vhg(i,6)=(vhi(i,3)*4.-(my13(i)*rsom(1)-my34(i)*(r13(1)-r24(1))
161 1 +mx34(i)*(r13(2)-r24(2))-mx13(i)*rsom(2))*area(i))*four
162C
163 vhg(i,1)=vhg(i,1)+( y24(i)*v13(i,3)-y13(i)*v24(i,3))*z1(i)
164 vhg(i,2)=vhg(i,2)+(-x24(i)*v13(i,3)+x13(i)*v24(i,3))*z1(i)
165 ENDDO
166 ENDIF
167 DO i=jft,jlt
168 deta1=z1(i)*four*aa(i)
169 vdef(i,6)=vdef(i,6)+(x13(i)*v13(i,1)-x24(i)*v24(i,1))*deta1
170 vdef(i,7)=vdef(i,7)+(y13(i)*v13(i,2)-y24(i)*v24(i,2))*deta1
171 vdef(i,8)=vdef(i,8)+(x13(i)*v13(i,2)-x24(i)*v24(i,2)+
172 1 y13(i)*v13(i,1)-y24(i)*v24(i,1))*deta1
173 ENDDO
174 off_l = zero
175 DO i=jft,jlt
176 off(i) = min(one,abs(offg(i)))
177 off_l = min(off_l,offg(i))
178 ENDDO
179 IF(off_l<zero)THEN
180 DO i=jft,jlt
181 IF(offg(i)<zero)THEN
182 vdef(i,1)=zero
183 vdef(i,2)=zero
184 vdef(i,3)=zero
185 vdef(i,4)=zero
186 vdef(i,5)=zero
187 vdef(i,6)=zero
188 vdef(i,7)=zero
189 vdef(i,8)=zero
190C
191 vhg(i,1)=zero
192 vhg(i,2)=zero
193 vhg(i,3)=zero
194 vhg(i,4)=zero
195 vhg(i,5)=zero
196 vhg(i,6)=zero
197 ENDIF
198 ENDDO
199 ENDIF
200C
201 RETURN
202 END
203!||====================================================================
204!|| czdefrz ../engine/source/elements/shell/coquez/czdef.F
205!||--- called by ------------------------------------------------------
206!|| czforc3 ../engine/source/elements/shell/coquez/czforc3.f
207!|| czforc3_crk ../engine/source/elements/xfem/czforc3_crk.F
208!||--- calls -----------------------------------------------------
209!|| czderirz ../engine/source/elements/shell/coquez/czdef.F
210!||====================================================================
211 SUBROUTINE czdefrz(JFT ,JLT ,AREA ,AA ,RLZ ,
212 1 VDEF ,VHGZK,VHGZE,X13 ,X24 ,
213 2 Y13 ,Y24 ,MX13 ,MX23,MX34 ,
214 3 MY13 ,MY23 ,MY34 ,Z1 ,VHG ,
215 4 BM0RZ,BMKRZ,BMERZ,V13 ,V24 ,
216 5 VRLZ )
217C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
218#include "implicit_f.inc"
219#include "mvsiz_p.inc"
220C-----------------------------------------------
221C D U M M Y A R G U M E N T S
222C-----------------------------------------------
223 INTEGER JFT,JLT
224 my_real
225 . RLZ(MVSIZ,4),V13(MVSIZ,3),V24(MVSIZ,3),
226 . X13(*),X24(*),Y13(*),Y24(*),Z1(*),VHG(MVSIZ,6),
227 . MX13(*),MX23(*),MX34(*),MY13(*),MY23(*),MY34(*)
228 my_real
229 . AREA(*),VDEF(MVSIZ,8),AA(*),VHGZK(MVSIZ,5),VHGZE(MVSIZ,5),VRLZ(*),
230 . BM0RZ(MVSIZ,4,4),BMKRZ(MVSIZ,4,4),BMERZ(MVSIZ,4,4)
231C-----------------------------------------------
232C L O C A L V A R I A B L E S
233C-----------------------------------------------
234 INTEGER I,J
235 my_real
236 . AA4,BXV2,BYV1,A05,BXRZ,BYRZ,DHX,DHY,C3,HXX,HYY,HXX_K,HYY_K
237C-----------------------------------------------
238 CALL czderirz(jft ,jlt ,area ,x13 ,x24 ,
239 2 y13 ,y24 ,mx13 ,mx23,mx34 ,
240 3 my13 ,my23 ,my34 ,bm0rz,bmkrz,
241 4 bmerz )
242C
243 DO i=jft,jlt
244C---------------
245C MEMBRANE CONSTANT
246C---------------
247 vdef(i,1)=vdef(i,1)+bm0rz(i,1,1)*rlz(i,1)+bm0rz(i,1,2)*rlz(i,2)
248 1 +bm0rz(i,1,3)*rlz(i,3)+bm0rz(i,1,4)*rlz(i,4)
249 vdef(i,2)=vdef(i,2)+bm0rz(i,2,1)*rlz(i,1)+bm0rz(i,2,2)*rlz(i,2)
250 1 +bm0rz(i,2,3)*rlz(i,3)+bm0rz(i,2,4)*rlz(i,4)
251 vdef(i,3)=vdef(i,3)+bm0rz(i,3,1)*rlz(i,1)+bm0rz(i,3,2)*rlz(i,2)
252 1 +bm0rz(i,3,3)*rlz(i,3)+bm0rz(i,3,4)*rlz(i,4)
253 ENDDO
254C--------NxI,x *A------pay attention Bi*A--- RLZ: VRZ/A--
255 DO i=jft,jlt
256 bxv2= y24(i)*v13(i,2)-y13(i)*v24(i,2)
257 byv1=-x24(i)*v13(i,1)+x13(i)*v24(i,1)
258 vrlz(i)=(bxv2-byv1+
259 1 bm0rz(i,4,1)*rlz(i,1)+bm0rz(i,4,2)*rlz(i,2)
260 1 +bm0rz(i,4,3)*rlz(i,3)+bm0rz(i,4,4)*rlz(i,4))*half
261 ENDDO
262C---------------
263C Hourglass : 3: 4:
264C---------------
265 DO i=jft,jlt
266 DO j=1,4
267 vhgzk(i,j)=bmkrz(i,j,1)*rlz(i,1)+bmkrz(i,j,2)*rlz(i,2)
268 1 +bmkrz(i,j,3)*rlz(i,3)+bmkrz(i,j,4)*rlz(i,4)
269 vhgze(i,j)=bmerz(i,j,1)*rlz(i,1)+bmerz(i,j,2)*rlz(i,2)
270 1 +bmerz(i,j,3)*rlz(i,3)+bmerz(i,j,4)*rlz(i,4)
271 ENDDO
272 ENDDO
273C-------VHGZK(5,I) takeing into skew(D)--------
274 DO i=jft,jlt
275C DHX =VHG(I,1)-( Y24(I)*V13(I,3)-Y13(I)*V24(I,3))*Z1(I)
276C DHY =VHG(I,2)-(-X24(I)*V13(I,3)+X13(I)*V24(I,3))*Z1(I)
277 dhx =vhg(i,1)
278 dhy =vhg(i,2)
279 c3=four*aa(i)
280 hxx=c3*my34(i)
281 hyy=c3*mx34(i)
282 hxx_k=c3*my23(i)
283 hyy_k=c3*mx23(i)
284 vhgze(i,5)=vhgze(i,4)+hyy*dhx+hxx*dhy
285 vhgzk(i,5)=vhgzk(i,4)-hyy_k*dhx-hxx_k*dhy
286 ENDDO
287C
288 RETURN
289 END
290!||====================================================================
291!|| czderirz ../engine/source/elements/shell/coquez/czdef.F
292!||--- called by ------------------------------------------------------
293!|| czber3 ../engine/source/elements/shell/coquez/czbe3.F
294!|| czdefrz ../engine/source/elements/shell/coquez/czdef.F
295!||--- calls -----------------------------------------------------
296!|| cbpatch ../engine/source/elements/shell/coqueba/cbadef.F
297!||====================================================================
298 SUBROUTINE czderirz(JFT ,JLT ,AREA ,X13 ,X24 ,
299 2 Y13 ,Y24 ,MX13 ,MX23,MX34 ,
300 3 MY13 ,MY23 ,MY34 ,BM0RZ,BMKRZ,
301 4 BMERZ )
302C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
303#include "implicit_f.inc"
304#include "mvsiz_p.inc"
305C-----------------------------------------------
306C D U M M Y A R G U M E N T S
307C-----------------------------------------------
308 INTEGER JFT,JLT
309 my_real
310 . x13(*),x24(*),y13(*),y24(*),
311 . mx13(*),mx23(*),mx34(*),my13(*),my23(*),my34(*)
312 my_real
313 . area(*),
314 . bm0rz(mvsiz,4,4),bmkrz(mvsiz,4,4),bmerz(mvsiz,4,4)
315C-----------------------------------------------
316C L O C A L V A R I A B L E S
317C-----------------------------------------------
318 INTEGER I,J
319 my_real
320 . aa4,bxv2,byv1,a05,nxy,nyx,a05k(4),a05e(4),
321 . xij(mvsiz,4),yij(mvsiz,4),xil(mvsiz,4),yil(mvsiz,4)
322C--------(14,23,32,41)/4---------------------------------------
323 DO i=jft,jlt
324 xij(i,1) = half*(mx13(i)-mx34(i))
325 xij(i,2) = half*(x13(i)+mx23(i)-mx13(i))
326 xij(i,3) = -xij(i,2)
327 xij(i,4) = -xij(i,1)
328 yij(i,1) = half*(my13(i)-my34(i))
329 yij(i,2) = half*(y13(i)+my23(i)-my13(i))
330 yij(i,3) = -yij(i,2)
331 yij(i,4) = -yij(i,1)
332C--------(12,21,34,43)/4---------------------------------------
333 xil(i,1) = half*(mx13(i)-mx23(i))
334 xil(i,2) = -xil(i,1)
335 xil(i,3) = half*(mx13(i)-mx34(i)-x13(i))
336 xil(i,4) = -xil(i,3)
337 yil(i,1) = half*(my13(i)-my23(i))
338 yil(i,2) = -yil(i,1)
339 yil(i,3) = half*(my13(i)-my34(i)-y13(i))
340 yil(i,4) = -yil(i,3)
341 ENDDO
342C
343 DO i=jft,jlt
344C--------NxI,x *A------pay attention Bi*A--- RLZ: VRZ/A--
345C-------- MY34YIJ KSI - MY23YIL ETA
346 bm0rz(i,1,1) = (-my34(i)*yij(i,1)+my23(i)*yil(i,1))
347 bm0rz(i,1,2) = ( my34(i)*yij(i,2)+my23(i)*yil(i,2))
348 bm0rz(i,1,3) = ( my34(i)*yij(i,3)-my23(i)*yil(i,3))
349 bm0rz(i,1,4) = (-my34(i)*yij(i,4)-my23(i)*yil(i,4))
350C-------- MY13YIJ KSI - 2MY34YIL
351 bmkrz(i,1,1) = (-my13(i)*yij(i,1)-two*my34(i)*yil(i,1))
352 bmkrz(i,1,2) = ( my13(i)*yij(i,2)-two*my34(i)*yil(i,2))
353 bmkrz(i,1,3) = ( my13(i)*yij(i,3)-two*my34(i)*yil(i,3))
354 bmkrz(i,1,4) = (-my13(i)*yij(i,4)-two*my34(i)*yil(i,4))
355C-------- -MY13YIL ETA + 2MY23YIJ
356 bmerz(i,1,1) = ( my13(i)*yil(i,1)+two*my23(i)*yij(i,1))
357 bmerz(i,1,2) = ( my13(i)*yil(i,2)+two*my23(i)*yij(i,2))
358 bmerz(i,1,3) = (-my13(i)*yil(i,3)+two*my23(i)*yij(i,3))
359 bmerz(i,1,4) = (-my13(i)*yil(i,4)+two*my23(i)*yij(i,4))
360C -------NyI,y *A-------------
361C-------- MX34XIJ KSI - MX23XIL ETA
362 bm0rz(i,2,1) = (-mx34(i)*xij(i,1)+mx23(i)*xil(i,1))
363 bm0rz(i,2,2) = ( mx34(i)*xij(i,2)+mx23(i)*xil(i,2))
364 bm0rz(i,2,3) = ( mx34(i)*xij(i,3)-mx23(i)*xil(i,3))
365 bm0rz(i,2,4) = (-mx34(i)*xij(i,4)-mx23(i)*xil(i,4))
366C-------- MX13XIJ KSI - 2MX34XIL
367 bmkrz(i,2,1) = (-mx13(i)*xij(i,1)-two*mx34(i)*xil(i,1))
368 bmkrz(i,2,2) = ( mx13(i)*xij(i,2)-two*mx34(i)*xil(i,2))
369 bmkrz(i,2,3) = ( mx13(i)*xij(i,3)-two*mx34(i)*xil(i,3))
370 bmkrz(i,2,4) = (-mx13(i)*xij(i,4)-two*mx34(i)*xil(i,4))
371C-------- -MX13XIL ETA + 2MX23XIJ
372 bmerz(i,2,1) = ( mx13(i)*xil(i,1)+two*mx23(i)*xij(i,1))
373 bmerz(i,2,2) = ( mx13(i)*xil(i,2)+two*mx23(i)*xij(i,2))
374 bmerz(i,2,3) = (-mx13(i)*xil(i,3)+two*mx23(i)*xij(i,3))
375 bmerz(i,2,4) = (-mx13(i)*xil(i,4)+two*mx23(i)*xij(i,4))
376C--------NxI,y *A
377C-------- -MX34YIJ KSI + MX23YIL ETA
378 bm0rz(i,3,1) = ( mx34(i)*yij(i,1)-mx23(i)*yil(i,1))
379 bm0rz(i,3,2) = (-mx34(i)*yij(i,2)-mx23(i)*yil(i,2))
380 bm0rz(i,3,3) = (-mx34(i)*yij(i,3)+mx23(i)*yil(i,3))
381 bm0rz(i,3,4) = ( mx34(i)*yij(i,4)+mx23(i)*yil(i,4))
382C-------- -MX13YIJ KSI + 2MX34YIL
383 bmkrz(i,3,1) = ( mx13(i)*yij(i,1)+two*mx34(i)*yil(i,1))
384 bmkrz(i,3,2) = (-mx13(i)*yij(i,2)+two*mx34(i)*yil(i,2))
385 bmkrz(i,3,3) = (-mx13(i)*yij(i,3)+two*mx34(i)*yil(i,3))
386 bmkrz(i,3,4) = ( mx13(i)*yij(i,4)+two*mx34(i)*yil(i,4))
387C-------- MX13YIL ETA - 2MX23YIJ
388 bmerz(i,3,1) = (-mx13(i)*yil(i,1)-two*mx23(i)*yij(i,1))
389 bmerz(i,3,2) = (-mx13(i)*yil(i,2)-two*mx23(i)*yij(i,2))
390 bmerz(i,3,3) = ( mx13(i)*yil(i,3)-two*mx23(i)*yij(i,3))
391 bmerz(i,3,4) = ( mx13(i)*yil(i,4)-two*mx23(i)*yij(i,4))
392C--------NyI,x *A
393C-------- -MY34XIJ KSI + MY23XIJ ETA
394 bm0rz(i,4,1) = ( my34(i)*xij(i,1)-my23(i)*xil(i,1))
395 bm0rz(i,4,2) = (-my34(i)*xij(i,2)-my23(i)*xil(i,2))
396 bm0rz(i,4,3) = (-my34(i)*xij(i,3)+my23(i)*xil(i,3))
397 bm0rz(i,4,4) = ( my34(i)*xij(i,4)+my23(i)*xil(i,4))
398C-------- -MY13XIJ KSI + 2MY34XIL
399 bmkrz(i,4,1) = ( my13(i)*xij(i,1)+two*my34(i)*xil(i,1))
400 bmkrz(i,4,2) = (-my13(i)*xij(i,2)+two*my34(i)*xil(i,2))
401 bmkrz(i,4,3) = (-my13(i)*xij(i,3)+two*my34(i)*xil(i,3))
402 bmkrz(i,4,4) = ( my13(i)*xij(i,4)+two*my34(i)*xil(i,4))
403C-------- MY13XIL ETA - 2MY23XIJ
404 bmerz(i,4,1) = (-my13(i)*xil(i,1)-two*my23(i)*xij(i,1))
405 bmerz(i,4,2) = (-my13(i)*xil(i,2)-two*my23(i)*xij(i,2))
406 bmerz(i,4,3) = ( my13(i)*xil(i,3)-two*my23(i)*xij(i,3))
407 bmerz(i,4,4) = ( my13(i)*xil(i,4)-two*my23(i)*xij(i,4))
408 ENDDO
409C--------correction to pass the patch test
410 CALL cbpatch(jft ,jlt ,bm0rz,bmkrz,bmerz ,area ,
411 + mx13 ,mx23,mx34 ,my13 ,my23 ,my34)
412C
413 DO i=jft,jlt
414C--------BM0RZ(I,3,1)->(NxI,y+NyI,x) *A-;BM0RZ(I,4,1)->(-NxI,y+NyI,x -2NI) *A-----
415 a05= half*area(i)
416 a05k(1)= -a05
417 a05k(2)= a05
418 a05k(3)= a05
419 a05k(4)= -a05
420 a05e(1)= -a05
421 a05e(2)= -a05
422 a05e(3)= a05
423 a05e(4)= a05
424 DO j=1,4
425 nxy=bm0rz(i,3,j)
426 nyx=bm0rz(i,4,j)
427 bm0rz(i,3,j)=nxy+nyx
428 bm0rz(i,4,j)=-nxy+nyx-a05
429 nxy=bmkrz(i,3,j)
430 nyx=bmkrz(i,4,j)
431 bmkrz(i,3,j)=nxy+nyx
432 bmkrz(i,4,j)=-nxy+nyx-a05k(j)
433 nxy=bmerz(i,3,j)
434 nyx=bmerz(i,4,j)
435 bmerz(i,3,j)=nxy+nyx
436 bmerz(i,4,j)=-nxy+nyx-a05e(j)
437 ENDDO
438 ENDDO
439C
440 RETURN
441 END
442!||====================================================================
443!|| czdeft ../engine/source/elements/shell/coquez/czdef.F
444!||--- called by ------------------------------------------------------
445!|| czforc3 ../engine/source/elements/shell/coquez/czforc3.F
446!||====================================================================
447 SUBROUTINE czdeft(JFT ,JLT ,V13 ,V24 ,RLXYZ,
448 2 VDEF ,X13 ,X24 ,Y13 ,Y24 ,
449 3 Z1 ,AA )
450C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
451#include "implicit_f.inc"
452C-----------------------------------------------
453C G l o b a l P a r a m e t e r s
454C-----------------------------------------------
455#include "mvsiz_p.inc"
456C-----------------------------------------------
457C D U M M Y A R G U M E N T S
458C-----------------------------------------------
459 INTEGER JFT,JLT
460 my_real
461 . rlxyz(mvsiz,4),v13(mvsiz,2),v24(mvsiz,2),
462 . x13(*),x24(*),y13(*),y24(*),aa(*)
463 my_real
464 . z1(*),vdef(mvsiz,8)
465C-----------------------------------------------
466C L O C A L V A R I A B L E S
467C-----------------------------------------------
468 INTEGER I,J
469 my_real
470 . BCX,BCY,BCXY,R13(2),R24(2),DETA1,
471 . BXV2,BYV1,BXR1,BYR2
472C-----------------------------------------------
473 DO i=jft,jlt
474C---------------
475C MEMBRANE
476C---------------
477 vdef(i,1)= y24(i)*v13(i,1)-y13(i)*v24(i,1)
478 vdef(i,2)=-x24(i)*v13(i,2)+x13(i)*v24(i,2)
479 vdef(i,4)= y24(i)*v13(i,2)-y13(i)*v24(i,2)
480 vdef(i,3)=-x24(i)*v13(i,1)+x13(i)*v24(i,1)
481 ENDDO
482 RETURN
483 END
484!||====================================================================
485!|| czdefrzt ../engine/source/elements/shell/coquez/czdef.F
486!||--- called by ------------------------------------------------------
487!|| czforc3 ../engine/source/elements/shell/coquez/czforc3.F
488!||--- calls -----------------------------------------------------
489!|| czderirzt ../engine/source/elements/shell/coquez/czdef.F
490!||====================================================================
491 SUBROUTINE czdefrzt(JFT ,JLT ,AREA ,AA ,RLXYZ ,
492 1 VDEF ,X13 ,X24 ,Y13 ,Y24 ,
493 2 MX13 ,MX23,MX34 ,MY13 ,MY23 ,
494 3 MY34 ,Z1 )
495C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
496#include "implicit_f.inc"
497#include "mvsiz_p.inc"
498C-----------------------------------------------
499C D U M M Y A R G U M E N T S
500C-----------------------------------------------
501 INTEGER JFT,JLT
502 my_real
503 . RLXYZ(MVSIZ,4),
504 . X13(*),X24(*),Y13(*),Y24(*),Z1(*),
505 . MX13(*),MX23(*),MX34(*),MY13(*),MY23(*),MY34(*)
506 my_real
507 . AREA(*),VDEF(MVSIZ,8),AA(*)
508C-----------------------------------------------
509C L O C A L V A R I A B L E S
510C-----------------------------------------------
511 INTEGER I,J
512 my_real
513 . AA4,BXV2,BYV1,A05,BXRZ,BYRZ,DHX,DHY,C3,HXX,HYY,HXX_K,HYY_K,
514 . BM0RZ(MVSIZ,4,4)
515C-----------------------------------------------
516 CALL CZDERIRZT(JFT ,JLT ,AREA ,X13 ,X24 ,
517 2 Y13 ,Y24 ,MX13 ,MX23,MX34 ,
518 3 my13 ,my23 ,my34 ,bm0rz)
519C
520 DO i=jft,jlt
521 vdef(i,1)=vdef(i,1) + aa(i)*
522 1 (bm0rz(i,1,1)*rlxyz(i,1)+bm0rz(i,1,2)*rlxyz(i,2)
523 2 +bm0rz(i,1,3)*rlxyz(i,3)+bm0rz(i,1,4)*rlxyz(i,4))
524 vdef(i,2)=vdef(i,2) + aa(i)*
525 1 (bm0rz(i,2,1)*rlxyz(i,1)+bm0rz(i,2,2)*rlxyz(i,2)
526 2 +bm0rz(i,2,3)*rlxyz(i,3)+bm0rz(i,2,4)*rlxyz(i,4))
527 vdef(i,3)=vdef(i,3) + aa(i)*
528 1 (bm0rz(i,3,1)*rlxyz(i,1)+bm0rz(i,3,2)*rlxyz(i,2)
529 2 +bm0rz(i,3,3)*rlxyz(i,3)+bm0rz(i,3,4)*rlxyz(i,4))
530 vdef(i,4)=vdef(i,4) + aa(i)*
531 1 (bm0rz(i,4,1)*rlxyz(i,1)+bm0rz(i,4,2)*rlxyz(i,2)
532 2 +bm0rz(i,4,3)*rlxyz(i,3)+bm0rz(i,4,4)*rlxyz(i,4))
533 ENDDO
534C
535 RETURN
536 END
537!||====================================================================
538!|| czderirzt ../engine/source/elements/shell/coquez/czdef.F
539!||--- called by ------------------------------------------------------
540!|| czdefrzt ../engine/source/elements/shell/coquez/czdef.F
541!||--- calls -----------------------------------------------------
542!|| cbpatch ../engine/source/elements/shell/coqueba/cbadef.F
543!||====================================================================
544 SUBROUTINE czderirzt(JFT ,JLT ,AREA ,X13 ,X24 ,
545 2 Y13 ,Y24 ,MX13 ,MX23,MX34 ,
546 3 MY13 ,MY23 ,MY34 ,BM0RZ)
547C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
548#include "implicit_f.inc"
549#include "mvsiz_p.inc"
550C-----------------------------------------------
551C D U M M Y A R G U M E N T S
552C-----------------------------------------------
553 INTEGER JFT,JLT
554 my_real
555 . x13(*),x24(*),y13(*),y24(*),
556 . mx13(*),mx23(*),mx34(*),my13(*),my23(*),my34(*)
557 my_real
558 . area(*),
559 . bm0rz(mvsiz,4,4)
560C-----------------------------------------------
561C L O C A L V A R I A B L E S
562C-----------------------------------------------
563 INTEGER I,J
564 my_real
565 . AA4,BXV2,BYV1,A05,NXY,NYX,A05K(4),A05E(4),
566 . XIJ(MVSIZ,4),YIJ(MVSIZ,4),XIL(MVSIZ,4),YIL(MVSIZ,4),
567 . BMKRZ(MVSIZ,4,4),BMERZ(MVSIZ,4,4)
568C--------(14,23,32,41)/4---------------------------------------
569 DO I=jft,jlt
570 xij(i,1) = half*(mx13(i)-mx34(i))
571 xij(i,2) = half*(x13(i)+mx23(i)-mx13(i))
572 xij(i,3) = -xij(i,2)
573 xij(i,4) = -xij(i,1)
574 yij(i,1) = half*(my13(i)-my34(i))
575 yij(i,2) = half*(y13(i)+my23(i)-my13(i))
576 yij(i,3) = -yij(i,2)
577 yij(i,4) = -yij(i,1)
578C--------(12,21,34,43)/4---------------------------------------
579 xil(i,1) = half*(mx13(i)-mx23(i))
580 xil(i,2) = -xil(i,1)
581 xil(i,3) = half*(mx13(i)-mx34(i)-x13(i))
582 xil(i,4) = -xil(i,3)
583 yil(i,1) = half*(my13(i)-my23(i))
584 yil(i,2) = -yil(i,1)
585 yil(i,3) = half*(my13(i)-my34(i)-y13(i))
586 yil(i,4) = -yil(i,3)
587 ENDDO
588C
589 DO i=jft,jlt
590C--------NxI,x *A------pay attention Bi*A--- RLZ: VRZ/A--
591C-------- MY34YIJ KSI - MY23YIL ETA
592 bm0rz(i,1,1) = (-my34(i)*yij(i,1)+my23(i)*yil(i,1))
593 bm0rz(i,1,2) = ( my34(i)*yij(i,2)+my23(i)*yil(i,2))
594 bm0rz(i,1,3) = ( my34(i)*yij(i,3)-my23(i)*yil(i,3))
595 bm0rz(i,1,4) = (-my34(i)*yij(i,4)-my23(i)*yil(i,4))
596C-------- MY13YIJ KSI - 2MY34YIL
597 bmkrz(i,1,1) = (-my13(i)*yij(i,1)-two*my34(i)*yil(i,1))
598 bmkrz(i,1,2) = ( my13(i)*yij(i,2)-two*my34(i)*yil(i,2))
599 bmkrz(i,1,3) = ( my13(i)*yij(i,3)-two*my34(i)*yil(i,3))
600 bmkrz(i,1,4) = (-my13(i)*yij(i,4)-two*my34(i)*yil(i,4))
601C-------- -MY13YIL ETA + 2MY23YIJ
602 bmerz(i,1,1) = ( my13(i)*yil(i,1)+two*my23(i)*yij(i,1))
603 bmerz(i,1,2) = ( my13(i)*yil(i,2)+two*my23(i)*yij(i,2))
604 bmerz(i,1,3) = (-my13(i)*yil(i,3)+two*my23(i)*yij(i,3))
605 bmerz(i,1,4) = (-my13(i)*yil(i,4)+two*my23(i)*yij(i,4))
606C -------NyI,y *A-------------
607C-------- MX34XIJ KSI - MX23XIL ETA
608 bm0rz(i,2,1) = (-mx34(i)*xij(i,1)+mx23(i)*xil(i,1))
609 bm0rz(i,2,2) = ( mx34(i)*xij(i,2)+mx23(i)*xil(i,2))
610 bm0rz(i,2,3) = ( mx34(i)*xij(i,3)-mx23(i)*xil(i,3))
611 bm0rz(i,2,4) = (-mx34(i)*xij(i,4)-mx23(i)*xil(i,4))
612C-------- MX13XIJ KSI - 2MX34XIL
613 bmkrz(i,2,1) = (-mx13(i)*xij(i,1)-two*mx34(i)*xil(i,1))
614 bmkrz(i,2,2) = ( mx13(i)*xij(i,2)-two*mx34(i)*xil(i,2))
615 bmkrz(i,2,3) = ( mx13(i)*xij(i,3)-two*mx34(i)*xil(i,3))
616 bmkrz(i,2,4) = (-mx13(i)*xij(i,4)-two*mx34(i)*xil(i,4))
617C-------- -MX13XIL ETA + 2MX23XIJ
618 bmerz(i,2,1) = ( mx13(i)*xil(i,1)+two*mx23(i)*xij(i,1))
619 bmerz(i,2,2) = ( mx13(i)*xil(i,2)+two*mx23(i)*xij(i,2))
620 bmerz(i,2,3) = (-mx13(i)*xil(i,3)+two*mx23(i)*xij(i,3))
621 bmerz(i,2,4) = (-mx13(i)*xil(i,4)+two*mx23(i)*xij(i,4))
622C--------NxI,y *A
623C-------- -MX34YIJ KSI + MX23YIL ETA
624 bm0rz(i,3,1) = ( mx34(i)*yij(i,1)-mx23(i)*yil(i,1))
625 bm0rz(i,3,2) = (-mx34(i)*yij(i,2)-mx23(i)*yil(i,2))
626 bm0rz(i,3,3) = (-mx34(i)*yij(i,3)+mx23(i)*yil(i,3))
627 bm0rz(i,3,4) = ( mx34(i)*yij(i,4)+mx23(i)*yil(i,4))
628C-------- -MX13YIJ KSI + 2MX34YIL
629 bmkrz(i,3,1) = ( mx13(i)*yij(i,1)+two*mx34(i)*yil(i,1))
630 bmkrz(i,3,2) = (-mx13(i)*yij(i,2)+two*mx34(i)*yil(i,2))
631 bmkrz(i,3,3) = (-mx13(i)*yij(i,3)+two*mx34(i)*yil(i,3))
632 bmkrz(i,3,4) = ( mx13(i)*yij(i,4)+two*mx34(i)*yil(i,4))
633C-------- MX13YIL ETA - 2MX23YIJ
634 bmerz(i,3,1) = (-mx13(i)*yil(i,1)-two*mx23(i)*yij(i,1))
635 bmerz(i,3,2) = (-mx13(i)*yil(i,2)-two*mx23(i)*yij(i,2))
636 bmerz(i,3,3) = ( mx13(i)*yil(i,3)-two*mx23(i)*yij(i,3))
637 bmerz(i,3,4) = ( mx13(i)*yil(i,4)-two*mx23(i)*yij(i,4))
638C--------NyI,x *A
639C-------- -MY34XIJ KSI + MY23XIJ ETA
640 bm0rz(i,4,1) = ( my34(i)*xij(i,1)-my23(i)*xil(i,1))
641 bm0rz(i,4,2) = (-my34(i)*xij(i,2)-my23(i)*xil(i,2))
642 bm0rz(i,4,3) = (-my34(i)*xij(i,3)+my23(i)*xil(i,3))
643 bm0rz(i,4,4) = ( my34(i)*xij(i,4)+my23(i)*xil(i,4))
644C-------- -MY13XIJ KSI + 2MY34XIL
645 bmkrz(i,4,1) = ( my13(i)*xij(i,1)+two*my34(i)*xil(i,1))
646 bmkrz(i,4,2) = (-my13(i)*xij(i,2)+two*my34(i)*xil(i,2))
647 bmkrz(i,4,3) = (-my13(i)*xij(i,3)+two*my34(i)*xil(i,3))
648 bmkrz(i,4,4) = ( my13(i)*xij(i,4)+two*my34(i)*xil(i,4))
649C-------- MY13XIL ETA - 2MY23XIJ
650 bmerz(i,4,1) = (-my13(i)*xil(i,1)-two*my23(i)*xij(i,1))
651 bmerz(i,4,2) = (-my13(i)*xil(i,2)-two*my23(i)*xij(i,2))
652 bmerz(i,4,3) = ( my13(i)*xil(i,3)-two*my23(i)*xij(i,3))
653 bmerz(i,4,4) = ( my13(i)*xil(i,4)-two*my23(i)*xij(i,4))
654 ENDDO
655C--------correction to pass the patch test
656 CALL cbpatch(jft ,jlt ,bm0rz,bmkrz,bmerz ,area ,
657 + mx13 ,mx23,mx34 ,my13 ,my23 ,my34)
658C
659C DO I=JFT,JLT
660C--------BM0RZ(I,3,1)->(NxI,y) *A-;BM0RZ(I,4,1)->(NyI,x) *A-----
661C ENDDO
662C
663 RETURN
664 END
665!||====================================================================
666!|| czdeftw ../engine/source/elements/shell/coquez/czdef.F
667!||--- called by ------------------------------------------------------
668!|| czforc3 ../engine/source/elements/shell/coquez/czforc3.F
669!||====================================================================
670 SUBROUTINE czdeftw(JFT ,JLT ,AA ,V13 ,V24 ,
671 2 RLXYZ,X13 ,X24 ,Y13 ,Y24 ,
672 3 Z1 ,WXY)
673C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
674#include "implicit_f.inc"
675C-----------------------------------------------
676C G l o b a l P a r a m e t e r s
677C-----------------------------------------------
678#include "mvsiz_p.inc"
679C-----------------------------------------------
680C D U M M Y A R G U M E N T S
681C-----------------------------------------------
682 INTEGER JFT,JLT
683 my_real
684 . rlxyz(mvsiz,2,4),v13(mvsiz,2),v24(mvsiz,2),
685 . x13(*),x24(*),y13(*),y24(*)
686 my_real
687 . z1(*),aa(*),wxy(*)
688C-----------------------------------------------
689C L O C A L V A R I A B L E S
690C-----------------------------------------------
691 INTEGER I,J
692 my_real
693 . BCX,BCY,BCXY,R13(2),R24(2),DETA1,
694 . BXV2,BYV1,BXR1,BYR2,KXY,KYX
695C-----------------------------------------------
696 DO I=jft,jlt
697 deta1=z1(i)*four*aa(i)
698 r13(1) =(rlxyz(i,1,1)-rlxyz(i,1,3))*aa(i)
699 r24(1) =(rlxyz(i,1,2)-rlxyz(i,1,4))*aa(i)
700 r13(2) =(rlxyz(i,2,1)-rlxyz(i,2,3))*aa(i)
701 r24(2) =(rlxyz(i,2,2)-rlxyz(i,2,4))*aa(i)
702C---------
703C FLEXION
704C---------
705 kyx = y13(i)*r24(1)-y24(i)*r13(1)
706 kxy =-x24(i)*r13(2)+x13(i)*r24(2)
707 kxy = kxy + (y13(i)*v13(i,1)-y24(i)*v24(i,1))*deta1
708 kyx = kyx + (x13(i)*v13(i,2)-x24(i)*v24(i,2))*deta1
709 wxy(i) = kxy - kyx
710 ENDDO
711C
712 RETURN
713 END
714
subroutine cbpatch(jft, jlt, bm0rz, bmkrz, bmerz, area, mx13, mx23, mx34, my13, my23, my34)
Definition cbadef.F:1112
#define my_real
Definition cppsort.cpp:32
subroutine czdef(jft, jlt, area, aa, v13, v24, vhi, rlxyz, vdef, vhg, x13, x24, y13, y24, mx13, mx23, mx34, my13, my23, my34, z1, dt1, off, offg, rlxyzv)
Definition czdef.F:34
subroutine czderirzt(jft, jlt, area, x13, x24, y13, y24, mx13, mx23, mx34, my13, my23, my34, bm0rz)
Definition czdef.F:547
subroutine czdeftw(jft, jlt, aa, v13, v24, rlxyz, x13, x24, y13, y24, z1, wxy)
Definition czdef.F:673
subroutine czdeft(jft, jlt, v13, v24, rlxyz, vdef, x13, x24, y13, y24, z1, aa)
Definition czdef.F:450
subroutine czderirz(jft, jlt, area, x13, x24, y13, y24, mx13, mx23, mx34, my13, my23, my34, bm0rz, bmkrz, bmerz)
Definition czdef.F:302
subroutine czdefrzt(jft, jlt, area, aa, rlxyz, vdef, x13, x24, y13, y24, mx13, mx23, mx34, my13, my23, my34, z1)
Definition czdef.F:495
subroutine czdefrz(jft, jlt, area, aa, rlz, vdef, vhgzk, vhgze, x13, x24, y13, y24, mx13, mx23, mx34, my13, my23, my34, z1, vhg, bm0rz, bmkrz, bmerz, v13, v24, vrlz)
Definition czdef.F:217
subroutine czforc3(timers, elbuf_str, jft, jlt, nft, npt, itab, mtn, ipri, ithk, neltst, istrain, ipla, dt1, dt2t, pm, geo, partsav, ixc, ityptst, bufmat, tf, npf, iadc, failwave, x, dr, v, vr, f, m, stifn, stifr, fsky, tani, indxof, ismstr, group_param, ipartc, thke, nvc, iofc, ihbe, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, kfts, fzero, igeo, ipm, ifailure, itask, jthe, temp, fthe, fthesky, iexpan, gresav, grth, igrth, xedge4n, msc, dmelc, jsms, table, iparg, mat_elem, ixfem, knod2elc, sensors, elcutc, inod_crk, iel_crk, nodenr, iadc_crk, nodedge, crknodiad, condn, condnsky, stack, isubstack, xfem_str, crkedge, drape_sh4n, nel, nloc_dmg, indx_drape, igre, jtur, dt, ncycle, snpc, stf, glob_therm, idel7nok, userl_avail, maxfunc, sbufmat)
Definition czforc3.F:115
subroutine area(d1, x, x2, y, y2, eint, stif0)
#define min(a, b)
Definition macros.h:20