OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
rotloc.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!|| rotloc ../engine/source/materials/mat/mat024/rotloc.F
25!||--- called by ------------------------------------------------------
26!|| conc24 ../engine/source/materials/mat/mat024/conc24.F
27!||====================================================================
28 SUBROUTINE rotloc(
29 1 NEL, GAMA, RX, RY,
30 2 RZ, SX, SY, SZ,
31 3 R11, R12, R13, R21,
32 4 R22, R23, R31, R32,
33 5 R33, JCVT, JSPH)
34C-----------------------------------------------
35C I m p l i c i t T y p e s
36C-----------------------------------------------
37#include "implicit_f.inc"
38C-----------------------------------------------
39C G l o b a l P a r a m e t e r s
40C-----------------------------------------------
41#include "mvsiz_p.inc"
42C-----------------------------------------------
43C D u m m y A r g u m e n t s
44C-----------------------------------------------
45 INTEGER, INTENT(IN) :: JCVT
46 INTEGER, INTENT(IN) :: JSPH
47 INTEGER NEL
48 my_real, DIMENSION(NEL), INTENT(INOUT) :: RX,RY,RZ,SX,SY,SZ
49 my_real, DIMENSION(NEL), INTENT(OUT) :: R11,R12,R13,R21,R22,
50 . r23,r31,r32,r33
51 my_real, DIMENSION(MVSIZ,6) :: gama
52C-----------------------------------------------
53C C o m m o n B l o c k s
54C-----------------------------------------------
55#include "com01_c.inc"
56C-----------------------------------------------
57C L o c a l V a r i a b l e s
58C-----------------------------------------------
59 INTEGER I
60 my_real RR
61 my_real, DIMENSION(NEL) :: S11,S12,S13,S21,S22,S23,S31,S32,S33,
62 . TX,TY,TZ
63C=======================================================================
64 IF (jsph==0) THEN
65 IF (jcvt==0) THEN
66 IF(n2d==0)THEN
67 DO i = 1,nel
68 rr =sqrt(rx(i)**2+ry(i)**2+rz(i)**2)
69 rx(i)=rx(i)/rr
70 ry(i)=ry(i)/rr
71 rz(i)=rz(i)/rr
72 ENDDO
73 DO i = 1,nel
74 tx(i)=ry(i)*sz(i)-rz(i)*sy(i)
75 ty(i)=rz(i)*sx(i)-rx(i)*sz(i)
76 tz(i)=rx(i)*sy(i)-ry(i)*sx(i)
77 rr =sqrt(tx(i)**2+ty(i)**2+tz(i)**2)
78 tx(i)=tx(i)/rr
79 ty(i)=ty(i)/rr
80 tz(i)=tz(i)/rr
81 ENDDO
82 DO i = 1,nel
83 sx(i)=ty(i)*rz(i)-tz(i)*ry(i)
84 sy(i)=tz(i)*rx(i)-tx(i)*rz(i)
85 sz(i)=tx(i)*ry(i)-ty(i)*rx(i)
86 rr =sqrt(sx(i)**2+sy(i)**2+sz(i)**2)
87 sx(i)=sx(i)/rr
88 sy(i)=sy(i)/rr
89 sz(i)=sz(i)/rr
90 ENDDO
91 ELSE
92C---------------------------------------------
93C EN 2D LES CONTRAINTES SONT :
94C 1=YY 2=ZZ 3=TT 4=YZ 5=0 6=0
95C EN CONTRADICTION AVEC X=T
96C ATTENTION DGAMAER!
97C---------------------------------------------
98 DO i = 1,nel
99 rr = sqrt(sy(i)**2+sz(i)**2)
100 rx(i)= sy(i)/rr
101 ry(i)= sz(i)/rr
102 rz(i)= zero
103 sx(i)=-ry(i)
104 sy(i)= rx(i)
105 sz(i)= zero
106 tx(i)= zero
107 ty(i)= zero
108 tz(i)= one
109 ENDDO
110 ENDIF
111C
112 DO i = 1,nel
113 s11(i)=gama(i,1)
114 s21(i)=gama(i,2)
115 s31(i)=gama(i,3)
116 s12(i)=gama(i,4)
117 s22(i)=gama(i,5)
118 s32(i)=gama(i,6)
119 s13(i)=s21(i)*s32(i)-s31(i)*s22(i)
120 s23(i)=s31(i)*s12(i)-s11(i)*s32(i)
121 s33(i)=s11(i)*s22(i)-s21(i)*s12(i)
122 ENDDO
123C
124 DO i = 1,nel
125 r11(i) = s11(i)*rx(i)+s21(i)*sx(i)+s31(i)*tx(i)
126 r21(i) = s11(i)*ry(i)+s21(i)*sy(i)+s31(i)*ty(i)
127 r31(i) = s11(i)*rz(i)+s21(i)*sz(i)+s31(i)*tz(i)
128C
129 r12(i) = s12(i)*rx(i)+s22(i)*sx(i)+s32(i)*tx(i)
130 r22(i) = s12(i)*ry(i)+s22(i)*sy(i)+s32(i)*ty(i)
131 r32(i) = s12(i)*rz(i)+s22(i)*sz(i)+s32(i)*tz(i)
132C
133 r13(i) = s13(i)*rx(i)+s23(i)*sx(i)+s33(i)*tx(i)
134 r23(i) = s13(i)*ry(i)+s23(i)*sy(i)+s33(i)*ty(i)
135 r33(i) = s13(i)*rz(i)+s23(i)*sz(i)+s33(i)*tz(i)
136 ENDDO
137c-------------------------------------------------------
138 ELSE
139c CO-ROTATIONAL FORMULATION IN ORTHOTROPIC CO-ROTATIONAL SYSTEM.
140 DO i = 1,nel
141 r11(i) = one
142 r21(i) = zero
143 r31(i) = zero
144C
145 r12(i) = zero
146 r22(i) = one
147 r32(i) = zero
148C
149 r13(i) = zero
150 r23(i) = zero
151 r33(i) = one
152 ENDDO
153 ENDIF
154C-------------------------------------------------------
155 ELSE
156 DO i = 1,nel
157 r11(i)=gama(i,1)
158 r21(i)=gama(i,2)
159 r31(i)=gama(i,3)
160 r12(i)=gama(i,4)
161 r22(i)=gama(i,5)
162 r32(i)=gama(i,6)
163 r13(i)=r21(i)*r32(i)-r31(i)*r22(i)
164 r23(i)=r31(i)*r12(i)-r11(i)*r32(i)
165 r33(i)=r11(i)*r22(i)-r21(i)*r12(i)
166 ENDDO
167 ENDIF
168c-----------
169 RETURN
170 END
subroutine rotloc(nel, gama, rx, ry, rz, sx, sy, sz, r11, r12, r13, r21, r22, r23, r31, r32, r33, jcvt, jsph)
Definition rotloc.F:34