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

Go to the source code of this file.

Functions/Subroutines

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)

Function/Subroutine Documentation

◆ s6cortho3()

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 at line 28 of file s6cortho3.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-----------------------------------------------
45C REAL
47 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*),
48 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*),
49 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*),
50 . rx(*) ,ry(*) ,rz(*) ,sx(*) ,sy(*) ,sz(*) ,tx(*) ,ty(*) ,tz(*),
51 . e1x(*),e1y(*),e1z(*),e2x(*),e2y(*),e2z(*),e3x(*),e3y(*),e3z(*)
52C-----------------------------------------------
53C C o m m o n B l o c k s
54C-----------------------------------------------
55#include "vect01_c.inc"
56C-----------------------------------------------
57C L o c a l V a r i a b l e s
58C-----------------------------------------------
59 INTEGER I
60C REAL
62 . x14(mvsiz) ,y14(mvsiz) , z14(mvsiz) ,
63 . det,c1,c2
64C-----------------------------------------------
65 DO 10 i=lft,llt
66 x14(i)=x1(i)+x4(i)
67 y14(i)=y1(i)+y4(i)
68 z14(i)=z1(i)+z4(i)
69 10 CONTINUE
70 DO 20 i=lft,llt
71 tx(i)=x2(i)+x5(i)-x14(i)
72 ty(i)=y2(i)+y5(i)-y14(i)
73 tz(i)=z2(i)+z5(i)-z14(i)
74 20 CONTINUE
75 DO 30 i=lft,llt
76 rx(i)=x3(i)+x6(i)-x14(i)
77 ry(i)=y3(i)+y6(i)-y14(i)
78 rz(i)=z3(i)+z6(i)-z14(i)
79 30 CONTINUE
80 DO i=lft,llt
81 sx(i)= (x4(i)+x5(i)+x6(i)-x1(i)-x2(i)-x3(i))*third
82 sy(i)= (y4(i)+y5(i)+y6(i)-y1(i)-y2(i)-y3(i))*third
83 sz(i)= (z4(i)+z5(i)+z6(i)-z1(i)-z2(i)-z3(i))*third
84 ENDDO
85c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86 DO 100 i=lft,llt
87C
88 e3x(i) = ty(i) * rz(i) - tz(i) * ry(i)
89 e3y(i) = tz(i) * rx(i) - tx(i) * rz(i)
90 e3z(i) = tx(i) * ry(i) - ty(i) * rx(i)
91C
92 det = sqrt(e3x(i)*e3x(i) + e3y(i)*e3y(i) + e3z(i)*e3z(i))
93 IF ( det/=zero) det = one / det
94 e3x(i) = e3x(i) * det
95 e3y(i) = e3y(i) * det
96 e3z(i) = e3z(i) * det
97C
98 c1=sqrt(tx(i)*tx(i)+ty(i)*ty(i)+tz(i)*tz(i))
99 c2=sqrt(rx(i)*rx(i)+ry(i)*ry(i)+rz(i)*rz(i))
100 e1x(i)=tx(i)*c2 +(ry(i) * e3z(i) - rz(i) * e3y(i))*c1
101 e1y(i)=ty(i)*c2 +(rz(i) * e3x(i) - rx(i) * e3z(i))*c1
102 e1z(i)=tz(i)*c2 +(rx(i) * e3y(i) - ry(i) * e3x(i))*c1
103 det = sqrt(e1x(i)*e1x(i) + e1y(i)*e1y(i) + e1z(i)*e1z(i))
104 IF ( det/=zero) det = one / det
105 e1x(i) = e1x(i)*det
106 e1y(i) = e1y(i)*det
107 e1z(i) = e1z(i)*det
108C
109 e2x(i) = e3y(i) * e1z(i) - e3z(i) * e1y(i)
110 e2y(i) = e3z(i) * e1x(i) - e3x(i) * e1z(i)
111 e2z(i) = e3x(i) * e1y(i) - e3y(i) * e1x(i)
112 100 CONTINUE
113c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
114 RETURN
#define my_real
Definition cppsort.cpp:32