OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s6ccoor3.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "vect01_c.inc"
#include "com04_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine s6ccoor3 (x, ixs, geo, ngl, mxt, ngeo, rx, ry, rz, sx, sy, sz, tx, ty, tz, r11, r21, r31, r12, r22, r32, r13, r23, r33, f1x, f1y, f1z, f2x, f2y, f2z, temp0, temp, nintemp, ix1, ix2, ix3, ix4, ix5, ix6, x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, z1, z2, z3, z4, z5, z6)

Function/Subroutine Documentation

◆ s6ccoor3()

subroutine s6ccoor3 ( x,
integer, dimension(nixs,*) ixs,
geo,
integer, dimension(*) ngl,
integer, dimension(*) mxt,
integer, dimension(*) ngeo,
rx,
ry,
rz,
sx,
sy,
sz,
tx,
ty,
tz,
r11,
r21,
r31,
r12,
r22,
r32,
r13,
r23,
r33,
f1x,
f1y,
f1z,
f2x,
f2y,
f2z,
temp0,
temp,
integer, intent(in) nintemp,
integer, dimension(*) ix1,
integer, dimension(*) ix2,
integer, dimension(*) ix3,
integer, dimension(*) ix4,
integer, dimension(*) ix5,
integer, dimension(*) ix6,
x1,
x2,
x3,
x4,
x5,
x6,
y1,
y2,
y3,
y4,
y5,
y6,
z1,
z2,
z3,
z4,
z5,
z6 )

Definition at line 33 of file s6ccoor3.F.

