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

Go to the source code of this file.

Functions/Subroutines

subroutine i9imp2 (x, v, a, irect, msr, nsv, iloc, irtl, nsn, cst, frigap, nor)

Function/Subroutine Documentation

◆ i9imp2()

subroutine i9imp2 ( x,
v,
a,
integer, dimension(4,*) irect,
integer, dimension(*) msr,
integer, dimension(*) nsv,
integer, dimension(*) iloc,
integer, dimension(*) irtl,
integer nsn,
cst,
frigap,
nor )

Definition at line 28 of file i9imp2.F.

31C-----------------------------------------------
32C I m p l i c i t T y p e s
33C-----------------------------------------------
34#include "implicit_f.inc"
35C-----------------------------------------------
36C D u m m y A r g u m e n t s
37C-----------------------------------------------
38 INTEGER NSN
39 INTEGER IRECT(4,*), MSR(*), NSV(*), ILOC(*), IRTL(*)
40C REAL
42 . x(3,*), v(3,*), a(3,*), cst(2,*),frigap(*), nor(3,*)
43C-----------------------------------------------
44C C o m m o n B l o c k s
45C-----------------------------------------------
46#include "com08_c.inc"
47C-----------------------------------------------
48C L o c a l V a r i a b l e s
49C-----------------------------------------------
50 INTEGER IX(2), II, I, J, K, L, M, IMP, I3, I2, JJ, J3, J2, LOLD
51C REAL
53 . h(2), n2, n3, gap, ym1, zm1, ym2, zm2, ys, zs, t2, t3,
54 . xl, ans, ss, stif, fni, fyi, fzi, ss0, fti, ds, anst
55C-----------------------------------------------
56 gap =frigap(2)
57C
58 DO 500 ii=1,nsn
59 i=nsv(ii)
60 j=iloc(ii)
61 k=msr(j)
62 l=irtl(ii)
63 m=msr(irect(1,l))
64 ix(1)=m
65 ym1=x(2,m) + (v(2,m) + a(2,m)*dt12)*dt2
66 zm1=x(3,m) + (v(3,m) + a(3,m)*dt12)*dt2
67 m=msr(irect(2,l))
68 ix(2)=m
69 ym2=x(2,m) + (v(2,m) + a(2,m)*dt12)*dt2
70 zm2=x(3,m) + (v(3,m) + a(3,m)*dt12)*dt2
71 ys =x(2,i) + (v(2,i) + a(2,i)*dt12)*dt2
72 zs =x(3,i) + (v(3,i) + a(3,i)*dt12)*dt2
73 t2=ym2-ym1
74 t3=zm2-zm1
75 xl=sqrt(t2**2+t3**2)
76 t2=t2/xl
77 t3=t3/xl
78 n2= t3
79 n3=-t2
80C
81 ans =n2*(ys-ym1)+n3*(zs-zm1)
82 ans =ans-gap
83 IF(ans>zero)THEN
84 iloc(ii)=-iloc(ii)
85 ELSE
86 h(2)=t2*(ys-ym1)+t3*(zs-zm1)
87 h(2)=h(2)/xl
88 h(1)=one - h(2)
89 ss=h(2)-h(1)
90 IF(ss> onep05)iloc(ii)=-iloc(ii)
91 IF(ss<-onep05)iloc(ii)=-iloc(ii)
92 ss= max(-one,ss)
93 ss= min( one,ss)
94 nor(2,ii)=n2
95 nor(3,ii)=n3
96 cst(1,ii)=ss
97 ENDIF
98C
99 500 CONTINUE
100 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21