OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
srota6.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!|| srota6 ../starter/source/output/anim/srota6.F
25!||--- called by ------------------------------------------------------
26!|| tensors ../starter/source/output/anim/tensors.F
27!||--- calls -----------------------------------------------------
28!|| sortho31 ../starter/source/output/anim/sortho31.F
29!||--- uses -----------------------------------------------------
30!||====================================================================
31 SUBROUTINE srota6(X,IXS,KCVT,
32 . TENS,GAMA)
33 use element_mod , only : nixs
34C-----------------------------------------------
35C I m p l i c i t T y p e s
36C-----------------------------------------------
37#include "implicit_f.inc"
38C-----------------------------------------------
39C D u m m y A r g u m e n t s
40C-----------------------------------------------
41 my_real
42 . x(3,*),tens(6),gama(6)
43 INTEGER IXS(NIXS), KCVT
44C-----------------------------------------------
45C L o c a l V a r i a b l e s
46C-----------------------------------------------
47 my_real
48 . x1, x2, x3, x4,
49 . x5, x6, x7, x8,
50 . y1, y2, y3, y4,
51 . y5, y6, y7, y8,
52 . z1, z2, z3, z4,
53 . z5, z6, z7, z8,
54 . l11,l12,l13,l22,l23,l33,
55 . r11,r12,r13,r21,r22,r23,r31,r32,r33,
56 . g11,g22,g33,g12,g21,g23,g32,g13,g31,
57 . t11,t22,t33,t12,t21,t23,t32,t13,t31,
58 . s11,s12,s21,s13,s31,s22,s23,s32,s33
59 INTEGER NC1, NC2, NC3, NC4,
60 . nc5, nc6, nc7, nc8
61C-----------------------------------------------
62 nc1=ixs(2)
63 nc2=ixs(3)
64 nc3=ixs(4)
65 nc4=ixs(5)
66 nc5=ixs(6)
67 nc6=ixs(7)
68 nc7=ixs(8)
69 nc8=ixs(9)
70C----------------------------
71C NODAL COORDINATES |
72C----------------------------
73 x1=x(1,nc1)
74 y1=x(2,nc1)
75 z1=x(3,nc1)
76 x2=x(1,nc2)
77 y2=x(2,nc2)
78 z2=x(3,nc2)
79 x3=x(1,nc3)
80 y3=x(2,nc3)
81 z3=x(3,nc3)
82 x4=x(1,nc4)
83 y4=x(2,nc4)
84 z4=x(3,nc4)
85 x5=x(1,nc5)
86 y5=x(2,nc5)
87 z5=x(3,nc5)
88 x6=x(1,nc6)
89 y6=x(2,nc6)
90 z6=x(3,nc6)
91 x7=x(1,nc7)
92 y7=x(2,nc7)
93 z7=x(3,nc7)
94 x8=x(1,nc8)
95 y8=x(2,nc8)
96 z8=x(3,nc8)
97C-----------
98C convected frame.
99C-----------
100 CALL sortho31(
101 . x1, x2, x3, x4, x5, x6, x7, x8,
102 . y1, y2, y3, y4, y5, y6, y7, y8,
103 . z1, z2, z3, z4, z5, z6, z7, z8,
104 . r11, r12, r13, r21, r22, r23, r31, r32, r33)
105C-----------
106C ORTHOTROPIC FRAME.
107C-----------
108 IF (kcvt==2) THEN
109 g11=gama(1)
110 g21=gama(2)
111 g31=gama(3)
112 g12=gama(4)
113 g22=gama(5)
114 g32=gama(6)
115 g13=g21*g32-g31*g22
116 g23=g31*g12-g11*g32
117 g33=g11*g22-g21*g12
118C MATRICE DE PASSAGE GLOBAL -> ORTHOTROPE.
119 t11=r11*g11+r12*g21+r13*g31
120 t12=r11*g12+r12*g22+r13*g32
121 t13=r11*g13+r12*g23+r13*g33
122 t21=r21*g11+r22*g21+r23*g31
123 t22=r21*g12+r22*g22+r23*g32
124 t23=r21*g13+r22*g23+r23*g33
125 t31=r31*g11+r32*g21+r33*g31
126 t32=r31*g12+r32*g22+r33*g32
127 t33=r31*g13+r32*g23+r33*g33
128 r11=t11
129 r12=t12
130 r13=t13
131 r21=t21
132 r22=t22
133 r23=t23
134 r31=t31
135 r32=t32
136 r33=t33
137 ENDIF
138C-----------
139C TENSOR ROTATION.
140C R passage Global -> Local.
141C R S Transpose(R)
142C 1 SX
143C 2 SY
144C 3 SZ
145C 4 SXY
146C 5 SYZ
147C 6 SXZ
148C-----------
149 l11 =tens(1)
150 l22 =tens(2)
151 l33 =tens(3)
152 l12 =tens(4)
153 l23 =tens(5)
154 l13 =tens(6)
155 s11 =l11*r11+l12*r12+l13*r13
156 s12 =l11*r21+l12*r22+l13*r23
157 s13 =l11*r31+l12*r32+l13*r33
158 s21 =l12*r11+l22*r12+l23*r13
159 s22 =l12*r21+l22*r22+l23*r23
160 s23 =l12*r31+l22*r32+l23*r33
161 s31 =l13*r11+l23*r12+l33*r13
162 s32 =l13*r21+l23*r22+l33*r23
163 s33 =l13*r31+l23*r32+l33*r33
164 tens(1)=r11*s11+r12*s21+r13*s31
165 tens(2)=r21*s12+r22*s22+r23*s32
166 tens(3)=r31*s13+r32*s23+r33*s33
167 tens(4)=r11*s12+r12*s22+r13*s32
168 tens(5)=r21*s13+r22*s23+r23*s33
169 tens(6)=r11*s13+r12*s23+r13*s33
170C-----------
171 RETURN
172 END
#define my_real
Definition cppsort.cpp:32
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
subroutine srota6(x, ixs, kcvt, tens, gama)
Definition srota6.F:33