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