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

Go to the source code of this file.

Functions/Subroutines

subroutine i3dis3 (igimp, nty, dist, x1, x2, x3, x4, xi, y1, y2, y3, y4, yi, z1, z2, z3, z4, zi, xface, n1, n2, n3, ssc, ttc, alp, ans, xp, yp, zp, h1, h2, h3, h4, lft, llt)

Function/Subroutine Documentation

◆ i3dis3()

subroutine i3dis3 ( integer igimp,
integer nty,
dist,
intent(in) x1,
intent(in) x2,
intent(in) x3,
intent(in) x4,
intent(in) xi,
intent(in) y1,
intent(in) y2,
intent(in) y3,
intent(in) y4,
intent(in) yi,
intent(in) z1,
intent(in) z2,
intent(in) z3,
intent(in) z4,
intent(in) zi,
intent(inout) xface,
intent(in) n1,
intent(in) n2,
intent(in) n3,
intent(inout) ssc,
intent(inout) ttc,
intent(in) alp,
intent(inout) ans,
intent(inout) xp,
intent(inout) yp,
intent(inout) zp,
intent(inout) h1,
intent(inout) h2,
intent(inout) h3,
intent(inout) h4,
integer, intent(inout) lft,
integer, intent(inout) llt )

Definition at line 32 of file i3dis3.F.

42C-----------------------------------------------
43C I m p l i c i t T y p e s
44C-----------------------------------------------
45#include "implicit_f.inc"
46C-----------------------------------------------
47C G l o b a l P a r a m e t e r s
48C-----------------------------------------------
49#include "mvsiz_p.inc"
50C-----------------------------------------------
51C D u m m y A r g u m e n t s
52C-----------------------------------------------
53 INTEGER, INTENT(INOUT) :: LFT
54 INTEGER, INTENT(INOUT) :: LLT
55 INTEGER IGIMP,NTY
56 my_real dist(*)
57 my_real, DIMENSION(MVSIZ), INTENT(IN) :: x1,x2,x3,x4,xi
58 my_real, DIMENSION(MVSIZ), INTENT(IN) :: y1,y2,y3,y4,yi
59 my_real, DIMENSION(MVSIZ), INTENT(IN) :: z1,z2,z3,z4,zi
60 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: xface,ans
61 my_real, DIMENSION(MVSIZ), INTENT(IN) :: n1,n2,n3,alp
62 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: xp,yp,zp,ssc,ttc
63 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: h1,h2,h3,h4
64C-----------------------------------------------
65C L o c a l V a r i a b l e s
66C-----------------------------------------------
67 INTEGER I
68C-----------------------------------------------
69 DO i=lft,llt
70 IF (xface(i) == zero) cycle
71 IF (abs(ssc(i))>one+alp(i) .OR. abs(ttc(i))>one+alp(i)) THEN
72 xface(i)=zero
73 ELSE
74 IF(abs(ssc(i)) > one) ssc(i)=ssc(i)/abs(ssc(i))
75 IF(abs(ttc(i)) > one) ttc(i)=ttc(i)/abs(ttc(i))
76 ENDIF
77 END DO
78C
79 igimp=0
80 DO i=lft,llt
81 igimp = igimp + abs(xface(i))
82 END DO
83 IF (igimp == 0) RETURN
84C
85 DO i=lft,llt
86 h1(i) = fourth*(one-ttc(i))*(one-ssc(i))
87 h2(i) = fourth*(one-ttc(i))*(one+ssc(i))
88 h3(i) = fourth*(one+ttc(i))*(one+ssc(i))
89 h4(i) = fourth*(one+ttc(i))*(one-ssc(i))
90 END DO
91C
92 DO i=lft,llt
93 xp(i)=h1(i)*x1(i)+h2(i)*x2(i)+h3(i)*x3(i)+h4(i)*x4(i)
94 yp(i)=h1(i)*y1(i)+h2(i)*y2(i)+h3(i)*y3(i)+h4(i)*y4(i)
95 zp(i)=h1(i)*z1(i)+h2(i)*z2(i)+h3(i)*z3(i)+h4(i)*z4(i)
96 END DO
97C
98 DO i=lft,llt
99 ans(i)= n1(i)*(xi(i)-xp(i))
100 . +n2(i)*(yi(i)-yp(i))
101 . +n3(i)*(zi(i)-zp(i))
102 END DO
103 IF (nty == 8) THEN
104 DO i=lft,llt
105 dist(i) = ans(i)
106 ENDDO
107 ENDIF
108C-----------
109 RETURN
#define my_real
Definition cppsort.cpp:32