41 USE format_mod , ONLY : fmw_7i, fmw_7i_2f
42
43
44
45#include "implicit_f.inc"
46
47
48
49#include "units_c.inc"
50#include "scr03_c.inc"
51
52
53
54 INTEGER NSN,IWPENE,ICOR,INACTI
56 INTEGER IRECT(4,*), MSR(*), NSV(*), ILOC(*), IRTL(*), IRTL0(*),ITAB(*)
58 INTEGER ID
59 CHARACTER(LEN=NCHARTITLE)::TITR
60
61
62
63 INTEGER II, I, J, K, L, JJ, NN, IER
65 my_real :: xx1(4), xx2(4),xx3(4),xs1,ys1,zs1,xc,yc,zc
66
67
68
69 alp = twoem2
70 DO ii=1,nsn
71 i=nsv(ii)
72 j=iloc(ii)
73 k=msr(j)
74 l=irtl(ii)
75 DO jj=1,4
76 nn=msr(irect(jj,l))
77 xx1(jj)=x(1,nn)
78 xx2(jj)=x(2,nn)
79 xx3(jj)=x(3,nn)
80 ENDDO
81 xs1=x(1,i)
82 ys1=x(2,i)
83 zs1=x(3,i)
84 CALL inist3(n1,n2,n3,cst(1,ii),cst(2,ii),ier,alp,xx1,xx2,xx3,xs1,ys1,zs1,xc,yc,zc)
85 IF(ier==-1)THEN
87 . msgtype=msgerror,
88 . anmode=aninfo,
90 . c1=titr,
91 . i2=itab(i),
92 . i3=itab(k),
93 . i4=l,
94 . i5=itab(msr(irect(1,l))),
95 . i6=itab(msr(irect(2,l))),
96 . i7=itab(msr(irect(3,l))),
97 . i8=itab(msr(irect(4,l))))
98 ELSE IF(ier==1)THEN
99 IF(ipri>=1)WRITE(iout,fmt=fmw_7i)itab(i),itab(k),l,
100 . (itab(msr(irect(jj,l))),jj=1,4)
101 ELSE
102 pen = n1*(xs1-xc)+n2*(ys1-yc)+n3*(zs1-zc) - gap
103 IF (pen<=zero) irtl0(ii)=l
104 IF (pen < zero) THEN
107 . msgtype=msgwarning,
108 . anmode=aninfo_blind_2,
110 . c1=titr,
111 . r1=pen)
112 IF (inacti == 5) THEN
113
114 gap =
max(zero, gap + pen)
115 ELSEIF (inacti == 6) THEN
116
117 gap =
max(zero, gap + pen + zep05 * (gap + pen))
118 ENDIF
119 iwpene=iwpene+1
120 ENDIF
121 IF(ipri>=1)WRITE(iout,fmt=fmw_7i_2f)
122 . itab(i),itab(k),l,
123 . (itab(msr(irect(jj,l))),jj=1,4),cst(1,ii),cst(2,ii)
124 ENDIF
125 ENDDO
126 IF (icor == 0) peni = zero
127
128 RETURN
subroutine inist3(n1, n2, n3, ssc, ttc, ier, alp, xx1, xx2, xx3, xs1, ys1, zs1, xc, yc, zc)
integer, parameter nchartitle
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)