39#include "implicit_f.inc"
51 my_real,
DIMENSION(LLACCELM,*) :: acc
52 TYPE () ,
TARGET :: SENSOR
58 my_real :: acc_x,acc_y,acc_z,accmin,tstart,tmin,tdelay,infinity
59 parameter(infinity = 1.0e20)
61 IF (sensor%STATUS == 1)
RETURN
64 tdelay = sensor%TDELAY
65 nacc = sensor%IPARAM(1)
70 iacc = sensor%IPARAM(j+1)
71 idir = sensor%IPARAM(j+2)
72 accmin = sensor%RPARAM(k+1)
73 tmin = sensor%RPARAM(k+2)
74 tstart = sensor%RPARAM(k+3)
78 IF (abs(acc(20,iacc)) > accmin) icrit = 1
79 ELSEIF (idir == 2)
THEN
81 IF (abs(acc(21,iacc)) > accmin) icrit =
82 ELSEIF (idir == 4)
THEN
84 IF (abs(acc(22,iacc)) > accmin) icrit = 1
85 ELSEIF (idir == 3)
THEN
87 IF (sqrt(acc(20,iacc)*acc(20,iacc)
88 . + acc(21,iacc)*acc(21,iacc)) > accmin) icrit = 1
89 ELSEIF (idir == 5)
THEN
91 IF (sqrt(acc(20,iacc)*acc(20,iacc)
92 . + acc(22,iacc)*acc(22,iacc)) > accmin) icrit = 1
93 ELSEIF (idir == 6)
THEN
95 IF (sqrt(acc(21,iacc)*acc(21,iacc)
96 . + acc(22,iacc)*acc(22,iacc)) > accmin) icrit
97 ELSEIF (idir == 7)
THEN
99 IF (sqrt(acc(20,iacc)*acc(20,iacc)
100 . + acc(21,iacc)*acc(21,iacc)
101 . + acc(22,iacc)*acc(22,iacc)) > accmin) icrit = 1
106 IF (sensor%TCRIT + tmin > tt)
THEN
108 sensor%TCRIT = infinity
109 ELSE IF (sensor%TCRIT == infinity)
THEN
110 sensor%TCRIT =
min(sensor%TCRIT, tt)
114 IF (sensor%TSTART == infinity .and. sensor%TCRIT < infinity)
THEN
115 sensor%RPARAM(k+3) = sensor%TCRIT + tmin + tdelay
117 IF (sensor%RPARAM(k+3) <= tt)
THEN
124 IF (sensor%STATUS == 1 .and. ispmd == 0)
THEN
126 WRITE (istdo,1100) sensor%SENS_ID,sensor%TSTART
127 WRITE (iout ,1100) sensor%SENS_ID,sensor%TSTART
128#include "lockoff.inc"
1311100
FORMAT(
' SENSOR NUMBER ',i10,
' ,ACTIVATED AT TIME ',1pe12.5)