OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
c3sumg3.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!|| c3sumg3 ../engine/source/elements/sh3n/coque3n/c3sumg3.F
25!||--- called by ------------------------------------------------------
26!|| c3ke3 ../engine/source/elements/sh3n/coque3n/c3ke3.F
27!||--- calls -----------------------------------------------------
28!|| cbatran2 ../engine/source/elements/shell/coqueba/cbasumg3.F
29!|| cbatran223 ../engine/source/elements/shell/coqueba/cbasumg3.F
30!|| cbatran232 ../engine/source/elements/shell/coqueba/cbasumg3.F
31!|| cbatran233 ../engine/source/elements/shell/coqueba/cbasumg3.F
32!|| cbatran3 ../engine/source/elements/shell/coqueba/cbasumg3.F
33!||====================================================================
34 SUBROUTINE c3sumg3(JFT ,JLT ,
35 1 R11,R12,R13,R21,R22,R23,R31,R32,R33,
36 2 K11,K12,K13,K22,K23,K33,
37 3 M11,M12,M13,M22,M23,M33,
38 4 MF11,MF12,MF13,MF22,MF23,MF33,
39 5 FM12,FM13,FM23,
40 6 KE11,KE22,KE33,KE12,KE13,KE23,
41 7 IDRIL,IORTH)
42C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
43#include "implicit_f.inc"
44#include "mvsiz_p.inc"
45C-----------------------------------------------
46C D U M M Y A R G U M E N T S
47C-----------------------------------------------
48 INTEGER JFT,JLT,IDRIL,IORTH
49 my_real
50 . R11(*),R12(*),R13(*),
51 . R21(*),R22(*),R23(*),
52 . R31(*),R32(*),R33(*)
53 my_real
54 . K11(3,3,*),K12(3,3,*),K13(3,3,*),
55 . k22(3,3,*),k23(3,3,*),k33(3,3,*),
56 . m11(3,3,*),m12(3,3,*),m13(3,3,*),
57 . m22(3,3,*),m23(3,3,*),m33(3,3,*),
58 . mf11(3,3,*),mf12(3,3,*),mf13(3,3,*),
59 . mf22(3,3,*),mf23(3,3,*),mf33(3,3,*),
60 . fm12(3,3,*),fm13(3,3,*),fm23(3,3,*),
61 . ke11(6,6,*),ke22(6,6,*),ke33(6,6,*),
62 . ke12(6,6,*),ke13(6,6,*),ke23(6,6,*)
63C-----------------------------------------------
64C L O C A L V A R I A B L E S
65C-----------------------------------------------
66 INTEGER I, J, EP,IS,IAS,MI,MJ
67 my_real
68 . Q(3,3,MVSIZ)
69 DATA IS/1/,IAS/0/
70C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
71C---------------------------------------
72C TRANS LOCAL-->GLOBAL ET 5DDL-->6DDL
73C---------------------------------------
74 DO i=jft,jlt
75 q(1,1,i)=r11(i)
76 q(1,2,i)=r21(i)
77 q(1,3,i)=r31(i)
78 q(2,1,i)=r12(i)
79 q(2,2,i)=r22(i)
80 q(2,3,i)=r32(i)
81 q(3,1,i)=r13(i)
82 q(3,2,i)=r23(i)
83 q(3,3,i)=r33(i)
84 ENDDO
85C----- CBATRAN233 QI^tKQJ K(1,3)>0,K(2,3)>0,K(3,1)>0,K(3,2)>0-------
86 CALL cbatran2(jft,jlt,q,k11,q,is)
87 CALL cbatran2(jft,jlt,q,k22,q,is)
88 CALL cbatran2(jft,jlt,q,k33,q,is)
89 CALL cbatran2(jft,jlt,q,k12,q,ias)
90 CALL cbatran2(jft,jlt,q,k13,q,ias)
91 CALL cbatran2(jft,jlt,q,k23,q,ias)
92 IF (iorth >0 .AND.idril>0) THEN
93 CALL cbatran3(jft,jlt,q,m11,q,is)
94 CALL cbatran3(jft,jlt,q,m22,q,is)
95 CALL cbatran3(jft,jlt,q,m33,q,is)
96 CALL cbatran3(jft,jlt,q,m12,q,ias)
97 CALL cbatran3(jft,jlt,q,m13,q,ias)
98 CALL cbatran3(jft,jlt,q,m23,q,ias)
99 ELSE
100 CALL cbatran2(jft,jlt,q,m11,q,is)
101 CALL cbatran2(jft,jlt,q,m22,q,is)
102 CALL cbatran2(jft,jlt,q,m33,q,is)
103 CALL cbatran2(jft,jlt,q,m12,q,ias)
104 CALL cbatran2(jft,jlt,q,m13,q,ias)
105 CALL cbatran2(jft,jlt,q,m23,q,ias)
106 END IF !(IORTH >0.AND.IDRIL>0)
107 IF (iorth >0) THEN
108 CALL cbatran3(jft,jlt,q,mf11,q,ias)
109 CALL cbatran3(jft,jlt,q,mf12,q,ias)
110 CALL cbatran3(jft,jlt,q,mf13,q,ias)
111 CALL cbatran3(jft,jlt,q,mf22,q,ias)
112 CALL cbatran3(jft,jlt,q,mf23,q,ias)
113 CALL cbatran3(jft,jlt,q,mf33,q,ias)
114 CALL cbatran3(jft,jlt,q,fm12,q,ias)
115 CALL cbatran3(jft,jlt,q,fm13,q,ias)
116 CALL cbatran3(jft,jlt,q,fm23,q,ias)
117 ELSEIF (idril>0) THEN
118 CALL cbatran233(jft,jlt,q,mf11,q)
119 CALL cbatran233(jft,jlt,q,mf12,q)
120 CALL cbatran233(jft,jlt,q,mf13,q)
121 CALL cbatran233(jft,jlt,q,mf22,q)
122 CALL cbatran233(jft,jlt,q,mf23,q)
123 CALL cbatran233(jft,jlt,q,mf33,q)
124 CALL cbatran233(jft,jlt,q,fm12,q)
125 CALL cbatran233(jft,jlt,q,fm13,q)
126 CALL cbatran233(jft,jlt,q,fm23,q)
127 ELSE
128 CALL cbatran232(jft,jlt,q,mf11,q)
129 CALL cbatran232(jft,jlt,q,mf12,q)
130 CALL cbatran232(jft,jlt,q,mf13,q)
131 CALL cbatran232(jft,jlt,q,mf22,q)
132 CALL cbatran232(jft,jlt,q,mf23,q)
133 CALL cbatran232(jft,jlt,q,mf33,q)
134 CALL cbatran223(jft,jlt,q,fm12,q)
135 CALL cbatran223(jft,jlt,q,fm13,q)
136 CALL cbatran223(jft,jlt,q,fm23,q)
137 END IF
138C---------------------------------------
139C ASSEMBLAGE
140C---------------------------------------
141C---------KII --------
142 DO i=1,3
143 mi=i+3
144 DO j=i,3
145 mj=j+3
146 DO ep=jft,jlt
147 ke11(i,j,ep)=k11(i,j,ep)
148 ke11(mi,mj,ep)=m11(i,j,ep)
149 ke22(i,j,ep)=k22(i,j,ep)
150 ke22(mi,mj,ep)=m22(i,j,ep)
151 ke33(i,j,ep)=k33(i,j,ep)
152 ke33(mi,mj,ep)=m33(i,j,ep)
153 ENDDO
154 ENDDO
155 ENDDO
156C
157 DO i=1,3
158 DO j=1,3
159 mj=j+3
160 DO ep=jft,jlt
161 ke11(i,mj,ep)=mf11(i,j,ep)
162 ke22(i,mj,ep)=mf22(i,j,ep)
163 ke33(i,mj,ep)=mf33(i,j,ep)
164 ENDDO
165 ENDDO
166 ENDDO
167C
168 DO i=1,6
169 DO j=i,6
170 DO ep=jft,jlt
171 ke11(j,i,ep)=ke11(i,j,ep)
172 ke22(j,i,ep)=ke22(i,j,ep)
173 ke33(j,i,ep)=ke33(i,j,ep)
174 ENDDO
175 ENDDO
176 ENDDO
177C---------KIJ --------
178 DO i=1,3
179 mi=i+3
180 DO j=1,3
181 mj=j+3
182 DO ep=jft,jlt
183 ke12(i,j,ep)=k12(i,j,ep)
184 ke12(i,mj,ep)=mf12(i,j,ep)
185 ke12(mi,j,ep)=fm12(i,j,ep)
186 ke12(mi,mj,ep)=m12(i,j,ep)
187 ke13(i,j,ep)=k13(i,j,ep)
188 ke13(i,mj,ep)=mf13(i,j,ep)
189 ke13(mi,j,ep)=fm13(i,j,ep)
190 ke13(mi,mj,ep)=m13(i,j,ep)
191 ke23(i,j,ep)=k23(i,j,ep)
192 ke23(i,mj,ep)=mf23(i,j,ep)
193 ke23(mi,j,ep)=fm23(i,j,ep)
194 ke23(mi,mj,ep)=m23(i,j,ep)
195 ENDDO
196 ENDDO
197 ENDDO
198C
199 RETURN
200 END
201
subroutine c3sumg3(jft, jlt, r11, r12, r13, r21, r22, r23, r31, r32, r33, k11, k12, k13, k22, k23, k33, m11, m12, m13, m22, m23, m33, mf11, mf12, mf13, mf22, mf23, mf33, fm12, fm13, fm23, ke11, ke22, ke33, ke12, ke13, ke23, idril, iorth)
Definition c3sumg3.F:42
subroutine cbatran233(jft, jlt, vqi, kk, vqj)
Definition cbasumg3.F:690
subroutine cbatran223(jft, jlt, vqi, kk, vqj)
Definition cbasumg3.F:647
subroutine cbatran3(jft, jlt, vqi, kk, vqj, isym)
Definition cbasumg3.F:382
subroutine cbatran232(jft, jlt, vqi, kk, vqj)
Definition cbasumg3.F:605
subroutine cbatran2(jft, jlt, vqi, kk, vqj, isym)
Definition cbasumg3.F:451