39
40
41
46 USE matparam_def_mod
48
49
50
51#include "implicit_f.inc"
52
53
54
55#include "units_c.inc"
56#include "param_c.inc"
57
58
59
60 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
61 INTEGER, INTENT(IN) :: MAT_ID
62 CHARACTER(LEN=NCHARTITLE) ,INTENT(IN) :: TITR
63 TYPE(SUBMODEL_DATA), DIMENSION(*),INTENT(IN) :: LSUBMODEL
64 TYPE(MLAW_TAG_), INTENT(INOUT) :: MTAG
65 INTEGER, DIMENSION(NPROPMI) ,INTENT(INOUT) :: IPM
66 my_real,
DIMENSION(NPROPM) ,
INTENT(INOUT) :: pm
67 TYPE(MATPARAM_STRUCT_) ,INTENT(INOUT) :: MATPARAM
68
69
70
72 . young, anu, g, c0, c1, e0, e1mn2, en1n2, sdsp,
73 . rho0, rhor
74 LOGICAL :: IS_ENCRYPTED, IS_AVAILABLE
75
76
77
78
79 is_encrypted = .false.
80 is_available = .false.
81
82
84
85 CALL hm_get_floatv(
'MAT_RHO' ,rho0, is_available, lsubmodel, unitab)
86 CALL hm_get_floatv(
'Refer_Rho' ,rhor, is_available, lsubmodel, unitab)
87 IF (rhor == zero) THEN
88 rhor = rho0
89 ENDIF
90 pm(1) = rhor
91 pm(89) = rho0
92
93 CALL hm_get_floatv(
'MAT_E', young, is_available, lsubmodel, unitab)
94 CALL hm_get_floatv(
'MAT_NU', anu, is_available, lsubmodel, unitab)
95
96 IF (young <= zero) THEN
98 . msgtype=msgerror,
99 . anmode=aninfo,
100 . i1=mat_id,
101 . c1=titr)
102 ENDIF
103 IF(anu==half)anu=zep499
104
105 g=young/(two*(one+anu))
106 c1=young/(three*(one-two*anu))
107 e1mn2=young/(one-anu**2)
108 en1n2=anu*e1mn2
109 sdsp =sqrt(young/
max(pm(1),em20))
110
111 pm(20)=young
112 pm(21)=anu
113 pm(22)=g
114 pm(24)=e1mn2
115 pm(27)=sdsp
116 pm(32)=c1
117
119 IF (anu > 0.49) THEN
121 ELSE
123 END IF
124
125
132
133
134
135
136 WRITE(iout,800)trim(titr),mat_id,13
137 WRITE(iout,1000)
138 IF(is_encrypted)THEN
139 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
140 ELSE
141 WRITE(iout, 850)rho0,rhor
142 WRITE(iout,1300)young,anu,g
143 ENDIF
144
145 RETURN
146 800 FORMAT(/
147 & 5x,a,/,
148 & 5x,'MATERIAL NUMBER. . . . . . . . . . . . =',i10/,
149 & 5x,'MATERIAL LAW . . . . . . . . . . . . . =',i10/)
150 850 FORMAT(
151 & 5x,'INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/,
152 & 5x,'REFERENCE DENSITY . . . . . . . . . . .=',1pg20.13/)
153 1000 FORMAT(
154 & 5x,' RIGID LAW ',/,
155 & 5x,' --------- ')
156 1300 FORMAT(
157 & 5x,'YOUNG MODULUS . . . . . . . . . . . . .=',e12.4/,
158 & 5x,'POISSON RATIO . . . . . . . . . . . . .=',e12.4/,
159 & 5x,'SHEAR MODULUS . . . . . . . . . . . . .=',e12.4//)
160
161 RETURN
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_option_is_encrypted(is_encrypted)
subroutine init_mat_keyword(matparam, keyword)
integer, parameter nchartitle
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)