52#include "implicit_f.inc"
64 my_real ,
DIMENSION(3,NUMNOD) :: x
65 TYPE (SURF_) ,
DIMENSION(NSURF),
TARGET :: IGRSURF
66 TYPE (SENSOR_STR_) :: SENSOR
70 INTEGER ISURF, INOD, NP1, NP2, NP3, ICRIT, IFLAG
71 my_real dist,dmin,dmax,tdelay,tmin
72 my_real xnod,ynod,znod,xp1,yp1,zp1,xp2,yp2,zp2,xp3,yp3,zp3
74 IF (sensor%STATUS == 1)
RETURN
85 tdelay = sensor%TDELAY
86 inod = sensor%IPARAM(1)
87 isurf = sensor%IPARAM(2)
89 dmin = sensor%RPARAM(1)
90 dmax = sensor%RPARAM(2)
103 np1 = sensor%IPARAM(3)
104 np2 = sensor%IPARAM(4)
105 np3 = sensor%IPARAM(5)
116 . xnod,ynod,znod,xp1,yp1,zp1,xp2,yp2,zp2,xp3,yp3,zp3)
120 IF (sensor%VALUE <= dmin)
THEN
123 ELSE IF (sensor%VALUE >= dmax)
THEN
127 sensor%RESULTS(1) = sensor%VALUE
131 IF (sensor%TCRIT + tmin > tt)
THEN
133 sensor%TCRIT = infinity
134 ELSE IF (sensor%TCRIT == infinity)
THEN
135 sensor%TCRIT =
min(sensor%TCRIT, tt)
138 IF (sensor%TSTART == infinity .and. sensor%TCRIT < infinity)
THEN
139 sensor%TSTART = sensor%TCRIT + tmin + tdelay
141 IF (sensor%TSTART <= tt)
THEN
145 IF (sensor%STATUS == 1 .and. ispmd == 0)
THEN
147 WRITE (istdo,1100) sensor%SENS_ID,sensor%TSTART
148 WRITE (iout ,1100) sensor%SENS_ID,sensor%TSTART
150 WRITE (iout ,1200) dmin,dist
151 ELSE IF (iflag == 2)
THEN
152 WRITE (iout ,1300) dmax,dist
154#include "lockoff.inc"
1571100
FORMAT(
' SENSOR NUMBER ',i10,
' ,ACTIVATED AT TIME ',1pe12.5)
1581200
FORMAT(
' TARGET MIN DISTANCE TO PLAN = ',1pe12.5,/
159 .
' CURRENT DISTANCE AFTER TMIN and TDELAY = ',1pe12.5)
1601300
FORMAT(
' TARGET MAX DISTANCE TO PLAN = ',1pe12.5,/
161 .
' CURRENT DISTANCE AFTER TMIN and TDELAY = ',1pe12.5)
subroutine dist_node_plane_3n(dist, xnod, ynod, znod, xp1, yp1, zp1, xp2, yp2, zp2, xp3, yp3, zp3)