39 . PROP_TAG,IDTITL,LSUBMODEL)
51#include "implicit_f.inc"
57#include "tablen_c.inc"
61 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
62 INTEGER IGEO(NPROPGI),IGTYP,IG
65 CHARACTER(LEN=NCHARTITLE) :: IDTITL
66 TYPE(
prop_tag_) ,
DIMENSION(0:MAXPROP) :: PROP_TAG
71 INTEGER J, IFUNC, IFUNC2, IFUNC3, IECROU, IFV, ISENS,IFL,
75 . a, b, d, e, f, dn, dx, fric, lscale, pun, gf3,
76 . yscalef,xscalef,fmax,fmin
78 . a_unit,d_unit,e_unit,f_unit,lscale_unit,gf3_unit,rup_unit,xscale_unit,fmin_unit
79 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
84 is_encrypted = .false.
85 is_available = .false.
99 CALL hm_get_intv(
'ISENSOR',isens,is_available,lsubmodel)
100 CALL hm_get_intv(
'ISFLAG',ifl,is_available,lsubmodel)
101 CALL hm_get_intv(
'Ileng',ileng,is_available,lsubmodel)
102 CALL hm_get_intv(
'FUN_A1',ifunc,is_available,lsubmodel)
103 CALL hm_get_intv(
'HFLAG1',iecrou,is_available,lsubmodel)
104 CALL hm_get_intv(
'FUN_B1',ifv,is_available,lsubmodel)
105 CALL hm_get_intv(
'fct_ID31',ifunc2,is_available,lsubmodel)
106 CALL hm_get_intv(
'FUN_A2',ifunc3,is_available,lsubmodel)
108 CALL hm_get_intv(
'FUNCT_ID',ftab_id,is_available,lsubmodel)
109 CALL hm_get_intv(
'P12_SPR_PUL_Ifric',ifric,is_available,lsubmodel)
113 CALL hm_get_floatv(
'MASS',geo(1),is_available,lsubmodel,unitab)
114 CALL hm_get_floatv(
'FRIC',fric,is_available,lsubmodel,unitab)
115 CALL hm_get_floatv(
'STIFF1',geo(2),is_available,lsubmodel,unitab)
116 CALL hm_get_floatv(
'DAMP1',geo(3),is_available,lsubmodel,unitab)
117 CALL hm_get_floatv(
'Acoeft1',a,is_available,lsubmodel,unitab)
118 CALL hm_get_floatv(
'Bcoeft1',b,is_available,lsubmodel,unitab)
119 CALL hm_get_floatv(
'Dcoeft1',d,is_available,lsubmodel,unitab)
120 CALL hm_get_floatv(
'MIN_RUP1',dn,is_available,lsubmodel,unitab)
121 CALL hm_get_floatv(
'MAX_RUP1',dx,is_available,lsubmodel,unitab)
122 CALL hm_get_floatv(
'Prop_X_F',f,is_available,lsubmodel,unitab)
123 CALL hm_get_floatv(
'Prop_X_E',e,is_available,lsubmodel,unitab)
124 CALL hm_get_floatv(
'scale1',lscale,is_available,lsubmodel,unitab)
127 CALL hm_get_floatv(
'scale2',yscalef,is_available,lsubmodel,unitab)
128 CALL hm_get_floatv(
'scale3',xscalef,is_available,lsubmodel,unitab)
129 CALL hm_get_floatv(
'P12_SPR_PUL_F_min',fmin,is_available,lsubmodel,unitab)
130 CALL hm_get_floatv(
'P12_SPR_PUL_F_max',fmax,is_available,lsubmodel,unitab)
140 CALL hm_get_floatv_dim(
'P12_SPR_PUL_F_min',fmin_unit,is_available,lsubmodel,unitab)
142 IF(geo(2)==zero.AND.geo(3)==zero.AND.ifunc==zero)
THEN
145 . anmode=aninfo_blind_1,
152 . anmode=aninfo_blind_1,
163 IF(iecrou==4.AND.(ifunc==0.OR.ifunc2==0))
THEN
166 . anmode=aninfo_blind_1,
170 IF(iecrou==4.AND.geo(2)==zero)
THEN
173 . anmode=aninfo_blind_1,
177 IF(iecrou==5.AND.(ifunc==0.OR.ifunc2==0))
THEN
180 . anmode=aninfo_blind_1,
184 IF(iecrou==6.AND.(ifunc==0.OR.ifunc2==0))
THEN
187 . anmode=aninfo_blind_1,
191 IF(iecrou==7.AND.ifunc==0)
THEN
194 . anmode=aninfo_blind_1,
198 ELSEIF(iecrou==7.AND.ifunc2==0)
THEN
200 . msgtype=msgwarning,
201 . anmode=aninfo_blind_1,
207 IF (ifunc == 0 .AND. a /= zero .AND. a /= one)
THEN
209 . msgtype=msgwarning,
210 . anmode=aninfo_blind_1,
215 IF (a == zero) a = one * a_unit
216 IF (d == zero) d = one * d_unit
217 IF (e == zero) e = one * e_unit
218 IF (f == zero) f = one * f_unit
219 IF (lscale == zero) lscale = one * lscale_unit
220 IF (gf3 == zero) gf3 = one * gf3_unit
226 IF (ifl == 1) isens=-isens
228 IF (dn == zero) dn=-ep30
229 IF (dx == zero) dx= ep30
230 dn = dn * lscale / rup_unit
231 dx = dx * lscale / rup_unit
233 IF (xscalef == zero) xscalef = one * xscale_unit
234 IF (yscalef == zero) yscalef = one
235 IF (fmin == zero) fmin = -ep30
236 IF (fmax == zero) fmax = ep30
242 WRITE(iout,1400)ig,(geo(j),j=1,3),ifunc,lscale,ifunc2,f,iecrou,
243 . a,b,d,e,ifv,gf3,ifunc3,dn,dx,abs(isens),ifl,ileng,fric,
244 . ftab_id,ifric,yscalef,xscalef,fmin,fmax
246 WRITE(iout,1500)ig,(geo(j),j=1,3),ifunc,lscale,ifunc2,f,iecrou,
247 . a,b,d,e,ifv,gf3,ifunc3,dn,dx,abs(isens),ifl,ileng,fric,
248 . ftab_id,ifric,yscalef,xscalef,fmin,fmax
262 geo(39) = one / lscale
268 geo(20) = one/xscalef
276 IF (iecrou == 6)
THEN
291 prop_tag(igtyp)%G_EINT = 1
292 prop_tag(igtyp)%G_FOR = 1
293 prop_tag(igtyp)%G_LENGTH = 1
294 prop_tag(igtyp)%G_TOTDEPL = 1
295 prop_tag(igtyp)%G_FOREP = 1
296 prop_tag(igtyp)%G_DEP_IN_TENS = 1
297 prop_tag(igtyp)%G_DEP_IN_COMP = 1
298 prop_tag(igtyp)%G_POSX = 5
299 prop_tag(igtyp)%G_YIELD = 1
300 prop_tag(igtyp)%G_LENGTH_ERR = 1
301 prop_tag(igtyp)%G_DFS = 1
302 prop_tag(igtyp)%G_INIFRIC = 1
303 prop_tag(igtyp)%G_NUVAR =
max(prop_tag(igtyp)%G_NUVAR,nint(geo(25)))
304 prop_tag(igtyp)%G_DEFINI = 1
305 prop_tag(igtyp)%G_FORINI = 1
309 & 5x,
'SPRING PROPERTY SET'/,
310 & 5x,
'-------------------'/,
311 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
312 & 5x,
'CONFIDENTIAL DATA'//)
314 & 5x,
'SPRING PROPERTY SET (3 NODES PULLEY)'/,
315 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
316 & 5x,
'SPRING MASS . . . . . . . . . . . . . .=',1pg20.13/,
317 & 5x,
'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
318 & 5x,
'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
319 & 5x,
'FUNCTION IDENTIFIER FOR LOADING ',/,
320 & 5x,
'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
321 & 5x,
'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
322 & 5x,
'FUNCTION IDENTIFIER FOR UNLOADING ',/,
323 & 5x,
'FORCE-DISPLACEMENT CURVE (H=4,5,7). . .=',i10/,
324 & 5x,
'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
325 & 5x,
'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
326 & 5x,
'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
327 & 5x,
'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
328 & 5x,
'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
329 & 5x,
'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
330 & 5x,
'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
331 & 5x,
'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
332 & 5x,
'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
333 & 5x,
'FUNCTION IDENTIFIER FOR ',/,
334 & 5x,
'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
335 & 5x,
'DYNAMIC AMPLIFICATION FACTOR GF3. . . .=',1pg20.13/,
336 & 5x,
'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
337 & 5x,
'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
338 & 5x,
'NEGATIVE FAILURE DISPLACEMENT . . . . .=',1pg20.13/,
339 & 5x,
'POSITIVE FAILURE DISPLACEMENT . . . . .=',1pg20.13/,
340 & 5x,
'SENSOR NUMBER (0:NOT USED). . . . . . .=',i10/,
341 & 5x,
'SENSOR FLAG (0:ACTIV 1:DEACT 2:BOTH). .=',i10/,
342 & 5x,
'UNIT LENGTH FLAG. . . . . . . . . . . .=',i10/,
343 & 5x,
'IF=1 UNIT LENGTH MASS,STIFFNESS AND INPUT',/,
344 & 5x,
' CURVE ARE STRAIN DEPENDING',/,
345 & 5x,
'CONSTANT PULLEY FRICTION COEFFICIENT. .=',1pg20.13/
346 & 5x,
'TABLE ID OF VARIABLE FRICTION FUNCTIONS=',i10/,
347 & 5x,
'FRICTION FLAG . . . . . . . . . . . . .=',i10/,
348 & 5x,
'Y SCALE FACTOR IN FRICTION TABLE. . . .=',1pg20.13/
349 & 5x,
'FORCE ABSCISSA SCALE IN FRICTION TABLE.=',1pg20.13/
350 & 5x,
'NON REVERSIBLE NEGATIVE LIMIT FORCE . .=',1pg20.13/
351 & 5x,
'NON REVERSIBLE POSITIVE LIMIT FORCE . .=',1pg20.13/)
353 & 5x,
'SPRING PROPERTY SET (3 NODES PULLEY)'/,
354 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
355 & 5x,
'SPRING MASS . . . . . . . . . . . . . .=',1pg20.13/,
356 & 5x,
'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
357 & 5x,
'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
358 & 5x,
'FUNCTION IDENTIFIER FOR LOADING ',/,
359 & 5x,
'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
360 & 5x,
'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
361 & 5x,
'PERMANENT DISPL./MAX. DISPL. CURVE(H=5)=',i10/,
362 & 5x,
'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
363 & 5x,
'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
364 & 5x,
'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
365 & 5x,
'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
366 & 5x,
'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
367 & 5x,
'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
368 & 5x,
'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
369 & 5x,
'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
370 & 5x,
'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
371 & 5x,
'FUNCTION IDENTIFIER FOR ',/,
372 & 5x,
'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
373 & 5x,
'DYNAMIC AMPLIFICATION FACTOR GF3. . . .=',1pg20.13/,
374 & 5x,
'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
375 & 5x,
'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
376 & 5x,
'NEGATIVE FAILURE DISPLACEMENT . . . . .=',1pg20.13/,
377 & 5x,
'POSITIVE FAILURE DISPLACEMENT . . . . .=',1pg20.13/,
378 & 5x,
'SENSOR NUMBER (0:NOT USED). . . . . . .=',i10/,
379 & 5x,
'SENSOR FLAG (0:ACTIV 1:DISACT 2:BOTH) .=',i10/,
380 & 5x,
'UNIT LENGTH FLAG. . . . . . . . . . . .=',i10/,
381 & 5x,
'IF=1 UNIT LENGTH MASS,STIFFNESS AND INPUT',/,
382 & 5x,
' CURVE ARE STRAIN DEPENDING',/,
383 & 5x,
'CONSTANT PULLEY FRICTION COEFFICIENT. .=',1pg20.13/
384 & 5x,
'TABLE ID OF VARIABLE FRICTION FUNCTIONS=',i10/,
385 & 5x,
'FRICTION FLAG . . . . . . . . . . . . .=',i10/,
386 & 5x,
'Y SCALE FACTOR IN FRICTION TABLE. . . .=',1pg20.13/
387 & 5x,
'FORCE ABSCISSA SCALE IN FRICTION TABLE.=',1pg20.13/
388 & 5x,
'NON REVERSIBLE NEGATIVE LIMIT FORCE . .=',1pg20.13/
389 & 5x,
'NON REVERSIBLE POSITIVE LIMIT FORCE . .=',1pg20.13/)
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)