40 . UNITAB ,PM ,LSUBMODEL,ISRATE ,MAT_ID ,
41 . TITR ,IFUNC ,MAXFUNC ,MTAG ,MATPARAM )
54#include "implicit_f.inc"
63 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
64 INTEGER,
INTENT(IN) :: MAT_ID,MAXUPARAM,MAXFUNC
65 my_real,
DIMENSION(NPROPM) ,
INTENT(INOUT) :: pm
66 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
67 INTEGER,
INTENT(INOUT) :: ISRATE,IFUNC(MAXFUNC)
68 INTEGER,
INTENT(INOUT) :: NUPARAM,NFUNC
69 my_real,
DIMENSION(MAXUPARAM) ,
INTENT(INOUT) :: uparam
70 my_real,
DIMENSION(100),
INTENT(INOUT) :: parmat
73 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MATPARAM
78 INTEGER J, IFUNC1, IFUNC2,IFUNC3, IECROU, IFUNC4, IG,
79 . IFAIL,ILENG,IFAIL2,FLGCHK,ILAW,
80 . i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,
84 . a, b, d, e, f, xk, xc, dn, dx, fwv, lscale,
85 . pun,vt0, vr0, cc(6), cn(6), xa(6), xb(6),asrate,gf3,
86 . check(13,6),rho0,a_unit,e_unit,d_unit,
87 . l_unit,gf_unit,f_unit,lmin,young,sarea,f_max,m_max,rfac,ibend,itors,
89 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
91 is_encrypted = .false.
92 is_available = .false.
104 IF (is_encrypted)
THEN
105 WRITE(iout,1000)mat_id
114 WRITE(iout,1100) trim(titr),mat_id,ilaw
115 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
116 WRITE(iout,1300) rho0
139 CALL hm_get_floatv(
'LMIN' ,lmin ,is_available, lsubmodel, unitab)
140 CALL hm_get_floatv(
'STIFF1' ,xk ,is_available, lsubmodel, unitab)
141 CALL hm_get_floatv(
'DAMP1' ,xc ,is_available, lsubmodel, unitab)
143 CALL hm_get_intv (
'FUN_L' ,ifunc1 ,is_available, lsubmodel)
144 CALL hm_get_intv (
'FUN_UL' ,ifunc3 ,is_available, lsubmodel)
145 CALL hm_get_floatv(
'Fcoeft1' ,a ,is_available, lsubmodel, unitab)
146 CALL hm_get_floatv(
'Xcoeft1' ,lscale ,is_available, lsubmodel, unitab)
152 CALL hm_get_floatv(
'YOUNG' ,young ,is_available, lsubmodel, unitab)
153 CALL hm_get_floatv(
'SHEAR_AREA',sarea ,is_available, lsubmodel, unitab)
154 CALL hm_get_floatv(
'FMAX' ,f_max ,is_available, lsubmodel, unitab)
155 CALL hm_get_floatv(
'MMAX' ,m_max ,is_available, lsubmodel, unitab)
156 CALL hm_get_floatv(
'Rfac' ,rfac ,is_available, lsubmodel, unitab)
157 CALL hm_get_floatv(
'Ibend' ,ibend ,is_available, lsubmodel, unitab
158 CALL hm_get_floatv(
'Itors' ,itors ,is_available, lsubmodel, unitab)
161 IF (is_encrypted)
THEN
162 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
164 WRITE(iout,2001)
'TENSION',xk,xc,ifunc1,ifunc3,lscale,a,lmin
165 WRITE(iout,2002)
'BEAM PARAMETERS',young,f_max,m_max,ibend,itors,rfac,sarea
180 IF (rfac == zero) rfac = one
189 IF (ifunc1 /= 0)
THEN
191 IF (ifunc3 == 0) ifunc3 = ifunc1
196 IF (ifunc1 == 0 .AND. a /= zero .AND. a /= one)
THEN
198 . msgtype=msgwarning,
199 . anmode=aninfo_blind_1,
207 IF (lscale == zero) lscale = one
213 IF (ifunc1 == 0)
THEN
238 uparam(i7 + 1) = one / lscale
243 uparam(i13 + 1) = iecrou+pun
258 ifunc(if3 + 1) = ifunc3
282 IF (young > zero)
THEN
284 xk = half*five_over_6*young*sarea
297 uparam(i13 + 2) = iecrou+pun
302 ifunc(if2 + 2) = ifunc2
303 ifunc(if3 + 2) = ifunc3
304 ifunc(if4 + 2) = ifunc4
322 IF (young > zero)
THEN
324 xk = half*five_over_6*young*sarea
337 uparam(i13 + 3) = iecrou+pun
342 ifunc(if2 + 3) = ifunc2
343 ifunc(if3 + 3) = ifunc3
344 ifunc(if4 + 3) = ifunc4
347!-------------------------------------------------------
364 IF (young > zero)
THEN
366 xk = half*young*itors
379 uparam(i13 + 4) = iecrou+pun
382 ifunc(if2 + 3) = ifunc2
383 ifunc(if3 + 3) = ifunc3
384 ifunc(if4 + 3) = ifunc4
400 IF (young > zero)
THEN
415 uparam(i13 + 5) = iecrou+pun
418 ifunc(if2 + 5) = ifunc2
419 ifunc(if3 + 5) = ifunc3
420 ifunc(if4 + 5) = ifunc4
436 IF (young > zero)
THEN
451 uparam(i13 + 6) = iecrou+pun
454 ifunc(if2 + 6) = ifunc2
455 ifunc(if3 + 6) = ifunc3
456 ifunc(if4 + 6) = ifunc4
466 mtag%G_DEP_IN_TENS = 3
467 mtag%G_DEP_IN_COMP = 3
468 mtag%G_ROT_IN_TENS = 3
469 mtag%G_ROT_IN_COMP = 3
478 mtag%G_NUVAR =
max(mtag%G_NUVAR,nint(uparam(4)))
483 mtag%G_SLIPRING_ID = 1
484 mtag%G_SLIPRING_FRAM_ID = 1
485 mtag%G_SLIPRING_STRAND = 1
486 mtag%G_RETRACTOR_ID = 1
491 mtag%G_FRAM_FACTOR = 1
502 & 5x,
'SPRING MATERIAL SET (SEATBELT TYPE)'/,
503 & 5x,
'-------------------------------'/,
504 & 5x,
'MATERIAL SET NUMBER . . . . . . . . . .=',i10/,
505 & 5x,
'CONFIDENTIAL DATA'//)
508 & 5x,
'MATERIAL SET NUMBER. . . . . . . . . . =',i10/,
509 & 5x,
'MATERIAL LAW . . . . . . . . . . . . . =',i10/)
511 & 5x,
'INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/)
513 & 5x,
'SPRING MATERIAL SET (SEATBELT TYPE)'/,
514 & 5x,
'-------------------------------'/)
517 & 5x,
'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
518 & 5x,
'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
519 & 5x,
'FUNCTION IDENTIFIER FOR LOADING ',/,
520 & 5x,
'FORCE-ENGINEERING STRAIN CURVE. . . . .=',i10/,
521 & 5x,
'FUNCTION IDENTIFIER FOR UNLOADING ',/,
522 & 5x,
'FORCE-ENGINEERING STRAIN CURVE CURVE .=',i10/,
523 & 5x,
'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
524 & 5x,
'ORDINATE SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
525 & 5x,
'MINIUM LENGTH FOR MASS COMPUTATION . . =',1pg20.13/)
528 & 5x,
'YOUNG MODULUS . . . . . . . . . . . . .=',1pg20.13/,
529 & 5x,
'MAXIMUM FORCE FOR SHEAR/COMPRESSION . .=',1pg20.13/,
530 & 5x,
'MAXIMUM TORQUE FOR BENDING/TORSION . .=',1pg20.13/,
531 & 5x,
'AREA MOMENT OF INERTIA FOR BENDING . .=',1pg20.13/,
532 & 5x,
'AREA MOMENT OF INERTIA FOR TORSION . .=',1pg20.13/,
533 & 5x,
'SCALING FACTOR FOR INERTIA. . . . . . .=',1pg20.13/,
534 & 5x,
'SHEAR AREA . . . . . . . . . . . . . .=',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)