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-----------------------------------------------
51 . x17 , x28 , x35 , x46,
52 . y17 , y28 , y35 , y46,
53 . z17 , z28 , z35 , z46,
54 . a17 , a28 ,
55 . b17 , b28 ,
56 . c17 , c28 ,
57 . rx , ry , rz ,
58 . tx , ty , tz ,
59 . det,c1,c2, sign,
60 . sx , sy , sz ,
61 . rsx , rsy , rsz
62C-----------------------------------------------
63 x17=x7-x1
64 x28=x8-x2
65 x35=x5-x3
66 x46=x6-x4
67 y17=y7-y1
68 y28=y8-y2
69 y35=y5-y3
70 y46=y6-y4
71 z17=z7-z1
72 z28=z8-z2
73 z35=z5-z3
74 z46=z6-z4
75C
76 rx=x17+x28-x35-x46
77 ry=y17+y28-y35-y46
78 rz=z17+z28-z35-z46
79 a17=x17+x46
80 a28=x28+x35
81 b17=y17+y46
82 b28=y28+y35
83 c17=z17+z46
84 c28=z28+z35
85C
86 tx=a17-a28
87 ty=b17-b28
88 tz=c17-c28
89C
90c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91C
92 e3x = ty * rz - tz * ry
93 e3y = tz * rx - tx * rz
94 e3z = tx * ry - ty * rx
95C
96 det = sqrt(e3x*e3x + e3y*e3y + e3z*e3z)
97 IF ( det/=zero) det = one / det
98 e3x = e3x * det
99 e3y = e3y * det
100 e3z = e3z * det
101C
102 c1=sqrt(tx*tx+ty*ty+tz*tz)
103 c2=sqrt(rx*rx+ry*ry+rz*rz)
104 e1x=tx*c2 +(ry * e3z - rz * e3y)*c1
105 e1y=ty*c2 +(rz * e3x - rx * e3z)*c1
106 e1z=tz*c2 +(rx * e3y - ry * e3x)*c1
107 det = sqrt(e1x*e1x + e1y*e1y + e1z*e1z)
108 IF ( det/=zero) det = one / det
109 e1x = e1x*det
110 e1y = e1y*det
111 e1z = e1z*det
112C
113 e2x = e3y * e1z - e3z * e1y
114 e2y = e3z * e1x - e3x * e1z
115 e2z = e3x * e1y - e3y * e1x
116c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
117 RETURN
#define my_real
Definition cppsort.cpp:32