OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i12rot3.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!|| i12rot3 ../engine/source/interfaces/inter3d/i12rot3.F
25!||--- called by ------------------------------------------------------
26!|| intti12a ../engine/source/interfaces/interf/intti12.F
27!||====================================================================
28 SUBROUTINE i12rot3(XS,XM,X,SKEW,ISKWN,ILEV,IREF,ICEN,NSN,NMN,
29 & TETS,TETM)
30C-----------------------------------------------
31C I m p l i c i t T y p e s
32C-----------------------------------------------
33#include "implicit_f.inc"
34C-----------------------------------------------
35C D u m m y A r g u m e n t s
36C-----------------------------------------------
37 INTEGER ILEV,IREF,ICEN,ISKWN(LISKN,*),NSN,NMN
39 . xs(3,*),xm(3,*),x(3,*),skew(lskew,*),tets(*),tetm(*)
40C-----------------------------------------------
41C C o m m o n B l o c k s
42C-----------------------------------------------
43#include "param_c.inc"
44C-----------------------------------------------
45C L o c a l V a r i a b l e s
46C-----------------------------------------------
47 INTEGER I,ORIG
49 . xx(3),xo(3),xr(3),rr,tet,p(9)
50C
51 IF(ilev==1)THEN
52C ORIG=ISKWN(1,IREF+1)
53 IF(icen>0)THEN
54 xo(1)=x(1,icen)
55 xo(2)=x(2,icen)
56 xo(3)=x(3,icen)
57 ELSE
58 xo(1)=zero
59 xo(2)=zero
60 xo(3)=zero
61 ENDIF
62 DO i=1,9
63 p(i)=skew(i,iref+1)
64 ENDDO
65 DO i=1,nsn
66 xx(1)=xs(1,i)-xo(1)
67 xx(2)=xs(2,i)-xo(2)
68 xx(3)=xs(3,i)-xo(3)
69 xr(1)=p(1)*xx(1)+p(2)*xx(2)+p(3)*xx(3)
70 xr(2)=p(4)*xx(1)+p(5)*xx(2)+p(6)*xx(3)
71 xr(3)=p(7)*xx(1)+p(8)*xx(2)+p(9)*xx(3)
72 rr=sqrt(xr(2)**2+xr(3)**2)
73 IF(xr(3)/=zero.AND.xr(2)/=zero) THEN
74 tet=atan2(xr(3),xr(2))
75 ELSE
76 tet=zero
77 ENDIF
78 xs(1,i)=xr(1)
79 xs(2,i)=rr
80 xs(3,i)=tet
81 tets(i)=tet
82 ENDDO
83 DO i=1,nmn
84 xx(1)=xm(1,i)-xo(1)
85 xx(2)=xm(2,i)-xo(2)
86 xx(3)=xm(3,i)-xo(3)
87 xr(1)=p(1)*xx(1)+p(2)*xx(2)+p(3)*xx(3)
88 xr(2)=p(4)*xx(1)+p(5)*xx(2)+p(6)*xx(3)
89 xr(3)=p(7)*xx(1)+p(8)*xx(2)+p(9)*xx(3)
90 rr=sqrt(xr(2)**2+xr(3)**2)
91 IF(xr(3)/=zero.AND.xr(2)/=zero) THEN
92 tet=atan2(xr(3),xr(2))
93 ELSE
94 tet=zero
95 ENDIF
96 xm(1,i)=xr(1)
97 xm(2,i)=rr
98 xm(3,i)=tet
99 tetm(i)=tet
100 ENDDO
101 ENDIF
102
103 RETURN
104 END
105
106
#define my_real
Definition cppsort.cpp:32
subroutine i12rot3(xs, xm, x, skew, iskwn, ilev, iref, icen, nsn, nmn, tets, tetm)
Definition i12rot3.F:30