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 in 2d the stresses are:
94C 1=YY 2=ZZ 3=TT 4=YZ 5=0 6=0
95C CONTRADICTION WITH X=T
96C---------------------------------------------
97 DO i = 1,nel
98 rr = sqrt(sy(i)**2+sz(i)**2)
99 rx(i)= sy(i)/rr
100 ry(i)= sz(i)/rr
101 rz(i)= zero
102 sx(i)=-ry(i)
103 sy(i)= rx(i)
104 sz(i)= zero
105 tx(i)= zero
106 ty(i)= zero
107 tz(i)= one
108 ENDDO
109 ENDIF
110C
111 DO i = 1,nel
112 s11(i)=gama(i,1)
113 s21(i)=gama(i,2)
114 s31(i)=gama(i,3)
115 s12(i)=gama(i,4)
116 s22(i)=gama(i,5)
117 s32(i)=gama(i,6)
118 s13(i)=s21(i)*s32(i)-s31(i)*s22(i)
119 s23(i)=s31(i)*s12(i)-s11(i)*s32(i)
120 s33(i)=s11(i)*s22(i)-s21(i)*s12(i)
121 ENDDO
122C
123 DO i = 1,nel
124 r11(i) = s11(i)*rx(i)+s21(i)*sx(i)+s31(i)*tx(i)
125 r21(i) = s11(i)*ry(i)+s21(i)*sy(i)+s31(i)*ty(i)
126 r31(i) = s11(i)*rz(i)+s21(i)*sz(i)+s31(i)*tz(i)
127C
128 r12(i) = s12(i)*rx(i)+s22(i)*sx(i)+s32(i)*tx(i)
129 r22(i) = s12(i)*ry(i)+s22(i)*sy(i)+s32(i)*ty(i)
130 r32(i) = s12(i)*rz(i)+s22(i)*sz(i)+s32(i)*tz(i)
131C
132 r13(i) = s13(i)*rx(i)+s23(i)*sx(i)+s33(i)*tx(i)
133 r23(i) = s13(i)*ry(i)+s23(i)*sy(i)+s33(i)*ty(i)
134 r33(i) = s13(i)*rz(i)+s23(i)*sz(i)+s33(i)*tz(i)
135 ENDDO
136c-------------------------------------------------------
137 ELSE
138c CO-ROTATIONAL FORMULATION IN ORTHOTROPIC CO-ROTATIONAL SYSTEM.
139 DO i = 1,nel
140 r11(i) = one
141 r21(i) = zero
142 r31(i) = zero
143C
144 r12(i) = zero
145 r22(i) = one
146 r32(i) = zero
147C
148 r13(i) = zero
149 r23(i) = zero
150 r33(i) = one
151 ENDDO
152 ENDIF
153C-------------------------------------------------------
154 ELSE
155 DO i = 1,nel
156 r11(i)=gama(i,1)
157 r21(i)=gama(i,2)
158 r31(i)=gama(i,3)
159 r12(i)=gama(i,4)
160 r22(i)=gama(i,5)
161 r32(i)=gama(i,6)
162 r13(i)=r21(i)*r32(i)-r31(i)*r22(i)
163 r23(i)=r31(i)*r12(i)-r11(i)*r32(i)
164 r33(i)=r11(i)*r22(i)-r21(i)*r12(i)
165 ENDDO
166 ENDIF
167c-----------
168 RETURN
169 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