43 . NFGEO ,INUM ,IOPT ,FBFVEL ,IBFVEL ,
44 . ITAB ,ITABM1 ,IGRNOD ,NOM_OPT ,X0 ,
45 . IXR ,IPART ,IPARTR ,UNITAB ,LSUBMODEL)
58#include "implicit_f.inc"
69 INTEGER ,
INTENT(IN ) :: NFGEO
70 INTEGER ,
INTENT(INOUT) :: INUM,IOPT
71 INTEGER ,
DIMENSION(*) :: ITAB,ITABM1,IPARTR
72 INTEGER ,
DIMENSION(LIPART1,*) :: IPART
73 INTEGER ,
DIMENSION(NIXR,*) :: IXR
74 INTEGER ,
DIMENSION(NIFV,NFXVEL) :: IBFVEL
75 INTEGER ,
DIMENSION(LNOPT1,*) ,
INTENT(OUT) :: NOM_OPT
76 my_real ,
DIMENSION(LFXVELR,NFXVEL) :: fbfvel
77 my_real ,
DIMENSION(3,NUMNOD) ,
INTENT(IN):: x0
78 TYPE (UNIT_TYPE_) ,
INTENT(IN) :: UNITAB
79 TYPE (GROUP_) ,
DIMENSION(NGRNOD) ,
INTENT(IN) :: IGRNOD
84 INTEGER I,J,K,,N1,N2,NUM0,IFGEO,JPART,NNOD,NOFRAME,
85 . SENS_ID,PART_ID,OPTID,UID,FCT1_ID,FCT2_ID,ILAGM,
86 . FGEO,IDIS,ICOOR,DISTRIBUTION
87 INTEGER ,
DIMENSION(NUMNOD) :: NOD1,NOD2
88 my_real :: TSTART,XSCALE,YSCALE,FSCAL_T,FSCAL_V,T0,DMIN,DIST,
90 CHARACTER(LEN=NCHARKEY) :: KEY
91 CHARACTER(LEN=NCHARTITLE) :: TITR,MESS
101 DATA mess/
'IMPOSED VELOCITY DEFINITION '/
103 is_available = .false.
116 . option_titr = titr,
120 nom_opt(1,iopt) = optid
121 CALL fretitl(titr,nom_opt(lnopt1-ltitr+1,iopt),ltitr)
134 CALL hm_get_intv (
'curveid' ,fct1_id ,is_available,lsubmodel)
135 CALL hm_get_intv (
'rad_spring_part',part_id ,is_available,lsubmodel)
136 CALL hm_get_intv (
'rad_fct_l_id' ,fct2_id ,is_available,lsubmodel)
137 CALL hm_get_intv (
'rad_sensor_id' ,sens_id ,is_available,lsubmodel
139 CALL hm_get_floatv(
'xscale' ,xscale ,is_available,lsubmodel,unitab)
140 CALL hm_get_floatv(
'rad_t0' ,t0 ,is_available,lsubmodel,unitab)
141 CALL hm_get_floatv(
'rad_tstart' ,tstart ,is_available,lsubmodel,unitab)
142 CALL hm_get_floatv(
'magnitude' ,yscale ,is_available,lsubmodel,unitab)
145 CALL hm_get_intv(
'distribution_table_count' ,nnod ,is_available,lsubmodel)
155 CALL ancmsg(msgid=1074, msgtype=msgerror, anmode=aninfo,
156 . i1=optid, c1=titr, r1=t0)
160 IF (xscale == zero)
THEN
162 xscale = one * fscal_t
164 IF (yscale == zero)
THEN
166 yscale = one * fscal_v
175 n2 = usr2sys(nod2(j),itabm1,mess,optid)
180 IF (nod1(j) > 0)
THEN
182 n1 = usr2sys(nod1(j),itabm1,mess,optid)
186 dist = sqrt((xf-xi)**2 + (yf-yi)**2 + (zf-zi)**2)
190 ibfvel(3 ,inum) = fct1_id
191 ibfvel(4 ,inum) = sens_id
194 ibfvel(7 ,inum) = idis
195 ibfvel(8 ,inum) = ilagm
196 ibfvel(9 ,inum) = noframe
197 ibfvel(10,inum) = icoor
199 ibfvel(12,inum) = iopt
200 ibfvel(13,inum) = fgeo
202 ibfvel(15,inum) = fct2_id
204 fbfvel(1,inum) = dist / t0
205 fbfvel(2,inum) = tstart
206 fbfvel(3,inum) = infinity
207 fbfvel(4,inum) = zero
208 fbfvel(5,inum) = xscale
209 fbfvel(6,inum) = zero
210 fbfvel(7,inum) = dmin
211 fbfvel(8,inum) = yscale
213 WRITE (iout,2000) itab(n1),itab(n2),fct1_id,sens_id,fct2_id,
214 . dist/t0,one/xscale,tstart,dmin,yscale
220 IF (part_id > 0)
THEN
223 IF (ipart(4,n) == part_id) jpart = n
227 IF (ipartr(n) == jpart)
THEN
237 dist= sqrt((xf-xi)**2 + (yf-yi)**2 + (zf-zi)**2)
241 ibfvel(3 ,inum) = fct1_id
242 ibfvel(4 ,inum) = sens_id
245 ibfvel(7 ,inum) = idis
246 ibfvel(8 ,inum) = ilagm
247 ibfvel(9 ,inum) = noframe
248 ibfvel(10,inum) = icoor
250 ibfvel(12,inum) = iopt
251 ibfvel(13,inum) = fgeo
253 ibfvel(15,inum) = fct2_id
255 fbfvel(1,inum) = dist / t0
256 fbfvel(2,inum) = tstart
257 fbfvel(3,inum) = infinity
258 fbfvel(4,inum) = zero
259 fbfvel(5,inum) = xscale
260 fbfvel(6,inum) = zero
261 fbfvel(7,inum) = dmin
262 fbfvel(8,inum) = yscale
264 WRITE (iout,2000) itab(n1),itab(n2),fct1_id,sens_id,fct2_id,
265 . dist/t0,one/xscale,tstart,dmin,yscale
273 IF (ibfvel(13,n) /= 2) cycle
278 IF (ibfvel(13,i) /= 2) cycle
279 IF (ibfvel(14,i) == n2) k = k + 1
287 .
' IMPOSED VELOCITIES PRESCRIBED FINAL GEOMETRY '/
288 .
' ----------------------------------------------'/
289 .
' NODE1 NODE2 VEL_CURVE SENSOR LOAD_CURVE ',
290 .' fscale ascale start_time
',
292 2000 FORMAT(5(1X,I10),5(1X,1PG16.9))
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)