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

Go to the source code of this file.

Functions/Subroutines

subroutine scortho31 (x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)

Function/Subroutine Documentation

◆ scortho31()

subroutine scortho31 ( x1,
x2,
x3,
x4,
x5,
x6,
x7,
x8,
y1,
y2,
y3,
y4,
y5,
y6,
y7,
y8,
z1,
z2,
z3,
z4,
z5,
z6,
z7,
z8,
e1x,
e2x,
e3x,
e1y,
e2y,
e3y,
e1z,
e2z,
e3z )

Definition at line 28 of file scortho31.F.

33C-----------------------------------------------
34C I m p l i c i t T y p e s
35C-----------------------------------------------
36#include "implicit_f.inc"
37C-----------------------------------------------
38C D u m m y A r g u m e n t s
39C-----------------------------------------------
41 . x1, x2, x3, x4, x5, x6, x7, x8,
42 . y1, y2, y3, y4, y5, y6, y7, y8,
43 . z1, z2, z3, z4, z5, z6, z7, z8,
44 . e1x, e1y, e1z,
45 . e2x, e2y, e2z,
46 . e3x, e3y, e3z
47C-----------------------------------------------
48C L o c a l V a r i a b l e s
49C-----------------------------------------------
50 INTEGER I
52 . x17 , x28 , x35 , x46,
53 . y17 , y28 , y35 , y46,
54 . z17 , z28 , z35 , z46,
55 . a17 , a28 ,
56 . b17 , b28 ,
57 . c17 , c28 ,
58 . rx , ry , rz ,
59 . tx , ty , tz ,
60 . det,c1,c2, sign,
61 . sx , sy , sz ,
62 . rsx , rsy , rsz
63C-----------------------------------------------
64 x17=x7-x1
65 x28=x8-x2
66 x35=x5-x3
67 x46=x6-x4
68 y17=y7-y1
69 y28=y8-y2
70 y35=y5-y3
71 y46=y6-y4
72 z17=z7-z1
73 z28=z8-z2
74 z35=z5-z3
75 z46=z6-z4
76C
77 rx=x17+x28-x35-x46
78 ry=y17+y28-y35-y46
79 rz=z17+z28-z35-z46
80 a17=x17+x46
81 a28=x28+x35
82 b17=y17+y46
83 b28=y28+y35
84 c17=z17+z46
85 c28=z28+z35
86C
87 tx=a17-a28
88 ty=b17-b28
89 tz=c17-c28
90C
91c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92C
93 e3x = ty * rz - tz * ry
94 e3y = tz * rx - tx * rz
95 e3z = tx * ry - ty * rx
96C
97 det = sqrt(e3x*e3x + e3y*e3y + e3z*e3z)
98 IF ( det/=zero) det = one / det
99 e3x = e3x * det
100 e3y = e3y * det
101 e3z = e3z * det
102C
103 c1=sqrt(tx*tx+ty*ty+tz*tz)
104 c2=sqrt(rx*rx+ry*ry+rz*rz)
105 e1x=tx*c2 +(ry * e3z - rz * e3y)*c1
106 e1y=ty*c2 +(rz * e3x - rx * e3z)*c1
107 e1z=tz*c2 +(rx * e3y - ry * e3x)*c1
108 det = sqrt(e1x*e1x + e1y*e1y + e1z*e1z)
109 IF ( det/=zero) det = one / det
110 e1x = e1x*det
111 e1y = e1y*det
112 e1z = e1z*det
113C
114 e2x = e3y * e1z - e3z * e1y
115 e2y = e3z * e1x - e3x * e1z
116 e2z = e3x * e1y - e3y * e1x
117c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
118 RETURN
#define my_real
Definition cppsort.cpp:32