41
42 USE message_mod
43C
44C-----------------------------------------------
45C I m p l i c i t T y p e s
46C-----------------------------------------------
47#include "implicit_f.inc"
48C-----------------------------------------------
49C G l o b a l P a r a m e t e r s
50C-----------------------------------------------
51#include "mvsiz_p.inc"
52C-----------------------------------------------
53C C o m m o n B l o c k s
54C-----------------------------------------------
55#include "vect01_c.inc"
56#include "com04_c.inc"
57C-----------------------------------------------
58C D u m m y A r g u m e n t s
59C-----------------------------------------------
60 INTEGER IXS(NIXS,*),MXT(*),NGL(*),NGEO(*)
61 INTEGER ,INTENT(IN) :: NINTEMP
63 . x(3,*),geo(*),
64 . rx(*) ,ry(*) ,rz(*) ,sx(*) ,sy(*) ,sz(*) ,tx(*) ,ty(*) ,tz(*),
65 . r11(*),r12(*),r13(*),r21(*),r22(*),r23(*),r31(*),r32(*),r33(*),
66 . f1x(*),f1y(*),f1z(*),f2x(*),f2y(*),f2z(*),temp0(mvsiz), temp(*)
67 INTEGER IX1(*), IX2(*), IX3(*), IX4(*), IX5(*), IX6(*)
68 my_real
69 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*),
70 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*),
71 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*)
72C-----------------------------------------------
73C L o c a l V a r i a b l e s
74C-----------------------------------------------
75 INTEGER I, J
77 . xl,yl,zl
78C-----------------------------------------------
79C E x t e r n a l F u n c t i o n s
80C-----------------------------------------------
83C=======================================================================
84C CONNECTIVITES ET NUMERO DE MATERIAU ET PID
85C--------------------------------------------------
86 DO i=lft,llt
87 mxt(i)=ixs(1,i)
88 ix1(i)=ixs(2,i)
89 ix2(i)=ixs(3,i)
90 ix3(i)=ixs(4,i)
91 ix4(i)=ixs(6,i)
92 ix5(i)=ixs(7,i)
93 ix6(i)=ixs(8,i)
94 ngeo(i)=ixs(nixs-1,i)
95 ngl(i)=ixs(nixs,i)
96 IF (checkvolume_6n(x ,ixs(1,i)) < zero) THEN
97C renumber connectivity
98 ix1(i)=ixs(6,i)
99 ix2(i)=ixs(7,i)
100 ix3(i)=ixs(8,i)
101 ix4(i)=ixs(2,i)
102 ix5(i)=ixs(3,i)
103 ix6(i)=ixs(4,i)
104 ixs(2,i)=ix1(i)
105 ixs(3,i)=ix2(i)
106 ixs(4,i)=ix3(i)
107 ixs(6,i)=ix4(i)
108 ixs(7,i)=ix5(i)
109 ixs(8,i)=ix6(i)
110 ENDIF
111 ENDDO
112C
113C----------------------------
114C COORDONNEES
115C----------------------------
116 DO 20 i=lft,llt
117 x1(i)=x(1,ix1(i))
118 y1(i)=x(2,ix1(i))
119 z1(i)=x(3,ix1(i))
120 x2(i)=x(1,ix2(i))
121 y2(i)=x(2,ix2(i))
122 z2(i)=x(3,ix2(i))
123 x3(i)=x(1,ix3(i))
124 y3(i)=x(2,ix3(i))
125 z3(i)=x(3,ix3(i))
126 x4(i)=x(1,ix4(i))
127 y4(i)=x(2,ix4(i))
128 z4(i)=x(3,ix4(i))
129 x5(i)=x(1,ix5(i))
130 y5(i)=x(2,ix5(i))
131 z5(i)=x(3,ix5(i))
132 x6(i)=x(1,ix6(i))
133 y6(i)=x(2,ix6(i))
134 z6(i)=x(3,ix6(i))
135 20 CONTINUE
136C
137 DO i=lft,llt
138 f1x(i) = x2(i) - x1(i)
139 f1y(i) = y2(i) - y1(i)
140 f1z(i) = z2(i) - z1(i)
141 f2x(i) = x3(i) - x1(i)
142 f2y(i) = y3(i) - y1(i)
143 f2z(i) = z3(i) - z1(i)
144 ENDDO
145C
146 DO i=lft,llt
147 xl=one_over_6*(x1(i)+x2(i)+x3(i)+x4(i)+x5(i)+x6(i))
148 yl=one_over_6*(y1(i)+y2(i)+y3(i)+y4(i)+y5(i)+y6(i))
149 zl=one_over_6*(z1(i)+z2(i)+z3(i)+z4(i)+z5(i)+z6(i))
150 x1(i)=x1(i)-xl
151 y1(i)=y1(i)-yl
152 z1(i)=z1(i)-zl
153 x2(i)=x2(i)-xl
154 y2(i)=y2(i)-yl
155 z2(i)=z2(i)-zl
156 x3(i)=x3(i)-xl
157 y3(i)=y3(i)-yl
158 z3(i)=z3(i)-zl
159 x4(i)=x4(i)-xl
160 y4(i)=y4(i)-yl
161 z4(i)=z4(i)-zl
162 x5(i)=x5(i)-xl
163 y5(i)=y5(i)-yl
164 z5(i)=z5(i)-zl
165 x6(i)=x6(i)-xl
166 y6(i)=y6(i)-yl
167 z6(i)=z6(i)-zl
168 ENDDO
169C-----------
170C REPERE CONVECTE .
171C-----------
172 CALL s6cortho3(
173 . x1, x2, x3, x4, x5, x6,
174 . y1, y2, y3, y4, y5, y6,
175 . z1, z2, z3, z4, z5, z6,
176 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
177 . r11 ,r21 ,r31 ,r12 ,r22 ,r32 ,r13, r23, r33)
178C
179 DO i=lft,llt
180 xl=r11(i)*x1(i)+r21(i)*y1(i)+r31(i)*z1(i)
181 yl=r12(i)*x1(i)+r22(i)*y1(i)+r32(i)*z1(i)
182 zl=r13(i)*x1(i)+r23(i)*y1(i)+r33(i)*z1(i)
183 x1(i)=xl
184 y1(i)=yl
185 z1(i)=zl
186 xl=r11(i)*x2(i)+r21(i)*y2(i)+r31(i)*z2(i)
187 yl=r12(i)*x2(i)+r22(i)*y2(i)+r32(i)*z2(i)
188 zl=r13(i)*x2(i)+r23(i)*y2(i)+r33(i)*z2(i)
189 x2(i)=xl
190 y2(i)=yl
191 z2(i)=zl
192 xl=r11(i)*x3(i)+r21(i)*y3(i)+r31(i)*z3(i)
193 yl=r12(i)*x3(i)+r22(i)*y3(i)+r32(i)*z3(i)
194 zl=r13(i)*x3(i)+r23(i)*y3(i)+r33(i)*z3(i)
195 x3(i)=xl
196 y3(i)=yl
197 z3(i)=zl
198 xl=r11(i)*x4(i)+r21(i)*y4(i)+r31(i)*z4(i)
199 yl=r12(i)*x4(i)+r22(i)*y4(i)+r32(i)*z4(i)
200 x4(i)=xl
201 y4(i)=yl
202 z4(i)=-z1(i)
203 xl=r11(i)*x5(i)+r21(i)*y5(i)+r31(i)*z5(i)
204 yl=r12(i)*x5(i)+r22(i)*y5(i)+r32(i)*z5(i)
205 x5(i)=xl
206 y5(i)=yl
207 z5(i)=-z2(i)
208 xl=r11(i)*x6(i)+r21(i)*y6(i)+r31(i)*z6(i)
209 yl=r12(i)*x6(i)+r22(i)*y6(i)+r32(i)*z6(i)
210 x6(i)=xl
211 y6(i)=yl
212 z6(i)=-z3(i)
213 ENDDO
214C
215 IF(jthe < 0 ) THEN
216 IF(nintemp > 0 ) THEN
217 DO i= lft,llt
218 IF(temp(ix1(i))== zero) temp(ix1(i)) = temp0(i)
219 IF(temp(ix2(i))== zero) temp(ix2(i)) = temp0(i)
220 IF(temp(ix3(i))== zero) temp(ix3(i)) = temp0(i)
221 IF(temp(ix4(i))== zero) temp(ix4(i)) = temp0(i)
222 IF(temp(ix5(i))== zero) temp(ix5(i)) = temp0(i)
223 IF(temp(ix6(i))== zero) temp(ix6(i)) = temp0(i)
224 ENDDO
225 ELSE
226 DO i=lft,llt
227 temp(ix1(i))=temp0(i)
228 temp(ix2(i))=temp0(i)
229 temp(ix3(i))=temp0(i)
230 temp(ix4(i))=temp0(i)
231 temp(ix5(i))=temp0(i)
232 temp(ix6(i))=temp0(i)
233 ENDDO
234 ENDIF
235 ENDIF
236C-----------
237 RETURN
function checkvolume_6n(x, ixs)
#define my_real
Definition cppsort.cpp:32
subroutine s6cortho3(x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, z1, z2, z3, z4, z5, z6, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z)
Definition s6cortho3.F:34