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

Go to the source code of this file.

Functions/Subroutines

subroutine iqel02 (x, irect, lmsr, msr, nsv, iloc, irtl, nsn, nseg, crst, nor)

Function/Subroutine Documentation

◆ iqel02()

subroutine iqel02 ( dimension(3,numnod), intent(in) x,
integer, dimension(4,*), intent(in) irect,
integer, dimension(*), intent(in) lmsr,
integer, dimension(*), intent(in) msr,
integer, dimension(*), intent(in) nsv,
integer, dimension(*), intent(in) iloc,
integer, dimension(*), intent(in) irtl,
integer, intent(in) nsn,
integer, dimension(*), intent(in) nseg,
dimension(2,*), intent(in) crst,
dimension(3,*), intent(inout) nor )

Definition at line 28 of file iqel02.F.

30C-----------------------------------------------
31C I m p l i c i t T y p e s
32C-----------------------------------------------
33#include "implicit_f.inc"
34C-----------------------------------------------
35C C o m m o n B l o c k s
36C-----------------------------------------------
37#include "com04_c.inc"
38C-----------------------------------------------
39C D u m m y A r g u m e n t s
40C-----------------------------------------------
41 INTEGER,INTENT(IN) :: NSN
42 INTEGER,INTENT(IN) :: IRECT(4,*), LMSR(*), MSR(*), NSV(*), ILOC(*), IRTL(*),NSEG(*)
43 my_real,INTENT(IN) :: x(3,numnod), crst(2,*)
44 my_real,INTENT(INOUT) :: nor(3,*)
45C-----------------------------------------------
46C L o c a l V a r i a b l e s
47C-----------------------------------------------
48 INTEGER II, I, J, L, M1, M2, LK, NUM, NPT, JJ
49 my_real n2, n3, ym1, ym2, zm1, zm2, ss, sck, xmg
50C-----------------------------------------------
51C S o u r c e L i n e s
52C-----------------------------------------------
53 DO ii=1,nsn
54 i = nsv(ii)
55 j = iloc(ii)
56 l = irtl(ii)
57 m1 = msr(irect(1,l))
58 m2 = msr(irect(2,l))
59 ym1 = x(2,m1)
60 ym2 = x(2,m2)
61 zm1 = x(3,m1)
62 zm2 = x(3,m2)
63 !C-------------------------
64 !C NORMAL VECTOR
65 !C-------------------------
66 n2 = zm1-zm2
67 n3 = ym2-ym1
68 ss = crst(1,ii)
69 sck = abs(ss)-one
70 IF(abs(sck) <= fiveem2) THEN
71 !C----------------------------------
72 !C EXTREMITIES
73 !C WEIGHTED MEAN VALUES FROM NORMAL VECTORS
74 !C----------------------------------
75 lk=l
76 num=nseg(j+1)-nseg(j)
77 IF(num == 2) THEN
78 npt=nseg(j)-1
79 DO jj=1,num
80 l=lmsr(npt+jj)
81 IF(l /= lk) THEN
82 m1 = msr(irect(1,l))
83 m2 = msr(irect(2,l))
84 ym1 = x(2,m1)
85 ym2 = x(2,m2)
86 zm1 = x(3,m1)
87 zm2 = x(3,m2)
88 n2 = n2+zm1-zm2
89 n3 = n3+ym2-ym1
90 ENDIF
91 ENDDO !next JJ
92 ENDIF
93 ENDIF
94 xmg = sqrt(n2*n2+n3*n3)
95 n2 = n2/xmg
96 n3 = n3/xmg
97 nor(1,ii) = zero
98 nor(2,ii) = n2
99 nor(3,ii) = n3
100 ENDDO !next II
101C-----------------------------------------------
102 RETURN
#define my_real
Definition cppsort.cpp:32