49#include "implicit_f.inc"
55#include "tablen_c.inc"
59 TYPE (UNIT_TYPE_),
INTENT(IN) :: UNITAB
60 INTEGER IGEO(),IGTYP,IG
64 TYPE(
prop_tag_) ,
DIMENSION(0:MAXPROP) :: PROP_TAG
69 INTEGER IFUNC,IFUNC2,ISENS,IFL,,J,ILENG,ITENS,Fsmooth
72 . mass,stiff,damp,gap,min_rup,max_rup,
73 . ascale1,ascale2,fscale1,fscale2,
74 . ascale1_unit,ascale2_unit,fscale1_unit,
75 . fscale2_unit,nexp,fcut
76 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
79 is_encrypted = .false.
80 is_available = .false.
91 CALL hm_get_floatv(
'MASS' ,mass ,is_available,lsubmodel,unitab)
92 CALL hm_get_intv(
'ISENSOR' ,isens ,is_available,lsubmodel)
93 CALL hm_get_intv(
'ISFLAG' ,ifl ,is_available,lsubmodel)
94 CALL hm_get_intv(
'Ileng' ,ileng ,is_available,lsubmodel)
95 CALL hm_get_intv(
'Itens' ,itens ,is_available,lsubmodel)
96 CALL hm_get_intv(
'Ifail' ,ifail ,is_available,lsubmodel)
98 CALL hm_get_floatv(
'STIFF' ,stiff ,is_available,lsubmodel,unitab)
99 CALL hm_get_floatv(
'DAMP' ,damp ,is_available,lsubmodel,unitab)
100 CALL hm_get_floatv(
'NEXP' ,nexp ,is_available,lsubmodel,unitab)
101 CALL hm_get_floatv(
'MIN_RUP' ,min_rup ,is_available,lsubmodel,unitab)
102 CALL hm_get_floatv(
'MAX_RUP' ,max_rup ,is_available,lsubmodel,unitab)
104 CALL hm_get_floatv(
'GAP' ,gap ,is_available,lsubmodel,unitab)
105 CALL hm_get_intv(
'FSMOOTH' ,fsmooth ,is_available,lsubmodel)
106 CALL hm_get_floatv(
'FCUT' ,fcut ,is_available,lsubmodel,unitab)
108 CALL hm_get_intv(
'FUN1' ,ifunc ,is_available,lsubmodel)
109 CALL hm_get_intv(
'FUN2' ,ifunc2 ,is_available,lsubmodel)
110 CALL hm_get_floatv(
'ASCALE1' ,ascale1 ,is_available,lsubmodel,unitab)
111 IF (ascale1 == zero)
THEN
113 ascale1 = one * ascale1_unit
115 CALL hm_get_floatv(
'FSCALE1' ,fscale1 ,is_available,lsubmodel,unitab)
116 IF (fscale1 == zero)
THEN
118 fscale1 = one * fscale1_unit
120 CALL hm_get_floatv(
'ASCALE2' ,ascale2 ,is_available,lsubmodel,unitab)
121 IF (ascale2 == zero)
THEN
123 ascale2 = one * ascale2_unit
125 CALL hm_get_floatv(
'FSCALE2' ,fscale2 ,is_available,lsubmodel,unitab)
126 IF (fscale2 == zero)
THEN
128 fscale2 = one * fscale2_unit
136 min_rup = -abs(min_rup)
138 IF (gap < zero) itens = 0
140 IF (nexp <= zero) nexp = one
142 IF (fsmooth /= 0) fsmooth = 1
144 IF (ifunc /= 0) stiff = zero
145 IF (ifunc2 /= 0) damp = zero
147 IF (ifl == 1) isens = -isens
149 IF (min_rup == zero) min_rup = -infinity
150 IF (max_rup == zero) max_rup = infinity
152 IF (fcut /= zero)
THEN
157 IF (fsmooth /= 0)
THEN
158 fcut = 100000.0d0*unitab%FAC_T_WORK
202 IF (geo(171) /= zero .AND. igeo(10) == 0) igeo(10) = nint(geo(171))
207 prop_tag(igtyp)%G_EINT = 1
208 prop_tag(igtyp)%G_FOR = 1
209 prop_tag(igtyp)%G_LENGTH = 1
210 prop_tag(igtyp)%G_TOTDEPL = 1
211 prop_tag(igtyp)%G_DEP_IN_TENS = 1
212 prop_tag(igtyp)%G_DEP_IN_COMP = 1
213 prop_tag(igtyp)%G_POSX = 5
214 prop_tag(igtyp)%G_LENGTH_ERR = 1
215 prop_tag(igtyp)%G_NUVAR =
max(prop_tag(igtyp)%G_NUVAR,nint(geo
217 prop_tag(igtyp)%G_FORINI = 1
218 prop_tag(igtyp)%G_RUPTCRIT = 1
224 IF (.NOT. is_encrypted)
THEN
227 WRITE(iout,1400) ig,mass
229 WRITE(iout,1410) ig,mass
235 WRITE(iout,1450) stiff,nexp
237 WRITE(iout,1460) stiff,nexp
242 WRITE(iout,1500) ifunc,ascale1,fscale1
244 WRITE(iout,1510) ifunc,ascale1,fscale1
249 IF (ifunc2 == 0)
THEN
251 WRITE(iout,1550) damp
253 WRITE(iout,1560) damp
258 WRITE(iout,1600) ifunc2,ascale2,fscale2
260 WRITE(iout,1610) ifunc2,ascale2,fscale2
264 IF (gap /= zero)
THEN
272 WRITE(iout,1700) ileng
274 WRITE(iout,1800) itens
276 WRITE(iout,1900) fsmooth,fcut
280 WRITE(iout,1750) ifail,min_rup,max_rup
282 WRITE(iout,1760) ifail,min_rup,max_rup
291 & 5x,
'------------------------------------------------------'/,
292 & 5x,
' BOUNDED DAMPER SPRING PROPERTY SET '/,
293 & 5x,
'------------------------------------------------------'/)
295 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . . . . . . . . .=',i10/,
296 & 5x,
'CONFIDENTIAL DATA'//)
298 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . . . . . . . . .=',i10/,
299 & 5x,
'SPRING MASS . . . . . . . . . . . . . . . . . . . . .=',1pg20.13/)
301 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . . . . . . . . .=',i10/,
302 & 5x,
'SPRING LINEIC MASS . . . . . . . . . . . . . . . . . .=',1pg20.13/)
304 & 5x,
'LINEAR SPRING STIFFNESS . . . . . . . . . . . . . . .=',1pg20.13/,
305 & 5x,
'NON-LINEAR EXPONENT . . . . . . . . . . . . . . . . .=',1pg20.13/)
307 & 5x,
'LINEAR SPRING STIFFNESS PER UNIT LENGTH. . . . . . . .=',1pg20.13/,
308 & 5x,
'NON-LINEAR EXPONENT . . . . . . . . . . . . . . . . .=',1pg20.13/)
310 & 5x,
'NON LINEAR STIFFNESS FORCE FUNCTION ID . . . . . . . .=',i10/,
311 & 5x,
'ELONGATION SCALE FACTOR FOR STIFFNESS FUNCTION . . . .=',1pg20.13/,
312 & 5x,
'FORCE SCALE FACTOR FOR STIFFNESS FUNCTION . . . . . .=',1pg20.13/)
314 & 5x,
'NON LINEAR STIFFNESS FORCE FUNCTION ID . . . . . . . .=',i10/,
315 & 5x,
'STRAIN SCALE FACTOR FOR STIFFNESS FUNCTION . . . . . .=',1pg20.13/,
316 & 5x,
'FORCE SCALE FACTOR FOR STIFFNESS FUNCTION . . . . . .=',1pg20.13/)
318 & 5x,
'LINEAR DAMPING COEFFICIENT . . . . . . . . . . . . . .=',1pg20.13/)
320 & 5x,
'LINEAR DAMPING COEFFICIENT PER UNIT LENGTH . . . . . .=',1pg20.13/)
322 & 5x,
'NON LINEAR DAMPING FORCE FUNCTION ID . . . . . . . . .=',i10/,
323 & 5x,
'VELOCITY SCALE FACTOR FOR DAMPING FUNCTION . . . . . .=',1pg20.13/,
324 & 5x,
'FORCE SCALE FACTOR FOR DAMPING FUNCTION . . . . . . .=',1pg20.13/)
326 & 5x,
'NON LINEAR DAMPING FORCE FUNCTION ID . . . . . . . . .=',i10/,
327 & 5x,
'STRAIN-RATE SCALE FACTOR FOR DAMPING FUNCTION . . . .=',1pg20.13/,
328 & 5x,
'FORCE SCALE FACTOR FOR DAMPING FUNCTION . . . . . . .=',1pg20.13/)
330 & 5x,
'MINIMUM COMPRESSION GAP (LENGTH) FOR ACTIVATION . . .=',1pg20.13/)
332 & 5x,
'MINIMUM COMPRESSION GAP (STRAIN) FOR ACTIVATION . . .=',1pg20.13/)
334 & 5x,
'UNIT LENGTH FLAG . . . . . . . . . . . . . . . . . . .=',i10/,
335 & 5x,
' ILENG = 0 : INPUT VALUES WITH CLASSICAL UNITS ',/,
336 & 5x,
' ILENG = 1 : INPUT VALUES PER UNIT LENGTH ',/)
338 & 5x,
'FAILURE FLAG IFAIL . . . . . . . . . . . . . . . . . .=',i10/,
339 & 5x,
' IFAIL = 1 : DISPLACEMENT FAILURE CRITERION ',/,
340 & 5x,
' IFAIL = 2 : FORCE FAILURE CRITERION ',/,
341 & 5x,
'NEGATIVE FAILURE LIMIT . . . . . . . . . . . . . . . .=',1pg20.13/,
342 & 5x,
'POSITIVE FAILURE LIMIT (IF ITENS = 1). . . . . . . . .=',1pg20.13/)
344 & 5x,
'FAILURE FLAG IFAIL . . . . . . . . . . . . . . . . . .=',i10/,
345 & 5x,
' IFAIL = 1 : STRAIN FAILURE CRITERION ',/,
346 & 5x,
' IFAIL = 2 : FORCE FAILURE CRITERION ',/,
347 & 5x,
'NEGATIVE FAILURE LIMIT . . . . . . . . . . . . . . . .=',1pg20.13/,
348 & 5x,
'POSITIVE FAILURE LIMIT (IF ITENS = 1). . . . . . . . .=',1pg20.13/)
350 & 5x,
'TENSILE BEHAVIOR FLAG . . . . . . . . . . . . . . . .=',i10/,
351 & 5x,
' ITENS = 0 : NO STIFFNESS AND DAMPING IN TENSION ',/,
352 & 5x,
' ITENS = 1 : STIFFNESS AND DAMPING FOR TENSION ',/)
354 & 5x,
'SPRING FORCE FILTERING FLAG . . . . . . . . . . . . .=',i10/,
355 & 5x,
' FSMOOTH = 0 : NO FILTERING ',/,
356 & 5x,
' FSMOOTH = 1 : FILTERING ACTIVATED ',/,
357 & 5x,
'CUTOFF FREQUENCY . . . . . . . . . . . . . . . . . . .=',1pg20.13/)