34
35
36
37#include "implicit_f.inc"
38
39
40
41#include "mvsiz_p.inc"
42
43
44
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
52
53
54
55#include "com01_c.inc"
56
57
58
59 INTEGER I
61 my_real,
DIMENSION(NEL) :: s11,s12,s13,s21,s22,s23,s31,s32,s33,
62 . tx,ty,tz
63
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
92
93
94
95
96
97
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
111
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
123
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)
128
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)
132
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
137
138 ELSE
139
140 DO i = 1,nel
141 r11(i) = one
142 r21(i) = zero
143 r31(i) = zero
144
145 r12(i) = zero
146 r22(i) = one
147 r32(i) = zero
148
149 r13(i) = zero
150 r23(i) = zero
151 r33(i) = one
152 ENDDO
153 ENDIF
154
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
168
169 RETURN