35
36
37
39 use element_mod , only : nixr
40
41
42
43#include "implicit_f.inc"
44
45
46
47#include "vect01_c.inc"
48#include "param_c.inc"
49#include "random_c.inc"
50
51
52
53 INTEGER IX(NIXR,*),IGEO(NPROPGI,*),ITAB(*)
54
56 . off(*), geo(npropg,*), x(3,*), al(*),ipos(5,*),
57 . al1,al2
58
59
60
61 INTEGER I, J, I1, I2, I3, USENS
62
64 . ex, ey, ez, ex2, ey2, ez2
67
68 noise = two*sqrt(three)*xalea
69 DO i=lft,llt
70 j=i+nft
71 usens=igeo(3,ix(1,j))
72 IF (usens <= 0) THEN
73
74 off(i)=one
75 ELSE
76 off(i)=-ten
77 ENDIF
78 ENDDO
79
80 DO j=1,5
81 DO i=lft,llt
82 ipos(j,i)=zero
83 ENDDO
84 ENDDO
85
86 DO i=lft,llt
87 j=i+nft
88 i1=ix(2,j)
89 i2=ix(3,j)
90 i3=ix(4,j)
91 ex=x(1,i2)-x(1,i1)
92 ey=x(2,i2)-x(2,i1)
93 ez=x(3,i2)-x(3,i1)
94 ex2=x(1,i2)-x(1,i3)
95 ey2=x(2,i2)-x(2,i3)
96 ez2=x(3,i2)-x(3,i3)
97 al(i)=sqrt(ex*ex+ey*ey+ez*ez)+sqrt(ex2*ex2+ey2*ey2+ez2*ez2)
98 al1 = sqrt(ex*ex+ey*ey+ez*ez)
99 al2 = sqrt(ex2*ex2+ey2*ey2+ez2*ez2)
100 IF (al1 < em15 .OR. al2 < em15 .OR.
103 . msgtype=msgwarning,
104 . anmode=aninfo_blind_1,
105 . i1=ix(nixr,j),
106 . i2=itab(i1),
107 . i3=itab(i2),
108 . i4=itab(i3))
109 ENDIF
110 ENDDO
111
112 RETURN
subroutine noise(dt2r, in, j, buf, v, a, ixs, elbuf_tab, iparg, weight, ixq)
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)