OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s4orth3.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!|| s4orth3 ../starter/source/elements/solid/solide4/s4orth3.F
25!||--- called by ------------------------------------------------------
26!|| s4refsta3 ../starter/source/elements/solid/solide4/s4refsta3.F
27!||====================================================================
28 SUBROUTINE s4orth3(JHBE, GAMA,NEL,
29 . R11, R12, R13, R21, R22, R23, R31, R32, R33,
30 . X1, X2, X3, X4,
31 . Y1, Y2, Y3, Y4,
32 . Z1, Z2, Z3, Z4)
33C-----------------------------------------------
34C I m p l i c i t T y p e s
35C-----------------------------------------------
36#include "implicit_f.inc"
37C-----------------------------------------------
38C G l o b a l P a r a m e t e r s
39C-----------------------------------------------
40#include "mvsiz_p.inc"
41C-----------------------------------------------
42C D u m m y A r g u m e n t s
43C-----------------------------------------------
44 INTEGER JHBE,NEL
45C REAL
46 DOUBLE PRECISION
47 . X1(*), X2(*), X3(*), X4(*),
48 . y1(*), y2(*), y3(*), y4(*),
49 . z1(*), z2(*), z3(*), z4(*)
51 . gama(nel,6),
52 . r11(*), r12(*), r13(*),
53 . r21(*), r22(*), r23(*),
54 . r31(*), r32(*), r33(*)
55C-----------------------------------------------
56C C o m m o n B l o c k s
57C-----------------------------------------------
58#include "vect01_c.inc"
59C-----------------------------------------------
60C L o c a l V a r i a b l e s
61C-----------------------------------------------
62 INTEGER I
63C REAL
64 my_real
65 . G11(MVSIZ),G12(MVSIZ),G13(MVSIZ),
66 . g21(mvsiz),g22(mvsiz),g23(mvsiz),
67 . g31(mvsiz),g32(mvsiz),g33(mvsiz)
68 my_real
69 . xl(mvsiz),yl(mvsiz),zl(mvsiz)
70C-----------------------------------------------
71C PASSAGE AU REPERE ORTHOTROPE.
72 IF (jhbe/=24 .AND. jhbe/=222 .AND. jhbe/=14)THEN
73 DO i=lft,llt
74C Extration de G tq Xortho=Transpose(G) Xcvt
75C =Transpose(G) Transpose(R) Xglobal.
76 g11(i)=gama(i,1)
77 g21(i)=gama(i,2)
78 g31(i)=gama(i,3)
79 g12(i)=gama(i,4)
80 g22(i)=gama(i,5)
81 g32(i)=gama(i,6)
82 g13(i)=g21(i)*g32(i)-g31(i)*g22(i)
83 g23(i)=g31(i)*g12(i)-g11(i)*g32(i)
84 g33(i)=g11(i)*g22(i)-g21(i)*g12(i)
85C
86 xl(i)=g11(i)*x1(i)+g21(i)*y1(i)+g31(i)*z1(i)
87 yl(i)=g12(i)*x1(i)+g22(i)*y1(i)+g32(i)*z1(i)
88 zl(i)=g13(i)*x1(i)+g23(i)*y1(i)+g33(i)*z1(i)
89 x1(i)=xl(i)
90 y1(i)=yl(i)
91 z1(i)=zl(i)
92 xl(i)=g11(i)*x2(i)+g21(i)*y2(i)+g31(i)*z2(i)
93 yl(i)=g12(i)*x2(i)+g22(i)*y2(i)+g32(i)*z2(i)
94 zl(i)=g13(i)*x2(i)+g23(i)*y2(i)+g33(i)*z2(i)
95 x2(i)=xl(i)
96 y2(i)=yl(i)
97 z2(i)=zl(i)
98 xl(i)=g11(i)*x3(i)+g21(i)*y3(i)+g31(i)*z3(i)
99 yl(i)=g12(i)*x3(i)+g22(i)*y3(i)+g32(i)*z3(i)
100 zl(i)=g13(i)*x3(i)+g23(i)*y3(i)+g33(i)*z3(i)
101 x3(i)=xl(i)
102 y3(i)=yl(i)
103 z3(i)=zl(i)
104 xl(i)=g11(i)*x4(i)+g21(i)*y4(i)+g31(i)*z4(i)
105 yl(i)=g12(i)*x4(i)+g22(i)*y4(i)+g32(i)*z4(i)
106 zl(i)=g13(i)*x4(i)+g23(i)*y4(i)+g33(i)*z4(i)
107 x4(i)=xl(i)
108 y4(i)=yl(i)
109 z4(i)=zl(i)
110C
111C MATRICE DE PASSAGE GLOBAL -> ORTHOTROPE.
112 r11(i)=r11(i)*g11(i)+r12(i)*g21(i)+r13(i)*g31(i)
113 r12(i)=r11(i)*g12(i)+r12(i)*g22(i)+r13(i)*g32(i)
114 r13(i)=r11(i)*g13(i)+r12(i)*g23(i)+r13(i)*g33(i)
115 r21(i)=r21(i)*g11(i)+r22(i)*g21(i)+r23(i)*g31(i)
116 r22(i)=r21(i)*g12(i)+r22(i)*g22(i)+r23(i)*g32(i)
117 r23(i)=r21(i)*g13(i)+r22(i)*g23(i)+r23(i)*g33(i)
118 r31(i)=r31(i)*g11(i)+r32(i)*g21(i)+r33(i)*g31(i)
119 r32(i)=r31(i)*g12(i)+r32(i)*g22(i)+r33(i)*g32(i)
120 r33(i)=r31(i)*g13(i)+r32(i)*g23(i)+r33(i)*g33(i)
121 END DO
122 END IF
123c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
124 RETURN
125 END
126!||====================================================================
127!|| s4ortht3 ../starter/source/elements/solid/solide4/s4orth3.F
128!||--- called by ------------------------------------------------------
129!|| s4refsta3 ../starter/source/elements/solid/solide4/s4refsta3.F
130!||====================================================================
131 SUBROUTINE s4ortht3(JHBE, GAMA,NEL,
132 . R11, R12, R13, R21, R22, R23, R31, R32, R33,
133 . X1, X2, X3, X4,
134 . Y1, Y2, Y3, Y4,
135 . Z1, Z2, Z3, Z4)
136C-----------------------------------------------
137C I m p l i c i t T y p e s
138C-----------------------------------------------
139#include "implicit_f.inc"
140C-----------------------------------------------
141C G l o b a l P a r a m e t e r s
142C-----------------------------------------------
143#include "mvsiz_p.inc"
144C-----------------------------------------------
145C D u m m y A r g u m e n t s
146C-----------------------------------------------
147 INTEGER JHBE,NEL
148C REAL
149 my_real
150 . X1(*), X2(*), X3(*), X4(*),
151 . Y1(*), Y2(*), Y3(*), Y4(*),
152 . Z1(*), Z2(*), Z3(*), Z4(*),
153 . GAMA(NEL,6),
154 . R11(*), R12(*), R13(*),
155 . r21(*), r22(*), r23(*),
156 . r31(*), r32(*), r33(*)
157C-----------------------------------------------
158C C o m m o n B l o c k s
159C-----------------------------------------------
160#include "vect01_c.inc"
161C-----------------------------------------------
162C L o c a l V a r i a b l e s
163C-----------------------------------------------
164 INTEGER I
165C REAL
166 my_real
167 . G11(MVSIZ),G12(MVSIZ),G13(MVSIZ),
168 . G21(MVSIZ),G22(MVSIZ),G23(MVSIZ),
169 . G31(MVSIZ),G32(MVSIZ),G33(MVSIZ)
170 my_real
171 . XL(MVSIZ),YL(MVSIZ),ZL(MVSIZ)
172C-----------------------------------------------
173C PASSAGE AU REPERE ORTHOTROPE.
174 IF (jhbe/=24 .AND. jhbe/=222 .AND. jhbe/=14)THEN
175 DO i=lft,llt
176C Extration de G tq Xortho=Transpose(G) Xcvt
177C =Transpose(G) Transpose(R) Xglobal.
178 g11(i)=gama(i,1)
179 g21(i)=gama(i,2)
180 g31(i)=gama(i,3)
181 g12(i)=gama(i,4)
182 g22(i)=gama(i,5)
183 g32(i)=gama(i,6)
184 g13(i)=g21(i)*g32(i)-g31(i)*g22(i)
185 g23(i)=g31(i)*g12(i)-g11(i)*g32(i)
186 g33(i)=g11(i)*g22(i)-g21(i)*g12(i)
187C
188 xl(i)=g11(i)*x1(i)+g21(i)*y1(i)+g31(i)*z1(i)
189 yl(i)=g12(i)*x1(i)+g22(i)*y1(i)+g32(i)*z1(i)
190 zl(i)=g13(i)*x1(i)+g23(i)*y1(i)+g33(i)*z1(i)
191 x1(i)=xl(i)
192 y1(i)=yl(i)
193 z1(i)=zl(i)
194 xl(i)=g11(i)*x2(i)+g21(i)*y2(i)+g31(i)*z2(i)
195 yl(i)=g12(i)*x2(i)+g22(i)*y2(i)+g32(i)*z2(i)
196 zl(i)=g13(i)*x2(i)+g23(i)*y2(i)+g33(i)*z2(i)
197 x2(i)=xl(i)
198 y2(i)=yl(i)
199 z2(i)=zl(i)
200 xl(i)=g11(i)*x3(i)+g21(i)*y3(i)+g31(i)*z3(i)
201 yl(i)=g12(i)*x3(i)+g22(i)*y3(i)+g32(i)*z3(i)
202 zl(i)=g13(i)*x3(i)+g23(i)*y3(i)+g33(i)*z3(i)
203 x3(i)=xl(i)
204 y3(i)=yl(i)
205 z3(i)=zl(i)
206 xl(i)=g11(i)*x4(i)+g21(i)*y4(i)+g31(i)*z4(i)
207 yl(i)=g12(i)*x4(i)+g22(i)*y4(i)+g32(i)*z4(i)
208 zl(i)=g13(i)*x4(i)+g23(i)*y4(i)+g33(i)*z4(i)
209 x4(i)=xl(i)
210 y4(i)=yl(i)
211 z4(i)=zl(i)
212C
213C MATRICE DE PASSAGE GLOBAL -> ORTHOTROPE.
214 r11(i)=r11(i)*g11(i)+r12(i)*g21(i)+r13(i)*g31(i)
215 r12(i)=r11(i)*g12(i)+r12(i)*g22(i)+r13(i)*g32(i)
216 r13(i)=r11(i)*g13(i)+r12(i)*g23(i)+r13(i)*g33(i)
217 r21(i)=r21(i)*g11(i)+r22(i)*g21(i)+r23(i)*g31(i)
218 r22(i)=r21(i)*g12(i)+r22(i)*g22(i)+r23(i)*g32(i)
219 r23(i)=r21(i)*g13(i)+r22(i)*g23(i)+r23(i)*g33(i)
220 r31(i)=r31(i)*g11(i)+r32(i)*g21(i)+r33(i)*g31(i)
221 r32(i)=r31(i)*g12(i)+r32(i)*g22(i)+r33(i)*g32(i)
222 r33(i)=r31(i)*g13(i)+r32(i)*g23(i)+r33(i)*g33(i)
223 END DO
224 END IF
225c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
226 RETURN
227 END
#define my_real
Definition cppsort.cpp:32
subroutine s4ortht3(jhbe, gama, nel, r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4)
Definition s4orth3.F:136
subroutine s4orth3(jhbe, gama, nel, r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4)
Definition s4orth3.F:33