OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
c3fcum3.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!|| c3fcum3 ../engine/source/elements/sh3n/coque3n/c3fcum3.F
25!||--- called by ------------------------------------------------------
26!|| c3forc3 ../engine/source/elements/sh3n/coque3n/c3forc3.F
27!|| c3forc3_crk ../engine/source/elements/xfem/c3forc3_crk.F
28!||====================================================================
29 SUBROUTINE c3fcum3(JFT,JLT,F,
30 . F11,F12,F13,F21,F22,
31 . F23,F31,F32,F33,FZERO,
32 . E1X ,E1Y ,E1Z ,E2X ,
33 . E2Y ,E2Z ,E3X ,E3Y ,E3Z )
34C-----------------------------------------------
35C I m p l i c i t T y p e s
36C-----------------------------------------------
37#include "implicit_f.inc"
38C-----------------------------------------------
39C G l o b a l P a r a m e t e r s
40C-----------------------------------------------
41#include "mvsiz_p.inc"
42C-----------------------------------------------
43C D u m m y A r g u m e n t s
44C-----------------------------------------------
45 INTEGER JFT, JLT
46C REAL
47 my_real F(3,*),FZERO(3,4,*),
48 . E1X(MVSIZ), E1Y(MVSIZ), E1Z(MVSIZ),
49 . e2x(mvsiz), e2y(mvsiz), e2z(mvsiz),
50 . e3x(mvsiz), e3y(mvsiz), e3z(mvsiz),
51 . f11(mvsiz), f12(mvsiz), f13(mvsiz),
52 . f21(mvsiz), f22(mvsiz), f23(mvsiz),
53 . f31(mvsiz), f32(mvsiz), f33(mvsiz)
54C-----------------------------------------------
55C C o m m o n B l o c k s
56C-----------------------------------------------
57#include "com01_c.inc"
58#include "com08_c.inc"
59C-----------------------------------------------
60C L o c a l V a r i a b l e s
61C-----------------------------------------------
62 INTEGER I, J
63 my_real G11, G12, G13, G21, G22, G23, G31, G32, G33,
64 . TEMP1,TEMP2,TEMP3
65C-----------------------------------------------
66C POUR ISIGI = 5 OU -5
67C CHANGEMENT DE REPERE DE FZERO POUR TT=DT1
68C REPERE GLOBAL ---> REPERE LOCAL
69C-----------------------------------------------
70 IF(iabs(isigi)==5.AND.ncycle==1.AND.irun==1) THEN
71 DO i=jft,jlt
72 DO j=1,3
73 temp1=fzero(1,j,i)
74 temp2=fzero(2,j,i)
75 temp3=fzero(3,j,i)
76 fzero(1,j,i)=temp1*e1x(i)+temp2*e1y(i)+temp3*e1z(i)
77 fzero(2,j,i)=temp1*e2x(i)+temp2*e2y(i)+temp3*e2z(i)
78 fzero(3,j,i)=temp1*e3x(i)+temp2*e3y(i)+temp3*e3z(i)
79 ENDDO
80 ENDDO
81 ENDIF
82C-----------------------------------------------
83C POUR ISIGI = 5 OU -5
84C PRISE EN COMPTE DES FORCES D EQUILIBRAGE
85C DANS L EVALUATION DES EFFORTS INTERNES
86C-----------------------------------------------
87 IF((iabs(isigi)==5.AND.ncycle>=1.AND.irun==1).OR.
88 . (iabs(isigi)==5.AND.irun>1)) THEN
89 DO i=jft,jlt
90 g11 = f11(i)+fzero(1,1,i)
91 g21 = f21(i)+fzero(2,1,i)
92 g31 = f31(i)+fzero(3,1,i)
93 f11(i) = e1x(i)*g11 + e2x(i)*g21 + e3x(i)*g31
94 f21(i) = e1y(i)*g11 + e2y(i)*g21 + e3y(i)*g31
95 f31(i) = e1z(i)*g11 + e2z(i)*g21 + e3z(i)*g31
96 g12 = f12(i)+fzero(1,2,i)
97 g22 = f22(i)+fzero(2,2,i)
98 g32 = f32(i)+fzero(3,2,i)
99 f12(i) = e1x(i)*g12 + e2x(i)*g22 + e3x(i)*g32
100 f22(i) = e1y(i)*g12 + e2y(i)*g22 + e3y(i)*g32
101 f32(i) = e1z(i)*g12 + e2z(i)*g22 + e3z(i)*g32
102 g13 = f13(i)+fzero(1,3,i)
103 g23 = f23(i)+fzero(2,3,i)
104 g33 = f33(i)+fzero(3,3,i)
105 f13(i) = e1x(i)*g13 + e2x(i)*g23 + e3x(i)*g33
106 f23(i) = e1y(i)*g13 + e2y(i)*g23 + e3y(i)*g33
107 f33(i) = e1z(i)*g13 + e2z(i)*g23 + e3z(i)*g33
108 ENDDO
109 ENDIF
110 IF(iabs(isigi)/=5.OR.tt==0) THEN
111 DO i=jft,jlt
112 g11 = f11(i)
113 g21 = f21(i)
114 g31 = f31(i)
115 f11(i) = e1x(i)*g11 + e2x(i)*g21 + e3x(i)*g31
116 f21(i) = e1y(i)*g11 + e2y(i)*g21 + e3y(i)*g31
117 f31(i) = e1z(i)*g11 + e2z(i)*g21 + e3z(i)*g31
118 g12 = f12(i)
119 g22 = f22(i)
120 g32 = f32(i)
121 f12(i) = e1x(i)*g12 + e2x(i)*g22 + e3x(i)*g32
122 f22(i) = e1y(i)*g12 + e2y(i)*g22 + e3y(i)*g32
123 f32(i) = e1z(i)*g12 + e2z(i)*g22 + e3z(i)*g32
124 g13 = f13(i)
125 g23 = f23(i)
126 g33 = f33(i)
127 f13(i) = e1x(i)*g13 + e2x(i)*g23 + e3x(i)*g33
128 f23(i) = e1y(i)*g13 + e2y(i)*g23 + e3y(i)*g33
129 f33(i) = e1z(i)*g13 + e2z(i)*g23 + e3z(i)*g33
130 ENDDO
131 ENDIF
132C
133 RETURN
134 END
subroutine c3fcum3(jft, jlt, f, f11, f12, f13, f21, f22, f23, f31, f32, f33, fzero, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z)
Definition c3fcum3.F:34