44 SUBROUTINE hm_read_gauge(LGAUGE,GAUGE,ITABM1,UNITAB,IXC,NOM_OPT,LSUBMODEL)
57#include "implicit_f.inc"
69 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
70 INTEGER,
INTENT(IN) :: IXC(NIXC,*),ITABM1(
71INTEGER,
INTENT(INOUT) :: LGAUGE(3,*)
72 INTEGER NOM_OPT(LNOPT1,*)
84 INTEGER I, J,ID, NGAU, NOD, ISK, UID, IFLAGUNIT, IG, L,NBGAUGE_SPH,NBGAUGE_POINT
86 my_real ff,bid,dist,xgauge,ygauge,zgauge
88 CHARACTER(LEN=NCHARTITLE) :: TITR
89 CHARACTER(LEN=NCHARKEY) :: KEY
90 DATA mess/
'GAUGE DEFINITION '/
92 is_available = .false.
145 IF ( nbgauge_sph > 0)
THEN
157 CALL fretitl(titr,nom_opt(lnopt1-ltitr+1,i),ltitr)
162 lgauge(1,i)=-(numels+1)
164 CALL hm_get_intv (
'NODE1' ,nod ,is_available,lsubmodel)
165 CALL hm_get_intv (
'shell_ID' ,ns ,is_available,lsubmodel
173 WRITE (iout,
'(///,A)')
' SPH GAUGE'
174 WRITE (iout,
'(A/)')
' ---------'
175 WRITE (iout,
'(A,I10)')
' SPH GAUGE NUMBER . . . . . . . . . . .',ngau
178 lgauge(3,i)=usr2sys(nod,itabm1,mess,ngau)
179 WRITE (iout,
'(A,I10)')
' NODE NUMBER. . . . . . . . . . . . . .',nod
182 IF(ixc(nixc,j)==ns)
THEN
187 WRITE (iout,
'(A,I10)')
' SHELL NUMBER . . . . . . . . . . . . .',ns
188 WRITE (iout,
'(A,1PG20.13)')
' DISTANCE . . . . . . . . . . . . . . .',dist
190 WRITE (iout,
'(A,1PG20.13)')
' 4-POLE BUTTERWORTH CORNER FREQUENCY. .',ff
202 IF ( nbgauge_point > 0)
THEN
208 CALL fretitl(titr,nom_opt(lnopt1-ltitr+1,i),ltitr)
218 CALL hm_get_floatv (
'Zi' ,zgauge ,is_available, lsubmodel, unitab)
221 gauge(1,ng)=zero ! dist
226 WRITE (iout,
'(///,A)')
' GAUGE'
227 WRITE (iout,
'(A/)')
' -----'
228 WRITE (iout,
'(A,I10)')
' GAUGE NUMBER . . . . . . . . . . . . .',ngau
229 WRITE (iout,
'(A,I10)')
' GAUGE POINT coordinate:'
230 WRITE (iout,
'(A,/1P3G20.13/)')
' Xg Yg Zg',xgauge
231 WRITE (iout,'(a,1pg20.13)
')' 4-pole
butterworth corner frequency. .
',FF
232 ENDDO ! DO I=1,NBGAUGE_POINT
233 ENDIF ! IF ( NBGAUGE_POINT > 0)
237 CALL HM_OPTION_START('/gauge
')
241 CALL HM_OPTION_READ_KEY(LSUBMODEL,OPTION_ID=NGAU,KEYWORD2=KEY,OPTION_TITR=TITR)
243 CALL FRETITL(TITR,NOM_OPT(LNOPT1-LTITR+1,I),LTITR)
245 IF (KEY == 'sph.OR.
' KEY == 'point
') CYCLE
247 !Multidomaines --> on ignore les sections non tagees----
249 IF(TAGGAU(NG) == 0) CALL SZ_R2R(TAGGAU,NG)
251 !-----------------------------------------------------------------
255 CALL HM_GET_INTV ('node1
' ,NOD ,IS_AVAILABLE,LSUBMODEL)
256 CALL HM_GET_INTV ('shell_id
' ,NS ,IS_AVAILABLE,LSUBMODEL)
257 CALL HM_GET_FLOATV ('dist
' ,DIST ,IS_AVAILABLE, LSUBMODEL, UNITAB)
263 WRITE (IOUT,'(///,a)
')' gauge
'
264 WRITE (IOUT,'(a/)
') ' -----
'
265 WRITE (IOUT,'(a,i10)
')' gauge number . . . . . . . . . . . . .
',NGAU
267 LGAUGE(3,NG)=USR2SYS(NOD,ITABM1,MESS,NGAU)
268 WRITE (IOUT,'(a,i10)
')' node number. . . . . . . . . . . . . .
',NOD
271 IF(IXC(NIXC,J)==NS)THEN
276 IF (LGAUGE(3,NG) == 0)CALL ANCMSG(MSGID=3013,MSGTYPE=MSGERROR,ANMODE=ANINFO,I1=NGAU,C1=TITR,I2=NS)
277 WRITE (IOUT,'(/,a,i10)
')' shell number . . . . . . . . . . . . .
',NS
278 WRITE (IOUT,'(a,1pg20.13)
')' distance . . . .
',DIST
280 WRITE (IOUT,'(a,1pg20.13)
')' 4-pole
butterworth corner frequency. .
',FF
287 CALL VDOUBLE(NOM_OPT,LNOPT1,NBGAUGE,MESS,0,BID)
subroutine butterworth(dt, freq, x2, x1, x, fx2, fx1, fx)
subroutine hm_read_gauge(lgauge, gauge, itabm1, unitab, ixc, nom_opt, lsubmodel)