OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
scortho31.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| scortho31 ../starter/source/elements/thickshell/solidec/scortho31.F
25!||--- called by ------------------------------------------------------
26!|| srota6_m1 ../starter/source/output/anim/srota6_M1.F
27!||====================================================================
28 SUBROUTINE scortho31(
29 . X1, X2, X3, X4, X5, X6, X7, X8,
30 . Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8,
31 . Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8,
32 . E1X, E2X, E3X, E1Y, E2Y, E3Y, E1Z, E2Z, E3Z )
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
118 END
#define my_real
Definition cppsort.cpp:32
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 scortho31.F:33