45
46
47
53 use element_mod , only : nixc
54
55
56
57#include "implicit_f.inc"
58
59
60
61#include "analyse_name.inc"
62
63
64
65#include "scr17_c.inc"
66#include "units_c.inc"
67#include "com04_c.inc"
68#include "param_c.inc"
69#include "sphcom.inc"
70
71
72
73 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
74 INTEGER ITABM1(*), LACCELM(3,*),
75 . IXC(NIXC,*),ISKN(LISKN,*)
76 INTEGER NOM_OPT(LNOPT1,*)
77
78 TYPE(SUBMODEL_DATA), DIMENSION(NSUBMOD), INTENT(IN) :: LSUBMODEL
80
81
82
83 INTEGER USR2SYS
84
85
86
87 INTEGER I, J, ID, NOD, ISK, UID, IG, L
88 INTEGER N, NS
90 CHARACTER MESS*40
91 CHARACTER(LEN=NCHARTITLE) :: TITR
92 CHARACTER(LEN=NCHARKEY) :: KEY2
93 LOGICAL :: IS_AVAILABLE, FOUND
94
95
96
97 DATA mess/'ACCELEROMETER DEFINITION '/
98
99
100
101 WRITE(istdo,'(A)')' .. ACCELEROMETERS'
102 is_available = .false.
104 DO i = 1, naccelm
107 CALL fretitl(titr, nom_opt(lnopt1-ltitr+1, i), ltitr)
108 found = .false.
109 DO j=1,unitab%NUNITS
110 IF (unitab%UNIT_ID(j) == uid) THEN
111 found = .true.
112 EXIT
113 ENDIF
114 ENDDO
115 IF (.NOT. (uid == 0 .OR. found)) THEN
116 CALL ancmsg(msgid = 659, anmode = aninfo, msgtype = msgerror,
117 . c1 = 'ACCELEROMETER', c2 = 'ACCELEROMETER', c3 = titr,
119 ENDIF
120 dist = zero
121 CALL hm_get_intv(
'nodeid', nod, is_available, lsubmodel)
122 CALL hm_get_intv(
'skewid', isk, is_available, lsubmodel)
123 CALL hm_get_floatv(
'cutoff', f, is_available, lsubmodel, unitab)
124
125 found = .false.
126 DO j = 0, numskw +
min(1, nspcond) * numsph +
nsubmod
127 IF(isk == iskn(4, j + 1)) THEN
128 isk = j + 1
129 found = .true.
130 EXIT
131 ENDIF
132 ENDDO
133 IF (.NOT. found) THEN
134 CALL ancmsg(msgid = 137, anmode = aninfo, msgtype = msgerror,
135 . c1 = 'ACCELEROMETER', c2 = 'ACCELEROMETER', c3 = titr,
137 ENDIF
138
139
141 CALL anodset(laccelm(1,i), check_used)
143 laccelm(3,i)=isk
144 accelm(1,i)=f
145
146 WRITE (iout,'(///,A)')' ACCELEROMETER'
147 WRITE (iout,'(A/)') ' -------------'
148 WRITE (iout,'(A,I10)')
149 .
' ACCELEROMETER NUMBER . . . . . . . . .',
id,
150 . ' NODE NUMBER. . . . . . . . . . . . . .',nod,
151 . ' SKEW FRAME NUMBER. . . . . . . . . . .',iskn(4,isk)
152 WRITE (iout,'(A,1PG20.13)')
153 . ' 4-POLE BUTTERWORTH CORNER FREQUENCY. .',f
154 ENDDO
155
156
157
158 naccelm=naccelm
159 CALL vdouble(nom_opt,lnopt1,naccelm,mess,0,bid)
160
161 RETURN
void anodset(int *id, int *type)
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_start(entity_type)
integer, parameter nchartitle
integer, parameter ncharkey
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
integer function usr2sys(iu, itabm1, mess, id)
subroutine vdouble(list, ilist, nlist, mess, ir, rlist)