OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
cfint3.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!|| cfint3 ../engine/source/elements/shell/coque/cfint3.F
25!||--- called by ------------------------------------------------------
26!|| cforc3 ../engine/source/elements/shell/coque/cforc3.F
27!|| cforc3_crk ../engine/source/elements/xfem/cforc3_crk.F
28!||====================================================================
29 SUBROUTINE cfint3(JFT,JLT ,FOR ,MOM ,THK0 ,THK02 ,
30 2 PX1 ,PX2 ,PY1 ,PY2 ,AREA ,Z2 ,
31 3 F11 ,F12 ,F13 ,F14 ,F21 ,F22 ,
32 4 F23 ,F24 ,F31 ,F32 ,F33 ,F34 ,
33 5 H11 ,H12 ,H13 ,H21 ,H22 ,H23 ,
34 6 H31 ,H32 ,H33 ,B11 ,B12 ,B13 ,
35 7 B14 ,B21 ,B22 ,B23 ,B24 ,NEL ,
36 8 M11 ,M12 ,M13 ,M14 ,M21 ,M22 ,
37 9 M23 ,M24 ,M31 ,M32 ,M33 ,M34 ,
38 A E1X ,E1Y ,E1Z ,E2X ,E2Y ,E2Z ,
39 B E3X ,E3Y ,E3Z ,IHBE ,NPT ,FZERO )
40C-----------------------------------------------
41C I m p l i c i t T y p e s
42C-----------------------------------------------
43#include "implicit_f.inc"
44C-----------------------------------------------
45C G l o b a l P a r a m e t e r s
46C-----------------------------------------------
47#include "mvsiz_p.inc"
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 INTEGER JFT,JLT,NPT,IHBE,NEL
52C REAL
53 my_real
54 . FOR(NEL,5), MOM(NEL,3), THK0(*), THK02(*),
55 . AREA(*), PX1(*), PX2(*), PY1(*), PY2(*), Z2(*),
56 . F11(MVSIZ), F12(MVSIZ), F13(MVSIZ), F14(MVSIZ),
57 . F21(MVSIZ), F22(MVSIZ), F23(MVSIZ), F24(MVSIZ),
58 . F31(MVSIZ), F32(MVSIZ), F33(MVSIZ), F34(MVSIZ),
59 . B11(MVSIZ), B12(MVSIZ), B13(MVSIZ), B14(MVSIZ),
60 . B21(MVSIZ), B22(MVSIZ), B23(MVSIZ), B24(MVSIZ),
61 . h11(mvsiz), h12(mvsiz), h13(mvsiz), h14(mvsiz),
62 . h21(mvsiz), h22(mvsiz), h23(mvsiz), h24(mvsiz),
63 . h31(mvsiz), h32(mvsiz), h33(mvsiz), h34(mvsiz)
64 my_real
65 . m11(mvsiz), m12(mvsiz), m13(mvsiz), m14(mvsiz),
66 . m21(mvsiz), m22(mvsiz), m23(mvsiz), m24(mvsiz),
67 . m31(mvsiz), m32(mvsiz), m33(mvsiz), m34(mvsiz)
68 my_real
69 . e1x(mvsiz), e1y(mvsiz), e1z(mvsiz),
70 . e2x(mvsiz), e2y(mvsiz), e2z(mvsiz),
71 . e3x(mvsiz), e3y(mvsiz), e3z(mvsiz),fzero(3,4,*)
72C-----------------------------------------------
73C C o m m o n B l o c k s
74C-----------------------------------------------
75#include "com01_c.inc"
76#include "com08_c.inc"
77C-----------------------------------------------
78C L o c a l V a r i a b l e s
79C-----------------------------------------------
80 INTEGER I, J
81C REAL
82 my_real
83 . M4(MVSIZ), M5(MVSIZ), F1(MVSIZ), F2(MVSIZ), F3(MVSIZ),
84 . F4(MVSIZ), F5(MVSIZ), M1(MVSIZ), M2(MVSIZ), M3(MVSIZ),
85 . G11T(MVSIZ), G21T(MVSIZ), G12T(MVSIZ), G22T(MVSIZ),
86 . G13T(MVSIZ), G23T(MVSIZ), G14T(MVSIZ), G24T(MVSIZ),
87 . G31T(MVSIZ), G32T(MVSIZ), G33T(MVSIZ), G34T(MVSIZ),
88 . F1A,F2A,F3A,F4A,F5A, G11TA, G21TA, G12TA, G22TA,
89 . G13TA, G23TA, G14TA, G24TA, G31TA, G32TA, G33TA, G34TA,
90 . m1a,m2a,m3a,temp1,temp2,temp3
91C=======================================================================
92C POUR ISIGI = 5 OU -5
93C CHANGEMENT DE REPERE DE FZERO POUR TT=DT1
94C REPERE GLOBAL ---> REPERE LOCAL
95C-----------------------------------------------
96 IF(iabs(isigi)==5.AND.ncycle==1.AND.irun==1) THEN
97 DO i=jft,jlt
98 DO j=1,4
99 temp1=fzero(1,j,i)
100 temp2=fzero(2,j,i)
101 temp3=fzero(3,j,i)
102 fzero(1,j,i)=temp1*e1x(i)+temp2*e1y(i)+temp3*e1z(i)
103 fzero(2,j,i)=temp1*e2x(i)+temp2*e2y(i)+temp3*e2z(i)
104 fzero(3,j,i)=temp1*e3x(i)+temp2*e3y(i)+temp3*e3z(i)
105 ENDDO
106 ENDDO
107 ENDIF
108C-----------------------------------------------
109C POUR ISIGI = 5 OU -5
110C PRISE EN COMPTE DES FORCES D EQUILIBRAGE
111C DANS L EVALUATION DES EFFORTS INTERNES
112C-----------------------------------------------
113 IF((iabs(isigi)==5.AND.ncycle>=1.AND.irun==1).OR.
114 . (iabs(isigi)==5.AND.irun>1)) THEN
115 DO i=jft,jlt
116 f1a= for(i,1)*thk0(i)
117 f2a= for(i,2)*thk0(i)
118 f3a= for(i,3)*thk0(i)
119 f4a= for(i,4)*thk0(i)
120 f5a= for(i,5)*thk0(i)
121 m4(i)= f4a*area(i)
122 m5(i)= f5a*area(i)
123C
124 f12(i)= f1a*px2(i)+f3a*py2(i)
125 f22(i)= f2a*py2(i)+f3a*px2(i)
126 f32(i)= f5a*px2(i)+f4a*py2(i)
127 f11(i)= f1a*px1(i)+f3a*py1(i)
128 f21(i)= f2a*py1(i)+f3a*px1(i)
129 f31(i)= f5a*px1(i)+f4a*py1(i)
130C
131 g11ta=f11(i)+h11(i)
132 g13ta=h13(i)-f11(i)
133 g21ta=f21(i)+h21(i)
134 g23ta=h23(i)-f21(i)
135 g31ta=f31(i)+h31(i)
136 g33ta=h33(i)-f31(i)
137 g12ta=f12(i)+h12(i)
138 g22ta=f22(i)+h22(i)
139 g32ta=f32(i)+h32(i)
140 g14ta=-g11ta-g12ta-g13ta
141 g24ta=-g21ta-g22ta-g23ta
142 g34ta=-g31ta-g32ta-g33ta
143C
144 g11ta=g11ta+fzero(1,1,i)
145 g13ta=g13ta+fzero(1,3,i)
146 g21ta=g21ta+fzero(2,1,i)
147 g23ta=g23ta+fzero(2,3,i)
148 g31ta=g31ta+fzero(3,1,i)
149 g33ta=g33ta+fzero(3,3,i)
150 g12ta=g12ta+fzero(1,2,i)
151 g22ta=g22ta+fzero(2,2,i)
152 g32ta=g32ta+fzero(3,2,i)
153 g14ta=g14ta+fzero(1,4,i)
154 g24ta=g24ta+fzero(2,4,i)
155 g34ta=g34ta+fzero(3,4,i)
156C
157 f11(i)=e1x(i)*g11ta+e2x(i)*g21ta+e3x(i)*g31ta
158 f12(i)=e1x(i)*g12ta+e2x(i)*g22ta+e3x(i)*g32ta
159 f13(i)=e1x(i)*g13ta+e2x(i)*g23ta+e3x(i)*g33ta
160 f14(i)=e1x(i)*g14ta+e2x(i)*g24ta+e3x(i)*g34ta
161C
162 f21(i)=e1y(i)*g11ta+e2y(i)*g21ta+e3y(i)*g31ta
163 f22(i)=e1y(i)*g12ta+e2y(i)*g22ta+e3y(i)*g32ta
164 f23(i)=e1y(i)*g13ta+e2y(i)*g23ta+e3y(i)*g33ta
165 f24(i)=e1y(i)*g14ta+e2y(i)*g24ta+e3y(i)*g34ta
166C
167 f31(i)=e1z(i)*g11ta+e2z(i)*g21ta+e3z(i)*g31ta
168 f32(i)=e1z(i)*g12ta+e2z(i)*g22ta+e3z(i)*g32ta
169 f33(i)=e1z(i)*g13ta+e2z(i)*g23ta+e3z(i)*g33ta
170 f34(i)=e1z(i)*g14ta+e2z(i)*g24ta+e3z(i)*g34ta
171 ENDDO
172 ENDIF
173 IF(iabs(isigi)/=5.OR.tt==0) THEN
174 DO i=jft,jlt
175 f1a= for(i,1)*thk0(i)
176 f2a= for(i,2)*thk0(i)
177 f3a= for(i,3)*thk0(i)
178 f4a= for(i,4)*thk0(i)
179 f5a= for(i,5)*thk0(i)
180 m4(i)= f4a*area(i)
181 m5(i)= f5a*area(i)
182C
183 f12(i)= f1a*px2(i)+f3a*py2(i)
184 f22(i)= f2a*py2(i)+f3a*px2(i)
185 f32(i)= f5a*px2(i)+f4a*py2(i)
186 f11(i)= f1a*px1(i)+f3a*py1(i)
187 f21(i)= f2a*py1(i)+f3a*px1(i)
188 f31(i)= f5a*px1(i)+f4a*py1(i)
189C
190 g11ta=f11(i)+h11(i)
191 g13ta=h13(i)-f11(i)
192 g21ta=f21(i)+h21(i)
193 g23ta=h23(i)-f21(i)
194 g31ta=f31(i)+h31(i)
195 g33ta=h33(i)-f31(i)
196 g12ta=f12(i)+h12(i)
197 g22ta=f22(i)+h22(i)
198 g32ta=f32(i)+h32(i)
199 f11(i)=e1x(i)*g11ta+e2x(i)*g21ta+e3x(i)*g31ta
200 f12(i)=e1x(i)*g12ta+e2x(i)*g22ta+e3x(i)*g32ta
201 f13(i)=e1x(i)*g13ta+e2x(i)*g23ta+e3x(i)*g33ta
202 f21(i)=e1y(i)*g11ta+e2y(i)*g21ta+e3y(i)*g31ta
203 f22(i)=e1y(i)*g12ta+e2y(i)*g22ta+e3y(i)*g32ta
204 f23(i)=e1y(i)*g13ta+e2y(i)*g23ta+e3y(i)*g33ta
205 f31(i)=e1z(i)*g11ta+e2z(i)*g21ta+e3z(i)*g31ta
206 f32(i)=e1z(i)*g12ta+e2z(i)*g22ta+e3z(i)*g32ta
207 f33(i)=e1z(i)*g13ta+e2z(i)*g23ta+e3z(i)*g33ta
208 f14(i)=-f11(i)-f12(i)-f13(i)
209 f24(i)=-f21(i)-f22(i)-f23(i)
210 f34(i)=-f31(i)-f32(i)-f33(i)
211 ENDDO
212 ENDIF
213C
214 IF((ihbe>=2).AND.iabs(npt)/=1)THEN
215 DO i=jft,jlt
216 m4(i)= m4(i)+(h21(i)+h23(i))*z2(i)
217 m5(i)= m5(i)+(h11(i)+h13(i))*z2(i)
218 ENDDO
219C
220 ENDIF
221C
222 DO i=jft,jlt
223 m1a= mom(i,1)*thk02(i)
224 m2a= mom(i,2)*thk02(i)
225 m3a= mom(i,3)*thk02(i)
226 m4(i)= m4(i)*fourth
227 m5(i)= m5(i)*fourth
228C
229 m11(i)=-m2a*py1(i)-m3a*px1(i)
230 m21(i)= m1a*px1(i)+m3a*py1(i)
231 m12(i)=-m2a*py2(i)-m3a*px2(i)
232 m22(i)= m1a*px2(i)+m3a*py2(i)
233C
234 g11ta = m11(i)-m4(i)+b11(i)
235 g13ta =-m11(i)-m4(i)+b13(i)
236 g12ta = m12(i)-m4(i)+b12(i)
237 g14ta =-m12(i)-m4(i)+b14(i)
238 g21ta = m21(i)+m5(i)+b21(i)
239 g23ta =-m21(i)+m5(i)+b23(i)
240 g22ta = m22(i)+m5(i)+b22(i)
241 g24ta =-m22(i)+m5(i)+b24(i)
242C
243 m11(i)=e1x(i)*g11ta+e2x(i)*g21ta
244 m12(i)=e1x(i)*g12ta+e2x(i)*g22ta
245 m13(i)=e1x(i)*g13ta+e2x(i)*g23ta
246 m14(i)=e1x(i)*g14ta+e2x(i)*g24ta
247 m21(i)=e1y(i)*g11ta+e2y(i)*g21ta
248 m22(i)=e1y(i)*g12ta+e2y(i)*g22ta
249 m23(i)=e1y(i)*g13ta+e2y(i)*g23ta
250 m24(i)=e1y(i)*g14ta+e2y(i)*g24ta
251 m31(i)=e1z(i)*g11ta+e2z(i)*g21ta
252 m32(i)=e1z(i)*g12ta+e2z(i)*g22ta
253 m33(i)=e1z(i)*g13ta+e2z(i)*g23ta
254 m34(i)=e1z(i)*g14ta+e2z(i)*g24ta
255 ENDDO
256c-----------
257 RETURN
258 END
259c
subroutine cfint3(jft, jlt, for, mom, thk0, thk02, px1, px2, py1, py2, area, z2, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, h11, h12, h13, h21, h22, h23, h31, h32, h33, b11, b12, b13, b14, b21, b22, b23, b24, nel, m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, ihbe, npt, fzero)
Definition cfint3.F:40