OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
q4deric2.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!|| q4deric2 ../engine/source/elements/solid_2d/quad4/q4deric2.F
25!||--- called by ------------------------------------------------------
26!|| q4forc2 ../engine/source/elements/solid_2d/quad4/q4forc2.F
27!|| q4ke2 ../engine/source/elements/solid_2d/quad4/q4ke2.F
28!||====================================================================
29 SUBROUTINE q4deric2(
30 1 Y1, Y2, Y3, Y4,
31 2 Z1, Z2, Z3, Z4,
32 3 Y12, Y34, Y13, Y24,
33 4 Y14, Y23, Z12, Z34,
34 5 Z13, Z24, Z14, Z23,
35 6 PYC1, PYC2, PZC1, PZC2,
36 7 AIRE, VOLU, YAVG, RX,
37 8 RY, RZ, SX, SY,
38 9 SZ, NEL, JHBE)
39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C G l o b a l P a r a m e t e r s
45C-----------------------------------------------
46#include "mvsiz_p.inc"
47C-----------------------------------------------
48C C o m m o n B l o c k s
49C-----------------------------------------------
50#include "com01_c.inc"
51C-----------------------------------------------
52C D u m m y A r g u m e n t s
53C-----------------------------------------------
54 INTEGER, INTENT(IN) :: NEL
55 INTEGER, INTENT(IN) :: JHBE
56C REAL
57 my_real
58 . Y1(*),Y2(*),Y3(*),Y4(*),Z1(*),Z2(*),Z3(*),Z4(*),
59 . Y12(*),Y34(*),Y13(*),Y24(*),Y14(*),Y23(*),
60 . Z12(*),Z34(*),Z13(*),Z24(*),Z14(*),Z23(*),
61 . PYC1(*),PYC2(*),PZC1(*),PZC2(*),AIRE(*),VOLU(*),
62 . RX(MVSIZ) , RY(MVSIZ) , RZ(MVSIZ) ,
63 . sx(mvsiz) , sy(mvsiz) , sz(mvsiz) ,yavg(*)
64C-----------------------------------------------
65c FUNCTION:
66c ARGUMENTS: (I: input, O: output, IO: input & output, W: workspace)
67c TYPE NAME FUNCTION
68c I Y1(*)~Z4(*) - NODAL COORDINATES
69c O Y12(*)~Z23(*) - DIFFERENCE: Yi-Yj, Zi-Zj
70c O PYC1(*)~PZC2(*) - SHAPE DERIVATIVES AT ELEMENT CENTER
71c I AIRE(*) - ELEMENT AREA
72c I/O VOL(*) - ELEMENT VOL
73C-----------------------------------------------
74C L o c a l V a r i a b l e s
75C-----------------------------------------------
76 INTEGER I
77C REAL
78 my_real
79 . Y,Z,V0
80C-----------------------------------------------
81C S o u r c e L i n e s
82C-----------------------------------------------
83 DO I=1,nel
84 y12(i) = y1(i) - y2(i)
85 y34(i) = y3(i) - y4(i)
86 y13(i) = y1(i) - y3(i)
87 y24(i) = y2(i) - y4(i)
88 y14(i) = y1(i) - y4(i)
89 y23(i) = y2(i) - y3(i)
90 z12(i) = z1(i) - z2(i)
91 z34(i) = z3(i) - z4(i)
92 z13(i) = z1(i) - z3(i)
93 z24(i) = z2(i) - z4(i)
94 z14(i) = z1(i) - z4(i)
95 z23(i) = z2(i) - z3(i)
96 END DO
97C
98 DO i=1,nel
99C dNi/dY, dNi/dZ, A=4.*|J|
100 pyc1(i) = half*(z2(i)-z4(i))/aire(i)
101 pyc2(i) = half*(z3(i)-z1(i))/aire(i)
102 pzc1(i) = half*(y4(i)-y2(i))/aire(i)
103 pzc2(i) = half*(y1(i)-y3(i))/aire(i)
104 ENDDO
105C COMPUTE VOLUME/(2*PI) FOR AXISYMMETRIC CASE
106 IF(n2d==1.AND.jhbe==17) THEN
107 DO i=1,nel
108 volu(i) = fourth*yavg(i)*aire(i)
109 ENDDO
110 ENDIF
111 DO i=1,nel
112 rx(i) = one
113 ry(i) = zero
114 rz(i) = zero
115 sx(i) = zero
116 sy(i) =half*(y2(i)+y3(i)-y1(i)-y4(i))
117 sz(i) =half*(z2(i)+z3(i)-z1(i)-z4(i))
118 END DO
119C
120 RETURN
121 END
122
subroutine q4deric2(y1, y2, y3, y4, z1, z2, z3, z4, y12, y34, y13, y24, y14, y23, z12, z34, z13, z24, z14, z23, pyc1, pyc2, pzc1, pzc2, aire, volu, yavg, rx, ry, rz, sx, sy, sz, nel, jhbe)
Definition q4deric2.F:39