36 . IPART ,SUBSET ,UNITAB ,LSUBMODEL )
50#include "implicit_f.inc"
60 INTEGER ,
INTENT(IN) :: SENS_ID
61 INTEGER ,
DIMENSION(LIPART1,*),
INTENT(IN)
62CHARACTER(LEN=NCHARTITLE)::TITR
64 TYPE (SUBMODEL_DATA) ,
DIMENSION(NSUBMOD) :: LSUBMODEL
65 TYPE (
subset_) ,
DIMENSION(NSUBS) :: subset
66 TYPE (UNIT_TYPE_) ,
INTENT(IN) :: UNITAB
70 INTEGER :: J,ICONST,SENS_TYPE,PART_ID,SUB_ID,PARTN,SUBN,ISELECT,
72 my_real :: tdel,tmin,iemin,iemax,kemin,kemax,ietol,ietime,ketol,ketime
73 LOGICAL :: IS_AVAILABLE
77 is_available = .false.
82 CALL hm_get_floatv(
'Tdelay' ,tdel ,is_available,lsubmodel,unitab)
84 CALL hm_get_intv (
'Part_Id' ,part_id ,is_available,lsubmodel)
85 CALL hm_get_intv (
'Subset_ID' ,sub_id ,is_available,lsubmodel)
86 CALL hm_get_intv (
'Iselect' ,iselect ,is_available,lsubmodel)
88 CALL hm_get_floatv(
'IEmin' ,iemin ,is_available,lsubmodel,unitab)
89 CALL hm_get_floatv(
'IEmax' ,iemax ,is_available,lsubmodel,unitab)
90 CALL hm_get_floatv(
'KEmin' ,kemin ,is_available,lsubmodel,unitab)
91 CALL hm_get_floatv(
'KEmax' ,kemax ,is_available,lsubmodel,unitab)
92 CALL hm_get_floatv(
'Tmin' ,tmin ,is_available,lsubmodel,unitab)
94 CALL hm_get_floatv(
'IEtol' ,ietol ,is_available,lsubmodel,unitab)
95 CALL hm_get_floatv(
'IEtime' ,ietime ,is_available,lsubmodel,unitab)
96 CALL hm_get_floatv(
'KEtol' ,ketol ,is_available,lsubmodel,unitab)
97 CALL hm_get_floatv(
'KEtime' ,ketime ,is_available,lsubmodel,unitab)
101 IF (ietol > zero .and. ietime > zero .or. ketol > zero .and. ketime > zero)
THEN
104 IF (iemax == zero) iemax = infinity
105 IF (kemax == zero) kemax = infinity
106 IF (iemin == zero) iemin =-infinity
107 IF (kemin == zero) kemin =-infinity
108 IF (ietime == zero) ietime = infinity
109 IF (ketime == zero) ketime
110 IF (iselect == 0) iselect= 1
116 is_available = .false.
118 IF (ipart(4,j) == part_id)
THEN
119 is_available = .true.
124 IF (.NOT. is_available)
THEN
130 IF (.NOT. is_available)
THEN
132 IF (subset(j)%ID == sub_id)
THEN
133 is_available = .true.
138 IF (.NOT. is_available) sub_id = 0
141 IF (.NOT. is_available .and. iselect == 1)
THEN
143 sub_id = subset(nsubs)%ID
145 ELSE IF (is_available)
THEN
149 WRITE (iout, 1000) sens_id,tdel
150 IF (iselect == 2)
THEN
152 ELSE IF (part_id > 0)
THEN
153 WRITE (iout, 2100) part_id
154 ELSE IF (sub_id > 0)
THEN
155 WRITE (iout, 2200) sub_id
159 WRITE (iout ,3000) iemin,iemax,kemin,kemax,
160 . ietol,ketol,tmin,ietime,ketime
162 IF (ietime == infinity)
THEN
166 IF (ketime == infinity)
THEN
175 IF (iselect == 2)
THEN
181 ALLOCATE (sensor_ptr%IPARAM(nparis))
182 ALLOCATE (sensor_ptr%RPARAM(nparrs))
183 ALLOCATE (sensor_ptr%VAR(
nvar))
184 sensor_ptr%VAR(:) = zero
186 sensor_ptr%NVAR =
nvar
187 sensor_ptr%NPARI = nparis
188 sensor_ptr%NPARR = nparrs
189 sensor_ptr%TYPE = sens_type
190 sensor_ptr%SENS_ID = sens_id
191 sensor_ptr%STATUS = 0
192 sensor_ptr%TSTART = infinity
193 sensor_ptr%TCRIT = infinity
194 sensor_ptr%TMIN = tmin
195 sensor_ptr%TDELAY = tdel
196 sensor_ptr%VALUE = zero
198 sensor_ptr%IPARAM(1) = partn
199 sensor_ptr%IPARAM(2) = subn
200 sensor_ptr%IPARAM(3) = iconst
201 sensor_ptr%IPARAM(4) = iselect
203 sensor_ptr%RPARAM(1) = iemin
204 sensor_ptr%RPARAM(2) = iemax
205 sensor_ptr%RPARAM(3) = kemin
206 sensor_ptr%RPARAM(4) = kemax
207 sensor_ptr%RPARAM(5) = ietol
208 sensor_ptr%RPARAM(6) = ketol
209 sensor_ptr%RPARAM(7) = ietime
210 sensor_ptr%RPARAM(8) = ketime
213 . 5x,
' SENSOR TYPE 14: PART ENERGY '/,
214 . 5x,
' --------------------------- '/,
215 . 5x,
'SENSOR ID. . . . . . . . . . . . . . . . . =',i10/
216 . 5x,
'TIME DELAY BEFORE ACTIVATION . . . . . . . =',e12.4)
218 . 5x,
' PART ID. . . . . . . . . . . . . . . . . =',i10)
220 . 5x,
' SUBSET ID. . . . . . . . . . . . . . . . =',i10)
222 . 5x,
' GLOBAL SUBSET ENERGY (ALL PARTS) . . . . .')
224 . 5x,
' TOTAL SYSTEM ENERGY (ENTIRE MODEL) . . . .')
226 . 5x,
' MINIMUM INTERNAL ENERGY. . . . . . . . . =',e12.4/
227 . 5x,
' MAXIMUM INTERNAL ENERGY. . . . . . . . . =',e12.4/
228 . 5x,
' MINIMUM KINETIC ENERGY . . . . . . . . . =',e12.4/
229 . 5x,
' MAXIMUM KINETIC ENERGY . . . . . . . . . =',e12.4/
230 . 5x,
' TOLERANCE OF CONSTANT INTERNAL ENERGY. . =',e12.4/
231 . 5x,
' TOLERANCE OF CONSTANT KINETIC ENERGY . . =',e12.4/
232 . 5x,
' DURATION LIMIT OF MAX/MIN ENERGY . . . . =',e12.4/
233 . 5x,
' DURATION LIMIT OF CONSTANT INT ENERGY. . =',e12.4/
234 . 5x,
' DURATION LIMIT OF CONSTANT KIN ENERGY. . =',e12.4//)