OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i7lin3.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!|| i7lin3 ../starter/source/interfaces/inter3d1/i7lin3.F
25!||--- called by ------------------------------------------------------
26!|| i2bar3 ../starter/source/interfaces/inter3d1/i2dst3.F
27!||====================================================================
28 SUBROUTINE i7lin3(XI,YI,ZI,XA,YA,ZA,XB,YB,ZB,NX,NY,NZ,P,ALP)
29C-----------------------------------------------
30C I m p l i c i t T y p e s
31C-----------------------------------------------
32#include "implicit_f.inc"
33C-----------------------------------------------
34C D u m m y A r g u m e n t s
35C-----------------------------------------------
36C REAL
38 . xi,yi,zi,xa,ya,za,xb,yb,zb,nx,ny,nz,p,alp
39C-----------------------------------------------
40C L o c a l V a r i a b l e s
41C-----------------------------------------------
42C REAL
44 . xab,yab,zab,
45 . xp,yp,zp,norm
46C
47 xab = xb - xa
48 yab = yb - ya
49 zab = zb - za
50C
51 alp = (xi-xa)*xab + (yi-ya)*yab + (zi-za)*zab
52 norm = max(em20, xab**2 + yab**2 + zab**2)
53 alp = alp / norm
54 alp = max(zero,alp)
55 alp = min(one,alp)
56C
57 xp = xa + alp*xab
58 yp = ya + alp*yab
59 zp = za + alp*zab
60C
61 nx = xi -xp
62 ny = yi -yp
63 nz = zi -zp
64C
65 p = sqrt(nx**2 + ny**2 +nz**2)
66 norm = max(em20,p)
67C
68 nx = nx / norm
69 ny = ny / norm
70 nz = nz / norm
71C
72 RETURN
73 END
#define my_real
Definition cppsort.cpp:32
norm(diag(diag(diag(inv(mat))) -id.SOL), 2) % destroy mumps instance id.JOB
subroutine i7lin3(xi, yi, zi, xa, ya, za, xb, yb, zb, nx, ny, nz, p, alp)
Definition i7lin3.F:29
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21