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

Go to the source code of this file.

Functions/Subroutines

subroutine i12rot3 (xs, xm, x, skew, iskwn, ilev, iref, icen, nsn, nmn, tets, tetm)

Function/Subroutine Documentation

◆ i12rot3()

subroutine i12rot3 ( xs,
xm,
x,
skew,
integer, dimension(liskn,*) iskwn,
integer ilev,
integer iref,
integer icen,
integer nsn,
integer nmn,
tets,
tetm )

Definition at line 28 of file i12rot3.F.

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
#define my_real
Definition cppsort.cpp:32