OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
rotloc.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "com01_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine rotloc (nel, gama, rx, ry, rz, sx, sy, sz, r11, r12, r13, r21, r22, r23, r31, r32, r33, jcvt, jsph)

Function/Subroutine Documentation

◆ rotloc()

subroutine rotloc ( integer nel,
dimension(mvsiz,6) gama,
intent(inout) rx,
intent(inout) ry,
intent(inout) rz,
intent(inout) sx,
intent(inout) sy,
intent(inout) sz,
intent(out) r11,
intent(out) r12,
intent(out) r13,
intent(out) r21,
intent(out) r22,
intent(out) r23,
intent(out) r31,
intent(out) r32,
intent(out) r33,
integer, intent(in) jcvt,
integer, intent(in) jsph )

Definition at line 28 of file rotloc.F.

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
#define my_real
Definition cppsort.cpp:32