OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
srota6_s8s.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_s8s ../engine/source/output/anim/generate/srota6_s8s.F
25!||--- called by ------------------------------------------------------
26!|| tensors ../engine/source/output/anim/generate/tensor6.F
27!||--- uses -----------------------------------------------------
28!|| element_mod ../common_source/modules/elements/element_mod.F90
29!||====================================================================
30 SUBROUTINE srota6_s8s(
31 1 KCVT, TENS, GAMA, KHBE,
32 2 ITYP, FRAME, IINT, ISORTH)
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 C o m m o n B l o c k s
40C-----------------------------------------------
41C-----------------------------------------------
42C D u m m y A r g u m e n t s
43C-----------------------------------------------
44 INTEGER, INTENT(IN) :: IINT
45 INTEGER, INTENT(IN) :: ISORTH
46C REAL
48 . tens(6),gama(6),frame(3,3)
49 INTEGER KCVT, KHBE, ITYP
50C-----------------------------------------------
51C L o c a l V a r i a b l e s
52C-----------------------------------------------
53C REAL
55 . l11,l12,l13,l22,l23,l33,
56 . r11,r12,r13,r21,r22,r23,r31,r32,r33,
57 . g11,g22,g33,g12,g21,g23,g32,g13,g31,
58 . t11,t22,t33,t12,t21,t23,t32,t13,t31,
59 . s11,s12,s21,s13,s31,s22,s23,s32,s33
60C-----------------------------------------------
61C---- should not rotate w/ global iso system
62! IF (KCVT==0.AND.ISORTH==0) RETURN
63C----------------------------
64 IF (khbe /= 17 .OR. iint /= 3) RETURN
65 r11 = frame(1,1)
66 r21 = frame(2,1)
67 r31 = frame(3,1)
68 r12 = frame(1,2)
69 r22 = frame(2,2)
70 r32 = frame(3,2)
71 r13 = frame(1,3)
72 r23 = frame(2,3)
73 r33 = frame(3,3)
74! ENDIF
75C-----------
76C ORTHOTROPIC ELEMENTS : Rotation from ORHTOROPIC FRAME TO LOCAL FRAME
77C-----------
78 IF (kcvt==2) THEN
79 IF (isorth > 0) THEN
80 g11=gama(1)
81 g21=gama(2)
82 g31=gama(3)
83 g12=gama(4)
84 g22=gama(5)
85 g32=gama(6)
86 g13=g21*g32-g31*g22
87 g23=g31*g12-g11*g32
88 g33=g11*g22-g21*g12
89C MATRICE DE PASSAGE GLOBAL -> ORTHOTROPE.
90 t11=r11*g11+r12*g21+r13*g31
91 t12=r11*g12+r12*g22+r13*g32
92 t13=r11*g13+r12*g23+r13*g33
93 t21=r21*g11+r22*g21+r23*g31
94 t22=r21*g12+r22*g22+r23*g32
95 t23=r21*g13+r22*g23+r23*g33
96 t31=r31*g11+r32*g21+r33*g31
97 t32=r31*g12+r32*g22+r33*g32
98 t33=r31*g13+r32*g23+r33*g33
99 r11=t11
100 r12=t12
101 r13=t13
102 r21=t21
103 r22=t22
104 r23=t23
105 r31=t31
106 r32=t32
107 r33=t33
108 ENDIF
109 ENDIF
110C-----------
111C Rotation from LOCAL FRAME TO GLOBAL FRAME
112C-----------
113C TENSOR ROTATION.
114C R passage Global -> Local.
115C R S Transpose(R)
116C 1 SX
117C 2 SY
118C 3 SZ
119C 4 SXY
120C 5 SYZ
121C 6 SXZ
122C-----------
123 l11 =tens(1)
124 l22 =tens(2)
125 l33 =tens(3)
126 l12 =tens(4)
127 l23 =tens(5)
128 l13 =tens(6)
129 s11 =l11*r11+l12*r12+l13*r13
130 s12 =l11*r21+l12*r22+l13*r23
131 s13 =l11*r31+l12*r32+l13*r33
132 s21 =l12*r11+l22*r12+l23*r13
133 s22 =l12*r21+l22*r22+l23*r23
134 s23 =l12*r31+l22*r32+l23*r33
135 s31 =l13*r11+l23*r12+l33*r13
136 s32 =l13*r21+l23*r22+l33*r23
137 s33 =l13*r31+l23*r32+l33*r33
138 tens(1)=r11*s11+r12*s21+r13*s31
139 tens(2)=r21*s12+r22*s22+r23*s32
140 tens(3)=r31*s13+r32*s23+r33*s33
141 tens(4)=r11*s12+r12*s22+r13*s32
142 tens(5)=r21*s13+r22*s23+r23*s33
143 tens(6)=r11*s13+r12*s23+r13*s33
144C-----------
145 RETURN
146 END
#define my_real
Definition cppsort.cpp:32
subroutine srota6_s8s(kcvt, tens, gama, khbe, ityp, frame, iint, isorth)
Definition srota6_s8s.F:33