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

Go to the source code of this file.

Functions/Subroutines

subroutine r3buf3 (off, geo, x, al, ix, ipos, igeo, itab)

Function/Subroutine Documentation

◆ r3buf3()

subroutine r3buf3 ( off,
geo,
x,
al,
integer, dimension(nixr,*) ix,
ipos,
integer, dimension(npropgi,*) igeo,
integer, dimension(*) itab )

Definition at line 33 of file r3buf3.F.

35C-----------------------------------------------
36C M o d u l e s
37C-----------------------------------------------
38 USE message_mod
39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C C o m m o n B l o c k s
45C-----------------------------------------------
46#include "vect01_c.inc"
47#include "param_c.inc"
48#include "random_c.inc"
49C-----------------------------------------------
50C D u m m y A r g u m e n t s
51C-----------------------------------------------
52 INTEGER IX(NIXR,*),IGEO(NPROPGI,*),ITAB(*)
53C REAL
55 . off(*), geo(npropg,*), x(3,*), al(*),ipos(5,*),
56 . al1,al2
57C-----------------------------------------------
58C L o c a l V a r i a b l e s
59C-----------------------------------------------
60 INTEGER I, J, I1, I2, I3, K, USENS
61C REAL
63 . ex, ey, ez, ex2, ey2, ez2
65 . noise
66C-----------------------------------------------
67 noise = two*sqrt(three)*xalea
68 DO i=lft,llt
69 j=i+nft
70 usens=igeo(3,ix(1,j))
71 IF (usens <= 0) THEN
72C no sensor or Isflag=1
73 off(i)=one
74 ELSE
75 off(i)=-ten
76 ENDIF
77 ENDDO
78C
79 DO j=1,5
80 DO i=lft,llt
81 ipos(j,i)=zero
82 ENDDO
83 ENDDO
84C
85 DO i=lft,llt
86 j=i+nft
87 i1=ix(2,j)
88 i2=ix(3,j)
89 i3=ix(4,j)
90 ex=x(1,i2)-x(1,i1)
91 ey=x(2,i2)-x(2,i1)
92 ez=x(3,i2)-x(3,i1)
93 ex2=x(1,i2)-x(1,i3)
94 ey2=x(2,i2)-x(2,i3)
95 ez2=x(3,i2)-x(3,i3)
96 al(i)=sqrt(ex*ex+ey*ey+ez*ez)+sqrt(ex2*ex2+ey2*ey2+ez2*ez2)
97 al1 = sqrt(ex*ex+ey*ey+ez*ez)
98 al2 = sqrt(ex2*ex2+ey2*ey2+ez2*ez2)
99 IF (al1 < em15 .OR. al2 < em15 .OR.
100 . al1 < noise .OR. al2 < noise) THEN
101 CALL ancmsg(msgid=457,
102 . msgtype=msgwarning,
103 . anmode=aninfo_blind_1,
104 . i1=ix(nixr,j),
105 . i2=itab(i1),
106 . i3=itab(i2),
107 . i4=itab(i3))
108 ENDIF
109 ENDDO
110C-----------------------------------------------
111 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine noise(dt2r, in, j, buf, v, a, ixs, elbuf_tab, iparg, weight, ixq)
Definition noise.F:41
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:889