52#include "implicit_f.inc"
59#include "tablen_c.inc"
63 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
64 INTEGER IGEO(NPROPGI),IGTYP
68 TYPE(
prop_tag_) ,
DIMENSION(0:MAXPROP) :: PROP_TAG
73 INTEGER J, IFUNC, IFUNC2, IFUNC3, IECROU, IFV, IG,ISENS,
77 . a, b, d, e, f, dn, dx, pun,
78 . lscale,gf3,a_unit,b_unit,d_unit,e_unit,f_unit,lscale_unit,gf3_unit
79 CHARACTER(LEN=NCHARTITLE) :: TITR
80 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
86 is_available = .false.
102 CALL hm_get_intv(
'ISENSOR',isens,is_available,lsubmodel)
103 CALL hm_get_intv(
'ISFLAG',ifl,is_available,lsubmodel)
104 CALL hm_get_intv(
'Ileng',ileng,is_available,lsubmodel)
105 CALL hm_get_intv(
'FUN_A1',ifunc,is_available,lsubmodel)
106 CALL hm_get_intv(
'HFLAG1',iecrou,is_available,lsubmodel)
107 CALL hm_get_intv(
'FUN_B1',ifv,is_available,lsubmodel)
108 CALL hm_get_intv(
'FUN_C1',ifunc2,is_available,lsubmodel)
109 CALL hm_get_intv(
'FUN_D1',ifunc3,is_available,lsubmodel)
113 CALL hm_get_floatv(
'MASS',geo(1),is_available,lsubmodel,unitab)
114 CALL hm_get_floatv('stiff1
',GEO(2),IS_AVAILABLE,LSUBMODEL,UNITAB)
115 CALL HM_GET_FLOATV('damp1
',GEO(3),IS_AVAILABLE,LSUBMODEL,UNITAB)
116 CALL HM_GET_FLOATV('acoeft1
',A,IS_AVAILABLE,LSUBMODEL,UNITAB)
117 CALL HM_GET_FLOATV('bcoeft1
',B,IS_AVAILABLE,LSUBMODEL,UNITAB)
118 CALL HM_GET_FLOATV('dcoeft1
',D,IS_AVAILABLE,LSUBMODEL,UNITAB)
119 CALL HM_GET_FLOATV('min_rup1
',DN,IS_AVAILABLE,LSUBMODEL,UNITAB)
120 CALL HM_GET_FLOATV('max_rup1
',DX,IS_AVAILABLE,LSUBMODEL,UNITAB)
121 CALL HM_GET_FLOATV('prop_fscale
',F,IS_AVAILABLE,LSUBMODEL,UNITAB)
122 CALL HM_GET_FLOATV('prop_escale
',E,IS_AVAILABLE,LSUBMODEL,UNITAB)
123 CALL HM_GET_FLOATV('scale1
',LSCALE,IS_AVAILABLE,LSUBMODEL,UNITAB)
124 CALL HM_GET_FLOATV('ffac
',GF3,IS_AVAILABLE,LSUBMODEL,UNITAB)
125 !units for default values
126 CALL HM_GET_FLOATV_DIM('acoeft1
',A_UNIT,IS_AVAILABLE,LSUBMODEL,UNITAB)
127 CALL HM_GET_FLOATV_DIM('bcoeft1
',B_UNIT,IS_AVAILABLE,LSUBMODEL,UNITAB)
128 CALL HM_GET_FLOATV_DIM('dcoeft1
',D_UNIT,IS_AVAILABLE,LSUBMODEL,UNITAB)
129 CALL HM_GET_FLOATV_DIM('prop_fscale
',F_UNIT,IS_AVAILABLE,LSUBMODEL,UNITAB)
130 CALL HM_GET_FLOATV_DIM('prop_escale
',E_UNIT,IS_AVAILABLE,LSUBMODEL,UNITAB)
131 CALL HM_GET_FLOATV_DIM('scale1
',LSCALE_UNIT,IS_AVAILABLE,LSUBMODEL,UNITAB)
132 CALL HM_GET_FLOATV_DIM('ffac
',GF3_UNIT,IS_AVAILABLE,LSUBMODEL,UNITAB)
135 CALL FRETITL2(TITR,IGEO(NPROPGI-LTITR+1),LTITR)
137 CALL ANCMSG(MSGID=229,
139 . ANMODE=ANINFO_BLIND_1,
143.AND..AND.
! IF(IFUNC/=0IECROU>=1GEO(2) == 0.0)THEN
144! CALL ANCMSG(MSGID=230,
146! . ANMODE=ANINFO_BLIND_1,
150.AND..OR.
IF(IECROU == 4(IFUNC == 0IFUNC2 == 0))THEN
151 CALL ANCMSG(MSGID=231,
153 . ANMODE=ANINFO_BLIND_1,
157.AND.
IF(IECROU == 4GEO(2) == ZERO)THEN
158 CALL ANCMSG(MSGID=230,
160 . ANMODE=ANINFO_BLIND_1,
164.AND..OR.
IF(IECROU == 5(IFUNC == 0IFUNC2 == 0))THEN
165 CALL ANCMSG(MSGID=231,
167 . ANMODE=ANINFO_BLIND_1,
171.AND..OR.
IF(IECROU==6(IFUNC==0IFUNC2==0))THEN
172 CALL ANCMSG(MSGID=1057,
174 . ANMODE=ANINFO_BLIND_1,
178.AND.
IF(IECROU==7IFUNC==0)THEN
179 CALL ANCMSG(MSGID=1058,
181 . ANMODE=ANINFO_BLIND_1,
185.AND.
ELSEIF(IECROU==7IFUNC2==0)THEN
186 CALL ANCMSG(MSGID=1059,
187 . MSGTYPE=MSGWARNING,
188 . ANMODE=ANINFO_BLIND_1,
195.AND.
IF(IECROU == 8 IFUNC == 0)THEN
196 CALL ANCMSG(MSGID=231,
198 . ANMODE=ANINFO_BLIND_1,
202.AND..AND.
IF (IFUNC == 0 A /= ZERO A /= ONE) THEN
203 CALL ANCMSG(MSGID=663,
204 . MSGTYPE=MSGWARNING,
205 . ANMODE=ANINFO_BLIND_1,
210 IF (A == ZERO) A = ONE * A_UNIT
211 IF (D == ZERO) D = ONE * D_UNIT
212 IF (E == ZERO) E = ONE * E_UNIT
213 IF (F == ZERO) F = ONE * F_UNIT
214 IF (GF3 == ZERO) GF3 = ONE * GF3_UNIT
215 IF (LSCALE == ZERO) THEN
217 LSCALE = ONE * LSCALE_UNIT
227 IF (DN == ZERO)DN=-EP30
228 IF (DX == ZERO)DX= EP30
229 IF (IFL == 1) ISENS=-ISENS
234.NOT.
IF( IS_ENCRYPTED)THEN
236 WRITE(IOUT,1400)IG,(GEO(J),J=1,3),IFUNC,LSCALE,IFUNC2,
237 . F,IECROU,A,B,D,E,IFV,GF3,IFUNC3,DN,DX,ABS(ISENS),
240 WRITE(IOUT,1500)IG,(GEO(J),J=1,3),IFUNC,LSCALE,IFUNC2,
241 . F,IECROU,A,B,D,E,IFV,GF3,IFUNC3,DN,DX,ABS(ISENS),
265 IF (IECROU == 6) THEN
270 IGEO(101) = IFUNC ! FUN_A1
271 IGEO(102) = IFV ! FUN_B1
272 IGEO(103) = IFUNC2 ! FUN_C1
273 IGEO(119) = IFUNC3 ! FUN_D1
278.AND.
IF(GEO(39)/=ZEROIGEO( 9)== 0)IGEO( 9)=NINT(GEO(39))
279.AND.
IF(GEO(171)/=ZEROIGEO(10)== 0)IGEO(10)=NINT(GEO(171))
282 PROP_TAG(IGTYP)%G_EINT = 1
283 PROP_TAG(IGTYP)%G_FOR = 1
284 PROP_TAG(IGTYP)%G_LENGTH = 1 ! X0 (AL0) - total length
285 PROP_TAG(IGTYP)%G_TOTDEPL = 1 ! DX - total deformation (translation)
286 PROP_TAG(IGTYP)%G_FOREP = 1 ! FORCE - (ELASTO PLASTIQUE (ISOTROPE))
287 PROP_TAG(IGTYP)%G_DEP_IN_TENS = 1 ! DPX (DPY,DPZ) - max displacement in tension
288 PROP_TAG(IGTYP)%G_DEP_IN_COMP = 1 ! DPX2 (DPY2, DPZ2) - Max Displacement in Compression
289 PROP_TAG(IGTYP)%G_POSX = 5
290 PROP_TAG(IGTYP)%G_YIELD = 1
291 PROP_TAG(IGTYP)%G_LENGTH_ERR = 1
292 PROP_TAG(IGTYP)%G_NUVAR = MAX(PROP_TAG(IGTYP)%G_NUVAR,NINT(GEO(25))) ! additional internal variables for h=6
293 PROP_TAG(IGTYP)%G_DEFINI = 1
294 PROP_TAG(IGTYP)%G_FORINI = 1
300 & 5X,'spring property set'/,
301 & 5x,
'-------------------'/,
302 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
303 & 5x,
'CONFIDENTIAL DATA'//)
305 & 5x,
'SPRING PROPERTY SET'/,
306 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
307 & 5x,
'SPRING MASS . . . . . . . . . . . . . .=',1pg20.13/,
308 & 5x,
'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
309 & 5x,
'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
310 & 5x,
'FUNCTION IDENTIFIER FOR LOADING ',/,
311 & 5x,
'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
312 & 5x,
'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
313 & 5x,
'FUNCTION IDENTIFIER FOR UNLOADING ',/,
314 & 5x,
'FORCE-DISPLACEMENT CURVE (H=4,5,7). . .=',i10/,
315 & 5x,
'ABSCISSA SCALE FACTOR ON CURVE . . . . ='
316 & 5x,
'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
317 & 5x,
'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
318 & 5x,'4:kinematic 5:uncoupled
nl(un/re)loading
',/,
319 & 5X,'6:elasto plastic with hardening 7: elastic hysteresis
',/,
320 & 5X,'8:elastic, total length function
',/,
321 & 5X,'dynamic amplification factor a. . . . .=
',1PG20.13/,
322 & 5X,'dynamic amplification factor b. . . . .=
',1PG20.13/,
323 & 5X,'dynamic amplification factor d. . . . .=
',1PG20.13/,
324 & 5X,'dynamic amplification factor e. . . . .=
',1PG20.13/,
325 & 5X,'FUNCTION identifier
for ',/,
326 & 5X,'force-
velocity curve. . . . . . . . . .=
',I10/,
327 & 5X,'dynamic amplification factor gf3. . . .=
',1PG20.13/,
328 & 5X,'function identifier
for the additional
',/,
329 & 5X,'force-
velocity curve. . . . . . . . . .=
',I10/,
330 & 5X,'negative failure displacement . . . . .=
',1PG20.13/,
331 & 5X,'positive failure displacement . . . . .=
',1PG20.13/,
332 & 5X,'sensor number (0:NOT USED). . . . . . .=
',I10/,
333 & 5X,'sensor flag (0:ACTIV 1:DISACT 2:BOTH) .=
',I10/,
334 & 5X,'unit length flag. . . . . . . . . . . .=
',I10/,
335 & 5X,'if=1 unit length mass,stiffness and input
',/,
336 & 5X,' curve are strain depending
',/)
338 & 5X,'spring property set
'/,
339 & 5X,'property set number . . . . . . . . . .=
',I10/,
340 & 5X,'spring mass . . . . . . . . . . . . . .=
',1PG20.13/,
341 & 5X,'spring stiffness. . . . . . . . .
',1PG20.13/,
342 & 5X,'spring
damping. . . . . . . . . . . . .=
',1PG20.13/,
343 & 5X,'function identifier
for loading
',/,
344 & 5X,'force-displacement curve. . . . . . . .=
',I10/,
345 & 5X,'abscissa scale factor
',1PG20.13/,
346 & 5X,'permanent displ./
max. displ. curve(H=5)=
',I10/,
347 & 5X,'abscissa scale factor on curve . . . . =
',1PG20.13/,
348 & 5X,'hardening flag h. . . . . . . . . . . .=
',I10/,
349 & 5X,'0:elastic 1:isotropic 2:uncoupled
',/,
350 & 5X,'4:kinematic 5:uncoupled
nl (UN/RE)loading
',/,
351 & 5X,'6:elasto plastic with hardening 7: elastic hysteresis
',/,
352 & 5X,'8:elastic, total length function. . . .
',/,
353 & 5X,'dynamic amplification factor a. . . . .=
',1PG20.13/,
354 & 5X,'dynamic amplification factor b. . . . .=
',1PG20.13/,
355 & 5X,'dynamic amplification factor d. . . . .=
',1PG20.13/,
356 & 5X,'dynamic amplification factor e. . . . .=
',1PG20.13/,
357 & 5X,'function identifier
for ',/,
358 & 5X,'force-
velocity curve. . . . . . . . . .=
',I10/,
359 & 5X,'dynamic amplification factor gf3. . . .=
',1PG20.13/,
360 & 5X,'function identifier
for the additional
',/,
361 & 5X,'force-
velocity curve. . . . . . . . . .=
',I10/,
362 & 5X,'negative failure displacement . . . . .=
',1PG20.13/,
363 & 5X,'positive failure displacement . . . . .=
',1PG20.13/,
364 & 5X,'sensor number (0:NOT USED). . . . . . .=
',I10/,
365 & 5X,'sensor flag (0:ACTIV 1:DISACT 2:BOTH) .=
',I10/,
366 & 5X,'unit length flag. . . . . . . . . . . .=
',I10/,
367 & 5X,'if=1 unit length mass,stiffness and input
',/,
368 & 5X,' curve are strain depending
',/)