OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
q4fintc2.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!|| q4fintc2 ../engine/source/elements/solid_2d/quad4/q4fintc2.F
25!||--- called by ------------------------------------------------------
26!|| q4forc2 ../engine/source/elements/solid_2d/quad4/q4forc2.F
27!||====================================================================
28 SUBROUTINE q4fintc2(
29 1 PYC1, PYC2, PZC1, PZC2,
30 2 AY, FAY, FY1, FZ1,
31 3 FY2, FZ2, FY3, FZ3,
32 4 FY4, FZ4, AIRE, VOLU,
33 5 SIGM, PP, ICP, NEL,
34 6 JHBE)
35C-----------------------------------------------
36C I m p l i c i t T y p e s
37C-----------------------------------------------
38#include "implicit_f.inc"
39C-----------------------------------------------
40C G l o b a l P a r a m e t e r s
41C-----------------------------------------------
42#include "mvsiz_p.inc"
43C-----------------------------------------------
44C C o m m o n B l o c k s
45C-----------------------------------------------
46#include "com01_c.inc"
47C-----------------------------------------------
48C D u m m y A r g u m e n t s
49C-----------------------------------------------
50 INTEGER, INTENT(IN) :: JHBE
51 INTEGER ICP,NEL
52C REAL
53 my_real
54 . PYC1(*),PYC2(*),PZC1(*),PZC2(*),AY(*),FAY(*),
55 . FY1(*),FZ1(*),FY2(*),FZ2(*),
56 . fy3(*),fz3(*),fy4(*),fz4(*),
57 . aire(*),volu(*),sigm(nel,6),pp(*)
58C-----------------------------------------------
59C FUNCTION:
60C ARGUMENTS: (I: input, O: output, IO: input & output, W: workspace)
61C TYPE NAME FUNCTION
62C I PYC1(*)~PZC2(*) - SHAPE DERIVATIVES AT ELEMENT CENTER
63C O FY1(*)~FZ4(*) - INTERNAL FORCE IN LOCAL STORAGE
64C I AIRE(*) - ELEMENT AREA
65C I VOLU(*) - VOLUME/THICKNESS OR VOLUME/(2*PI)
66C I SIGM(NEL,6) - ELEMENT AVERAGE STRESS COMPONENTS
67C I PP(*) - ELEMENT AVERAGE PRESSURE
68C I ICP - FLAG FOR CONSTANT PRESURE
69C-----------------------------------------------
70C L o c a l V a r i a b l e s
71C-----------------------------------------------
72 INTEGER I
73C REAL
74 my_real
75 . SV,SY,SZ,FAC(MVSIZ)
76C-----------------------------------------------
77C S o u r c e L i n e s
78C-----------------------------------------------
79 IF(n2d==1 .AND. jhbe==17) THEN
80 DO i=1,nel
81 fac(i) = aire(i)
82 ENDDO
83 ELSE
84 DO i=1,nel
85 fac(i) = volu(i)
86 ENDDO
87 ENDIF
88C
89C FOR CONSTANT SHEAR STRAIN
90 DO i=1,nel
91 sv = sigm(i,4)*fac(i)
92 sy = sv*pzc1(i)
93 sz = sv*pyc1(i)
94 fy1(i) = fy1(i) - sy
95 fz1(i) = fz1(i) - sz
96 fy3(i) = fy3(i) + sy
97 fz3(i) = fz3(i) + sz
98 sy = sv*pzc2(i)
99 sz = sv*pyc2(i)
100 fy2(i) = fy2(i) - sy
101 fz2(i) = fz2(i) - sz
102 fy4(i) = fy4(i) + sy
103 fz4(i) = fz4(i) + sz
104 ENDDO
105C
106C FOR CONSTANT PRESSURE CASE
107 IF(icp==1) THEN
108 DO i=1,nel
109 sv = pp(i)*fac(i)
110 sy = sv*pyc1(i)
111 sz = sv*pzc1(i)
112 fy1(i) = fy1(i) - sy
113 fz1(i) = fz1(i) - sz
114 fy3(i) = fy3(i) + sy
115 fz3(i) = fz3(i) + sz
116 sy = sv*pyc2(i)
117 sz = sv*pzc2(i)
118 fy2(i) = fy2(i) - sy
119 fz2(i) = fz2(i) - sz
120 fy4(i) = fy4(i) + sy
121 fz4(i) = fz4(i) + sz
122 ENDDO
123 ENDIF
124C
125 RETURN
126 END
127
subroutine q4fintc2(pyc1, pyc2, pzc1, pzc2, ay, fay, fy1, fz1, fy2, fz2, fy3, fz3, fy4, fz4, aire, volu, sigm, pp, icp, nel, jhbe)
Definition q4fintc2.F:35