33
34
35
36 USE sensor_mod
37
38
39
40#include "implicit_f.inc"
41
42
43
44#include "param_c.inc"
45#include "com04_c.inc"
46#include "com08_c.inc"
47
48
49
50 INTEGER, INTENT(IN) :: NEL,NSENSOR
51 INTEGER IGEO(,*),MGN(*)
52 my_real :: geo(npropg,*), off(*),dx(*),x0(*)
53 TYPE (SENSOR_STR_) ,DIMENSION(NSENSOR), INTENT(IN) :: SENSOR_TAB
54
55
56
57 INTEGER I, ISENS,K,USENS,IFL
58
59 DO i=1,nel
60 isens=0
61 usens=igeo(3,mgn(i))
62 ifl=nint(geo(80,mgn(i)))
63 DO k=1,nsensor
64 IF(abs(usens)== sensor_tab(k)%SENS_ID) isens=k
65 ENDDO
66 IF( ifl == 2) THEN
67
68
69
70
71
72
73
74
75 IF (tt > sensor_tab(isens)%TSTART .AND. off(i) == -ten) THEN
76 off(i) = one
77 x0(i) = x0(i) + dx(i)
78 dx(i) = zero
79 ELSEIF (tt < sensor_tab(isens)%TSTART .AND. off(i) == one) THEN
80 off(i) = -ten
81 ENDIF
82 ELSEIF (usens > 0) THEN
83
84
85
86
87
88
89
90
91 IF (tt > sensor_tab(isens)%TSTART .AND. off(i) == -ten)
92 . off(i) = one
93 ELSEIF (usens < 0) THEN
94
95
96
97
98
99
100
101
102 IF (tt > sensor_tab(isens)%TSTART) off(i) = zero
103 ENDIF
104 ENDDO
105
106 RETURN