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) ::
66 TYPE(
prop_tag_) ,
DIMENSION(0:MAXPROP) :: PROP_TAG
71 INTEGER J, IFUNC, IFUNC2, IFUNC3, IECROU, IFV, ISENS,IFL,
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 CHARACTER(LEN=NCHARTITLE) :: SLASH
80 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
85 is_encrypted = .false.
86 is_available = .false.
100 CALL hm_get_intv(
'ISENSOR',isens,is_available,lsubmodel)
101 CALL hm_get_intv(
'ISFLAG',ifl,is_available,lsubmodel)
102 CALL hm_get_intv(
'Ileng',ileng,is_available,lsubmodel)
103 CALL hm_get_intv(
'FUN_A1',ifunc,is_available,lsubmodel)
104 CALL hm_get_intv(
'HFLAG1',iecrou,is_available,lsubmodel)
105 CALL hm_get_intv(
'FUN_B1',ifv,is_available,lsubmodel)
106 CALL hm_get_intv(
'fct_ID31',ifunc2,is_available,lsubmodel)
107 CALL hm_get_intv(
'FUN_A2',ifunc3,is_available,lsubmodel)
109 CALL hm_get_intv(
'FUNCT_ID',ftab_id,is_available,lsubmodel)
110 CALL hm_get_intv(
'P12_SPR_PUL_Ifric',ifric,is_available,lsubmodel)
114 CALL hm_get_floatv(
'MASS',geo(1),is_available,lsubmodel,unitab)
115 CALL hm_get_floatv(
'FRIC',fric,is_available,lsubmodel,unitab)
116 CALL hm_get_floatv(
'STIFF1',geo(2),is_available,lsubmodel,unitab)
117 CALL hm_get_floatv(
'DAMP1',geo(3),is_available,lsubmodel,unitab)
118 CALL hm_get_floatv(
'Acoeft1',a,is_available,lsubmodel,unitab)
119 CALL hm_get_floatv(
'Bcoeft1',b,is_available,lsubmodel,unitab)
120 CALL hm_get_floatv(
'Dcoeft1',d,is_available,lsubmodel,unitab)
121 CALL hm_get_floatv(
'MIN_RUP1',dn,is_available,lsubmodel,unitab)
122 CALL hm_get_floatv(
'MAX_RUP1',dx,is_available,lsubmodel,unitab)
123 CALL hm_get_floatv(
'Prop_X_F',f,is_available,lsubmodel,unitab)
124 CALL hm_get_floatv(
'Prop_X_E',e,is_available,lsubmodel,unitab)
125 CALL hm_get_floatv(
'scale1',lscale,is_available,lsubmodel,unitab)
128 CALL hm_get_floatv(
'scale2',yscalef,is_available,lsubmodel,unitab)
129 CALL hm_get_floatv(
'scale3',xscalef,is_available,lsubmodel,unitab)
130 CALL hm_get_floatv(
'P12_SPR_PUL_F_min',fmin,is_available,lsubmodel,unitab)
131 CALL hm_get_floatv(
'P12_SPR_PUL_F_max',fmax,is_available,lsubmodel,unitab)
143 IF(geo(2)==zero.AND.geo(3)==zero.AND.ifunc==zero)
THEN
153 . anmode=aninfo_blind_1,
164 IF(iecrou==4.AND.(ifunc==0.OR.ifunc2==0))
THEN
167 . anmode=aninfo_blind_1,
171 IF(iecrou==4.AND.geo(2)==zero)
THEN
174 . anmode=aninfo_blind_1,
178 IF(iecrou==5.AND.(ifunc==0.OR.ifunc2==0))
THEN
181 . anmode=aninfo_blind_1,
185 IF(iecrou==6.AND.(ifunc==0.OR.ifunc2==0))
THEN
188 . anmode=aninfo_blind_1,
192 IF(iecrou==7.AND.ifunc==0)
THEN
195 . anmode=aninfo_blind_1,
199 ELSEIF(iecrou==7.AND.ifunc2==0)
THEN
201 . msgtype=msgwarning,
202 . anmode=aninfo_blind_1,
208 IF (ifunc == 0 .AND. a /= zero .AND. a /= one)
THEN
210 . msgtype=msgwarning,
211 . anmode=aninfo_blind_1,
216 IF (a == zero) a = one * a_unit
217 IF (d == zero) d = one * d_unit
218 IF (e == zero) e = one * e_unit
219 IF (f == zero) f = one * f_unit
220 IF (lscale == zero) lscale = one * lscale_unit
221 IF (gf3 == zero) gf3 = one * gf3_unit
227 IF (ifl == 1) isens=-isens
229 IF (dn == zero) dn=-ep30
230 IF (dx == zero) dx= ep30
231 dn = dn * lscale / rup_unit
232 dx = dx * lscale / rup_unit
234 IF (xscalef == zero) xscalef = one * xscale_unit
235 IF (yscalef == zero) yscalef = one
236 IF (fmin == zero) fmin = -ep30
237 IF (fmax == zero) fmax = ep30
243 WRITE(iout,1400)ig,(geo(j),j=1,3),ifunc,lscale,ifunc2,f,iecrou,
244 . a,b,d,e,ifv,gf3,ifunc3,dn,dx,abs(isens),ifl,ileng,fric,
245 . ftab_id,ifric,yscalef,xscalef,fmin,fmax
247 WRITE(iout,1500)ig,(geo(j),j=1,3),ifunc,lscale,ifunc2,f,iecrou,
248 . a,b,d,e,ifv,gf3,ifunc3,dn,dx,abs(isens),ifl,ileng,fric,
249 . ftab_id,ifric,yscalef,xscalef,fmin,fmax
263 geo(39) = one / lscale
269 geo(20) = one/xscalef
277 IF (iecrou == 6)
THEN
292 prop_tag(igtyp)%G_EINT = 1
293 prop_tag(igtyp)%G_FOR = 1
294 prop_tag(igtyp)%G_LENGTH = 1
295 prop_tag(igtyp)%G_TOTDEPL = 1
296 prop_tag(igtyp)%G_FOREP = 1
297 prop_tag(igtyp)%G_DEP_IN_TENS = 1
298 prop_tag(igtyp)%G_DEP_IN_COMP = 1
299 prop_tag(igtyp)%G_POSX = 5
300 prop_tag(igtyp)%G_YIELD = 1
301 prop_tag(igtyp)%G_LENGTH_ERR = 1
302 prop_tag(igtyp)%G_DFS = 1
303 prop_tag(igtyp)%G_INIFRIC = 1
304 prop_tag(igtyp)%G_NUVAR =
max(prop_tag(igtyp)%G_NUVAR,nint(geo(25)))
305 prop_tag(igtyp)%G_DEFINI = 1
306 prop_tag(igtyp)%G_FORINI = 1
310 & 5x,
'SPRING PROPERTY SET'/,
311 & 5x,
'-------------------'/,
312 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
313 & 5x,
'CONFIDENTIAL DATA'//)
315 & 5x,
'SPRING PROPERTY SET (3 NODES PULLEY)'/,
316 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
317 & 5x,
'SPRING MASS . . . . . . . . . . . . . .=',1pg20.13/,
318 & 5x,
'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
319 & 5x,
'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
320 & 5x,
'FUNCTION IDENTIFIER FOR LOADING ',/,
321 & 5x,
'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
322 & 5x,
'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
323 & 5x,
'FUNCTION IDENTIFIER FOR UNLOADING ',/,
324 & 5x,
'FORCE-DISPLACEMENT CURVE (H=4,5,7). . .=',i10/,
325 & 5x,
'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
326 & 5x,
'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
327 & 5x,
'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
328 & 5x,
'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
329 & 5x,
'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
330 & 5x,
'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
331 & 5x,
'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
332 & 5x,
'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
333 & 5x,
'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
334 & 5x,
'FUNCTION IDENTIFIER FOR ',/,
335 & 5x,
'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
336 & 5x,
'DYNAMIC AMPLIFICATION FACTOR GF3. . . .=',1pg20.13/,
337 & 5x,
'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
338 & 5x,
'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
339 & 5x,
'NEGATIVE FAILURE DISPLACEMENT . . . . .=',1pg20.13/,
340 & 5x,
'POSITIVE FAILURE DISPLACEMENT . . . . .=',1pg20.13/,
341 & 5x,
'SENSOR NUMBER (0:NOT USED). . . . . . .=',i10/,
342 & 5x,
'SENSOR FLAG (0:ACTIV 1:DEACT 2:BOTH). .=',i10/,
343 & 5x,
'UNIT LENGTH FLAG. . . . . . . . . . . .=',i10/,
344 & 5x,
'IF=1 UNIT LENGTH MASS,STIFFNESS AND INPUT',/,
345 & 5x,
' CURVE ARE STRAIN DEPENDING',/,
346 & 5x,
'CONSTANT PULLEY FRICTION COEFFICIENT. .=',1pg20.13/
347 & 5x,
'TABLE ID OF VARIABLE FRICTION FUNCTIONS=',i10/,
348 & 5x,
'FRICTION FLAG . . . . . . . . . . . . .=',i10/,
349 & 5x,
'Y SCALE FACTOR IN FRICTION TABLE. . . .=',1pg20.13/
350 & 5x,
'FORCE ABSCISSA SCALE IN FRICTION TABLE.=',1pg20.13/
351 & 5x,
'NON REVERSIBLE NEGATIVE LIMIT FORCE . .=',1pg20.13/
352 & 5x,
'NON REVERSIBLE POSITIVE LIMIT FORCE . .=',1pg20.13/)
354 & 5x,
'SPRING PROPERTY SET (3 NODES PULLEY)'/,
355 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
356 & 5x,
'SPRING MASS . . . . . . . . . . . . . .=',1pg20.13/,
357 & 5x,
'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
358 & 5x,
'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
359 & 5x,
'FUNCTION IDENTIFIER FOR LOADING ',/,
360 & 5x,
'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
361 & 5x,
'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
362 & 5x,
'PERMANENT DISPL./MAX. DISPL. CURVE(H=5)=',i10/,
363 & 5x,
'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
364 & 5x,
'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
365 & 5x,
'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
366 & 5x,
'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
367 & 5x,
'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
368 & 5x,'dynamic amplification factor a. . . . .=
',1PG20.13/,
369 & 5X,'dynamic amplification factor b. . . . .=
',1PG20.13/,
370 & 5X,'dynamic amplification factor d. . . . .=
',1PG20.13/,
371 & 5X,'dynamic amplification factor e. . . . .=
',1PG20.13/,
372 & 5X,'FUNCTION identifier
for ',/,
373 & 5X,'force-velocity curve. . . . . . . . . .=
',I10/,
374 & 5X,'dynamic amplification factor gf3. . . .=
',1PG20.13/,
375 & 5X,'function identifier
for the additional
',/,
376 & 5X,'force-velocity curve. . . . . . . . . .=
',I10/,
377 & 5X,'negative failure displacement . . . . .=
',1PG20.13/,
378 & 5X,'positive failure displacement . . . . .=
',1PG20.13/,
379 & 5X,'sensor number (0:NOT USED). . . . . . .=
',I10/,
380 & 5X,'sensor flag (0:ACTIV 1:DISACT 2:BOTH) .=
',I10/,
381 & 5X,'unit length flag. . . . . . . . . . . .=
',I10/,
382 & 5X,'if=1 unit length mass,stiffness and input
',/,
383 & 5X,' curve are strain depending
',/,
384 & 5X,'constant pulley friction coefficient. .=
',1PG20.13/
385 & 5X,'table
id of variable friction functions=
',I10/,
386 & 5X,'friction flag . . . . . . . . . . . . .=
',I10/,
387 & 5X,'y scale factor in friction table. . . .=
',1PG20.13/
388 & 5X,'force abscissa scale in friction table.=
',1PG20.13/
389 & 5X,'non reversible negative limit force . .=
',1PG20.13/
390 & 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)