OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
srotorth.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!|| srotorth ../engine/source/elements/solid/srotorth.F
25!||--- called by ------------------------------------------------------
26!|| dfuncs ../engine/source/output/anim/generate/dfunc6.F
27!|| h3d_solid_scalar_1 ../engine/source/output/h3d/h3d_results/h3d_solid_scalar_1.F
28!|| stat_s_ortho ../engine/source/output/sta/stat_s_ortho.F
29!||--- calls -----------------------------------------------------
30!|| scortho31 ../engine/source/elements/thickshell/solidec/scortho31.F
31!|| sortho31 ../engine/source/elements/solid/solide/sortho31.F
32!||--- uses -----------------------------------------------------
33!|| element_mod ../common_source/modules/elements/element_mod.F90
34!||====================================================================
35 SUBROUTINE srotorth(X ,IXS ,GAMA , KHBE ,ITYP ,
36 . ICSIG )
37 use element_mod , only : nixs
38C-----------------------------------------------
39C I m p l i c i t T y p e s
40C-----------------------------------------------
41#include "implicit_f.inc"
42C-----------------------------------------------
43C D u m m y A r g u m e n t s
44C-----------------------------------------------
45C REAL
47 . x(3,*),gama(6)
48 INTEGER IXS(NIXS), KHBE, ITYP,ICSIG
49C-----------------------------------------------
50C L o c a l V a r i a b l e s
51C-----------------------------------------------
52C REAL
54 . x1, x2, x3, x4,
55 . x5, x6, x7, x8,
56 . y1, y2, y3, y4,
57 . y5, y6, y7, y8,
58 . z1, z2, z3, z4,
59 . z5, z6, z7, z8,
60 .
61 . r11,r12,r13,r21,r22,r23,r31,r32,r33,
62 . g11,g22,g33,g12,g21,g23,g32,g13,g31,
63 . t11,t22,t33,t12,t21,t23,t32,t13,t31,
64 .
65 . cp ,sp
66 INTEGER NC1, NC2, NC3, NC4,
67 . nc5, nc6, nc7, nc8
68C-----------------------------------------------
69 nc1=ixs(2)
70 nc2=ixs(3)
71 nc3=ixs(4)
72 nc4=ixs(5)
73 nc5=ixs(6)
74 nc6=ixs(7)
75 nc7=ixs(8)
76 nc8=ixs(9)
77C----------------------------
78C NODAL COORDINATES |
79C----------------------------
80 x1=x(1,nc1)
81 y1=x(2,nc1)
82 z1=x(3,nc1)
83 x2=x(1,nc2)
84 y2=x(2,nc2)
85 z2=x(3,nc2)
86 x3=x(1,nc3)
87 y3=x(2,nc3)
88 z3=x(3,nc3)
89 x4=x(1,nc4)
90 y4=x(2,nc4)
91 z4=x(3,nc4)
92 x5=x(1,nc5)
93 y5=x(2,nc5)
94 z5=x(3,nc5)
95 x6=x(1,nc6)
96 y6=x(2,nc6)
97 z6=x(3,nc6)
98 x7=x(1,nc7)
99 y7=x(2,nc7)
100 z7=x(3,nc7)
101 x8=x(1,nc8)
102 y8=x(2,nc8)
103 z8=x(3,nc8)
104C-----------
105 IF(khbe/=15)THEN
106C convected frame
107 IF (khbe==24.OR.khbe==14) THEN
108 CALL sortho31(
109 . x1, x2, x3, x4, x5, x6, x7, x8,
110 . y1, y2, y3, y4, y5, y6, y7, y8,
111 . z1, z2, z3, z4, z5, z6, z7, z8,
112 . r12, r13, r11, r22, r23, r21, r32, r33, r31)
113 ELSE
114 CALL sortho31(
115 . x1, x2, x3, x4, x5, x6, x7, x8,
116 . y1, y2, y3, y4, y5, y6, y7, y8,
117 . z1, z2, z3, z4, z5, z6, z7, z8,
118 . r11, r12, r13, r21, r22, r23, r31, r32, r33)
119 ENDIF
120 ELSE
121 CALL scortho31(
122 . x1, x2, x3, x4, x5, x6, x7, x8,
123 . y1, y2, y3, y4, y5, y6, y7, y8,
124 . z1, z2, z3, z4, z5, z6, z7, z8,
125 . r11, r12, r13, r21, r22, r23, r31, r32, r33)
126 ENDIF
127C-----------
128C ORTHOTROPIC FRAME.
129C-----------
130 IF(ityp == 21 .OR. ityp == 22) THEN
131 cp = gama(1) ! COS(PHI)
132 sp = gama(2) ! SIN(PHI)
133 IF(icsig == 10.OR.khbe == 15)THEN
134 t11=r11*cp+r12*sp
135 t12=r21*cp+r22*sp
136 t13=r31*cp+r32*sp
137 t21=r12*cp-r11*sp
138 t22=r22*cp-r21*sp
139 t23=r32*cp-r31*sp
140 ELSEIF(icsig == 100)THEN
141 t11=r13*cp+r11*sp
142 t12=r23*cp+r21*sp
143 t13=r33*cp+r31*sp
144 t21=r11*cp-r13*sp
145 t22=r21*cp-r23*sp
146 t23=r31*cp-r33*sp
147C ELSEIF(ICSIG == 1 )THEN
148 ELSE
149 t11=r12*cp+r13*sp
150 t12=r22*cp+r23*sp
151 t13=r32*cp+r33*sp
152 t21=r13*cp-r12*sp
153 t22=r23*cp-r22*sp
154 t23=r33*cp-r32*sp
155 ENDIF
156 gama(1)=t11
157 gama(2)=t12
158 gama(3)=t13
159 gama(4)=t21
160 gama(5)=t22
161 gama(6)=t23
162 ELSE
163 g11=gama(1)
164 g21=gama(2)
165 g31=gama(3)
166 g12=gama(4)
167 g22=gama(5)
168 g32=gama(6)
169 g13=g21*g32-g31*g22
170 g23=g31*g12-g11*g32
171 g33=g11*g22-g21*g12
172C MATRICE DE PASSAGE GLOBAL -> ORTHOTROPE.
173 t11=r11*g11+r12*g21+r13*g31
174 t12=r11*g12+r12*g22+r13*g32
175 t13=r11*g13+r12*g23+r13*g33
176 t21=r21*g11+r22*g21+r23*g31
177 t22=r21*g12+r22*g22+r23*g32
178 t23=r21*g13+r22*g23+r23*g33
179 t31=r31*g11+r32*g21+r33*g31
180 t32=r31*g12+r32*g22+r33*g32
181 t33=r31*g13+r32*g23+r33*g33
182 gama(1)=t11
183 gama(2)=t21
184 gama(3)=t31
185 gama(4)=t12
186 gama(5)=t22
187 gama(6)=t32
188 ENDIF
189C-----------
190 RETURN
191 END
#define my_real
Definition cppsort.cpp:32
subroutine srotorth(x, ixs, gama, khbe, ityp, icsig)
Definition srotorth.F:37
subroutine scortho31(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition scortho31.F:33
subroutine sortho31(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition sortho31.F:34