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