41#include "implicit_f.inc"
56 INTEGER ,NPH,,IADFY,IADMX,IADMY,ICRIT
57 my_real ::
for,mom,dt,time,nijmax,nic,
alpha,beta,cfc,tmin,tdelay,
58 . wd,wa,wa2,wa3,a0,a1,a2,b1,b2,x0,x1,x2,y1,y2,yf,ym,infinity
59 parameter(infinity = 1.0e20)
72 IF (sensor%STATUS == 1)
RETURN
73 IF (sensor%VAR(3) == zero)
RETURN
76 tdelay = sensor%TDELAY
77 nijmax = sensor%RPARAM(1)
78 alpha = sensor%RPARAM(6)
79 cfc = sensor%RPARAM(7)
89 wa3 = one + sqr2*wa + wa2
93 b1 = -two*(wa2 - one) / wa3
94 b2 = (-one + sqr2*wa - wa2) / wa3
110 x1 = sensor%VAR(iadfx+5)
111 x2 = sensor%VAR(iadfx+4)
112 y1 = sensor%VAR(iadfy+5)
113 y2 = sensor%VAR(iadfy+4)
115 yf = a0*x0 + a1*x1 + a2*x2 + b1*y1 + b2*y2
117 sensor%VAR(iadfx+1) = sensor%VAR(iadfx+2)
118 sensor%VAR(iadfx+2) = sensor%VAR(iadfx+3)
119 sensor%VAR(iadfx+3) = sensor%VAR(iadfx+4)
120 sensor%VAR(iadfx+4) = sensor%VAR(iadfx+5)
121 sensor%VAR(iadfx+5) =
for
123 sensor%VAR(iadfy+1) = sensor%VAR(iadfy+2)
124 sensor%VAR(iadfy+2) = sensor%VAR(iadfy+3)
125 sensor%VAR(iadfy+3) = sensor%VAR(iadfy+4)
126 sensor%VAR(iadfy+4) = sensor%VAR(iadfy+5)
127 sensor%VAR(iadfy+5) = yf
131 x0 = sensor%VAR(iadfx+nph)
132 x1 = sensor%VAR(iadfx+nph+1)
133 x2 = sensor%VAR(iadfx+nph+2)
134 y1 = sensor%VAR(iadfy+nph+1)
135 y2 = sensor%VAR(iadfy+nph+2)
137 for = a0*x0 + a1*x1 + a2*x2 + b1*y1 + b2*y2
141 x1 = sensor%VAR(iadmx+5)
142 x2 = sensor%VAR(iadmx+4)
143 y1 = sensor%VAR(iadmy+5)
144 y2 = sensor%VAR(iadmy+4)
146 ym = a0*x0 + a1*x1 + a2*x2 + b1*y1 + b2*y2
148 sensor%VAR(iadmx+1) = sensor%VAR(iadmx+2)
149 sensor%VAR(iadmx+2) = sensor%VAR(iadmx+3)
150 sensor%VAR(iadmx+3) = sensor%VAR(iadmx+4)
151 sensor%VAR(iadmx+4) = sensor%VAR(iadmx+5)
152 sensor%VAR(iadmx+5) = mom
154 sensor%VAR(iadmy+1) = sensor%VAR(iadmy+2)
155 sensor%VAR(iadmy+2) = sensor%VAR(iadmy+3)
156 sensor%VAR(iadmy+3) = sensor%VAR(iadmy+4)
157 sensor%VAR(iadmy+4) = sensor%VAR(iadmy+5)
158 sensor%VAR(iadmy+5) = ym
162 x0 = sensor%VAR(iadmx+nph)
163 x1 = sensor%VAR(iadmx+nph+1)
164 x2 = sensor%VAR(iadmx+nph+2)
165 y1 = sensor%VAR(iadmy+nph+1)
166 y2 = sensor%VAR(iadmy+nph+2)
167 mom = a0*x0 + a1*x1 + a2*x2 + b1*y1 + b2*y2
170 IF (nic >= nijmax) icrit = 1
174 IF (sensor%TCRIT + tmin > tt)
THEN
176 sensor%TCRIT = infinity
177 ELSE IF (sensor%TCRIT == infinity)
THEN
178 sensor%TCRIT =
min(sensor%TCRIT, tt)
180 ELSE IF (sensor%TSTART == infinity)
THEN
181 sensor%TSTART = sensor%TCRIT + tmin + tdelay
183 IF (sensor%TSTART <= tt)
THEN
187 IF (sensor%STATUS == 1 .and. ispmd == 0)
THEN
189 WRITE (istdo,1100 ) sensor%SENS_ID,sensor%TSTART,nic
190 WRITE (iout ,1100 ) sensor%SENS_ID,sensor%TSTART,nic
191 WRITE (iout ,1200) nijmax,nic
192#include "lockoff.inc"
1951100
FORMAT(
' SENSOR (RBODY) NUMBER ',i10,
' ,ACTIVATED AT TIME ',1pe12.5)
1961200
FORMAT(
' TARGET NIC VALUE = ',1pe12.5,/
197 .
' CURRENT NIC VALUE AFTER TMIN and TDELAY = ',1pe12.5)