OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
srorth3.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!|| srorth3 ../starter/source/elements/solid/solide/srorth3.F
25!||--- called by ------------------------------------------------------
26!|| srefsta3 ../starter/source/elements/solid/solide/srefsta3.F
27!||====================================================================
28 SUBROUTINE srorth3(JHBE, GAMA,
29 . R11, R12, R13, R21, R22, R23, R31, R32, R33,
30 . X1, X2, X3, X4, X5, X6, X7, X8,
31 . Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8,
32 . Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8, NEL)
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 my_real
47 . GAMA(NEL,6),
48 . r11(*), r12(*), r13(*),
49 . r21(*), r22(*), r23(*),
50 . r31(*), r32(*), r33(*),
51 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*), x7(*), x8(*),
52 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*), y7(*), y8(*),
53 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*), z7(*), z8(*)
54C-----------------------------------------------
55C C o m m o n B l o c k s
56C-----------------------------------------------
57#include "vect01_c.inc"
58C-----------------------------------------------
59C L o c a l V a r i a b l e s
60C-----------------------------------------------
61 INTEGER I
62C REAL
63 my_real
64 . G11(MVSIZ),G12(MVSIZ),G13(MVSIZ),
65 . g21(mvsiz),g22(mvsiz),g23(mvsiz),
66 . g31(mvsiz),g32(mvsiz),g33(mvsiz)
67 my_real
68 . xl(mvsiz),yl(mvsiz),zl(mvsiz)
69C-----------------------------------------------
70C PASSAGE AU REPERE ORTHOTROPE.
71 IF (jhbe/=24 .AND. jhbe/=222 .AND. jhbe/=14)THEN
72 DO i=lft,llt
73C Extration de G tq Xortho=Transpose(G) Xcvt
74C =Transpose(G) Transpose(R) Xglobal.
75 g11(i)=gama(i,1)
76 g21(i)=gama(i,2)
77 g31(i)=gama(i,3)
78 g12(i)=gama(i,4)
79 g22(i)=gama(i,5)
80 g32(i)=gama(i,6)
81 g13(i)=g21(i)*g32(i)-g31(i)*g22(i)
82 g23(i)=g31(i)*g12(i)-g11(i)*g32(i)
83 g33(i)=g11(i)*g22(i)-g21(i)*g12(i)
84C
85 xl(i)=g11(i)*x1(i)+g21(i)*y1(i)+g31(i)*z1(i)
86 yl(i)=g12(i)*x1(i)+g22(i)*y1(i)+g32(i)*z1(i)
87 zl(i)=g13(i)*x1(i)+g23(i)*y1(i)+g33(i)*z1(i)
88 x1(i)=xl(i)
89 y1(i)=yl(i)
90 z1(i)=zl(i)
91 xl(i)=g11(i)*x2(i)+g21(i)*y2(i)+g31(i)*z2(i)
92 yl(i)=g12(i)*x2(i)+g22(i)*y2(i)+g32(i)*z2(i)
93 zl(i)=g13(i)*x2(i)+g23(i)*y2(i)+g33(i)*z2(i)
94 x2(i)=xl(i)
95 y2(i)=yl(i)
96 z2(i)=zl(i)
97 xl(i)=g11(i)*x3(i)+g21(i)*y3(i)+g31(i)*z3(i)
98 yl(i)=g12(i)*x3(i)+g22(i)*y3(i)+g32(i)*z3(i)
99 zl(i)=g13(i)*x3(i)+g23(i)*y3(i)+g33(i)*z3(i)
100 x3(i)=xl(i)
101 y3(i)=yl(i)
102 z3(i)=zl(i)
103 xl(i)=g11(i)*x4(i)+g21(i)*y4(i)+g31(i)*z4(i)
104 yl(i)=g12(i)*x4(i)+g22(i)*y4(i)+g32(i)*z4(i)
105 zl(i)=g13(i)*x4(i)+g23(i)*y4(i)+g33(i)*z4(i)
106 x4(i)=xl(i)
107 y4(i)=yl(i)
108 z4(i)=zl(i)
109 xl(i)=g11(i)*x5(i)+g21(i)*y5(i)+g31(i)*z5(i)
110 yl(i)=g12(i)*x5(i)+g22(i)*y5(i)+g32(i)*z5(i)
111 zl(i)=g13(i)*x5(i)+g23(i)*y5(i)+g33(i)*z5(i)
112 x5(i)=xl(i)
113 y5(i)=yl(i)
114 z5(i)=zl(i)
115 xl(i)=g11(i)*x6(i)+g21(i)*y6(i)+g31(i)*z6(i)
116 yl(i)=g12(i)*x6(i)+g22(i)*y6(i)+g32(i)*z6(i)
117 zl(i)=g13(i)*x6(i)+g23(i)*y6(i)+g33(i)*z6(i)
118 x6(i)=xl(i)
119 y6(i)=yl(i)
120 z6(i)=zl(i)
121 xl(i)=g11(i)*x7(i)+g21(i)*y7(i)+g31(i)*z7(i)
122 yl(i)=g12(i)*x7(i)+g22(i)*y7(i)+g32(i)*z7(i)
123 zl(i)=g13(i)*x7(i)+g23(i)*y7(i)+g33(i)*z7(i)
124 x7(i)=xl(i)
125 y7(i)=yl(i)
126 z7(i)=zl(i)
127 xl(i)=g11(i)*x8(i)+g21(i)*y8(i)+g31(i)*z8(i)
128 yl(i)=g12(i)*x8(i)+g22(i)*y8(i)+g32(i)*z8(i)
129 zl(i)=g13(i)*x8(i)+g23(i)*y8(i)+g33(i)*z8(i)
130 x8(i)=xl(i)
131 y8(i)=yl(i)
132 z8(i)=zl(i)
133C
134C MATRICE DE PASSAGE GLOBAL -> ORTHOTROPE.
135 r11(i)=r11(i)*g11(i)+r12(i)*g21(i)+r13(i)*g31(i)
136 r12(i)=r11(i)*g12(i)+r12(i)*g22(i)+r13(i)*g32(i)
137 r13(i)=r11(i)*g13(i)+r12(i)*g23(i)+r13(i)*g33(i)
138 r21(i)=r21(i)*g11(i)+r22(i)*g21(i)+r23(i)*g31(i)
139 r22(i)=r21(i)*g12(i)+r22(i)*g22(i)+r23(i)*g32(i)
140 r23(i)=r21(i)*g13(i)+r22(i)*g23(i)+r23(i)*g33(i)
141 r31(i)=r31(i)*g11(i)+r32(i)*g21(i)+r33(i)*g31(i)
142 r32(i)=r31(i)*g12(i)+r32(i)*g22(i)+r33(i)*g32(i)
143 r33(i)=r31(i)*g13(i)+r32(i)*g23(i)+r33(i)*g33(i)
144 END DO
145 END IF
146c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
147 RETURN
148 END
subroutine srorth3(jhbe, gama, r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, nel)
Definition srorth3.F:33