39 . NUVAR ,IFUNC ,MAXFUNC ,NFUNC , PARMAT ,
40 . UNITAB ,MAT_ID ,TITR ,MTAG , LSUBMODEL,
70#include "implicit_f.inc"
79 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
80 my_real,
INTENT(INOUT) :: PM(NPROPM),PARMAT(100),UPARAM(MAXUPARAM)
81 INTEGER,
INTENT(INOUT) :: IPM(NPROPMI),ISRATE,IFUNC(MAXFUNC),NFUNC,MAXFUNC,MAXUPARAM,NUPARAM, NUVAR,IMATVIS
82 TYPE(),
INTENT(INOUT) :: MTAG
83 INTEGER,
INTENT(IN) :: MAT_ID
84 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
86 TYPE(matparam_struct_) ,
INTENT(INOUT) ::
91 . w, d, pcj, e0, p0, c1, vcj,c,
92 . eadd, tbegin, tend, psh,rhor,rho0,
99 LOGICAL IS_AVAILABLE,IS_ENCRYPTED
103 is_encrypted = .false.
104 is_available = .false.
143 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
144 CALL hm_get_floatv(
'Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
146 CALL hm_get_floatv(
'MAT_P0' , p0 ,is_available, lsubmodel, unitab)
147 CALL hm_get_floatv(
'MAT_PSH' , psh ,is_available, lsubmodel, unitab)
148 CALL hm_get_intv(
'MAT_IBFRAC' ,ibfrac ,is_available, lsubmodel)
150 CALL hm_get_floatv(
'MLAW97_D' , d ,is_available, lsubmodel, unitab)
151 CALL hm_get_floatv(
'MLAW97_PCJ' , pcj ,is_available, lsubmodel, unitab)
152 CALL hm_get_floatv(
'MLAW97_E0' , e0 ,is_available, lsubmodel, unitab)
153 CALL hm_get_floatv(
'Omega' , w ,is_available, lsubmodel, unitab)
154 CALL hm_get_floatv(
'MLAW97_C' , c ,is_available, lsubmodel, unitab)
156 CALL hm_get_floatv(
'MLAW97_A1' ,a(1) ,is_available, lsubmodel, unitab)
157 CALL hm_get_floatv(
'MLAW97_A2' ,a(2) ,is_available, lsubmodel, unitab)
158 CALL hm_get_floatv(
'MLAW97_A3' ,a(3) ,is_available, lsubmodel, unitab)
159 CALL hm_get_floatv(
'MLAW97_A4' ,a(4) ,is_available, lsubmodel, unitab)
160 CALL hm_get_floatv(
'MLAW97_A5' ,a(5) ,is_available, lsubmodel, unitab)
162 CALL hm_get_floatv(
'MLAW97_R1' ,r(1) ,is_available, lsubmodel, unitab)
163 CALL hm_get_floatv(
'MLAW97_R2' ,r(2) ,is_available, lsubmodel, unitab)
164 CALL hm_get_floatv(
'MLAW97_R3' ,r(3) ,is_available, lsubmodel, unitab)
165 CALL hm_get_floatv(
'MLAW97_R4' ,r(4) ,is_available, lsubmodel, unitab)
166 CALL hm_get_floatv(
'MLAW97_R5' ,r(5) ,is_available, lsubmodel, unitab)
168 CALL hm_get_floatv(
'MLAW97_AL1' ,al(1) ,is_available, lsubmodel, unitab)
169 CALL hm_get_floatv(
'MLAW97_AL2' ,al(2) ,is_available, lsubmodel, unitab)
170 CALL hm_get_floatv(
'MLAW97_AL3' ,al(3) ,is_available, lsubmodel, unitab)
171 CALL hm_get_floatv(
'MLAW97_AL4' ,al(4) ,is_available, lsubmodel, unitab)
172 CALL hm_get_floatv(
'MLAW97_AL5' ,al(5) ,is_available, lsubmodel, unitab)
174 CALL hm_get_floatv(
'MLAW97_BL1' ,bl(1) ,is_available, lsubmodel, unitab)
175 CALL hm_get_floatv(
'MLAW97_BL2' ,bl(2) ,is_available, lsubmodel, unitab)
176 CALL hm_get_floatv(
'MLAW97_BL3' ,bl(3) ,is_available, lsubmodel, unitab)
177 CALL hm_get_floatv(
'MLAW97_BL4' ,bl(4) ,is_available, lsubmodel, unitab)
178 CALL hm_get_floatv(
'MLAW97_BL5' ,bl(5) ,is_available, lsubmodel, unitab)
181 CALL hm_get_floatv(
'MLAW97_RL2' ,rl(2) ,is_available, lsubmodel, unitab)
183 CALL hm_get_floatv(
'MLAW97_RL4' ,rl(4) ,is_available, lsubmodel, unitab)
184 CALL hm_get_floatv(
'MLAW97_RL5' ,rl(5) ,is_available, lsubmodel, unitab)
187 IF(rhor==zero)rhor=rho0
195 . msgtype = msgerror ,
196 . anmode = aninfo_blind,
208 . msgtype = msgerror ,
209 . anmode = aninfo_blind,
224 uparam(09:13) = a(1:5)
225 uparam(14:18) = r(1:5)
226 uparam(19:23) = al(1:5)
227 uparam(24:28) = bl(1:5)
228 uparam(29:33) = rl(1:5)
229 uparam(34) = rho0*d**2/pcj
230 vcj = one-one/uparam(34)
234 parmat(1) = w*(pcj+e0)
257 WRITE(iout,1100) trim(titr),mat_id,97
260 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
262 WRITE(iout,1200) rho0
263 WRITE(iout,1400) w,c,d,pcj,vcj,e0,p0,psh,ibfrac
264 WRITE(iout,1300) a(1:5)
265 WRITE(iout,1301) r(1:5)
266 WRITE(iout,1302)al(1:5)
267 WRITE(iout,1303)bl(1:5)
268 WRITE(iout,1304)rl(1:5)
278 & 5x,
' J.W.L.B. EXPLOSIVE ',/,
279 & 5x,
' ------------------ ',//)
282 & 5x,
'MATERIAL NUMBER . . . . . . . . . . . .=',i10/,
283 & 5x,
'MATERIAL LAW. . . . . . . . . . . . . .=',i10/)
285 & 5x,
'INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/)
287 & 5x,
'A1. . . . . . . . . . . . . . . . . . .=',e12.4/,
288 & 5x,
'A2. . . . . . . . . . . . . . . . . . .=',e12.4/,
289 & 5x,
'A3. . . . . . . . . . . . . . . . . . .=',e12.4/,
290 & 5x,
'A4. . . . . . . . . . . . . . . . . . .=',e12.4/,
291 & 5x,
'A5. . . . . . . . . . . . . . . . . . .=',e12.4//)
293 & 5x,
'R1. . . . . . . . . . . . . . . . . . .=',e12.4/,
294 & 5x,
'R2. . . . . . . . . . . . . . . . . . .=',e12.4/,
295 & 5x,
'R3. . . . . . . . . . . . . . . . . . .=',e12.4/,
296 & 5x,
'R4. . . . . . . . . . . . . . . . . . .=',e12.4/,
297 & 5x,
'R5. . . . . . . . . . . . . . . . . . .=',e12.4//)
299 & 5x,
'AL1 . . . . . . . . . . . . . . . . . .=',e12.4/,
300 & 5x,
'AL2 . . . . . . . . . . . . . . . . . .=',e12.4/,
301 & 5x,
'AL3 . . . . . . . . . . . . . . . . . .=',e12.4/,
302 & 5x,
'AL4 . . . . . . . . . . . . . . . . . .=',e12.4/,
303 & 5x,
'AL5 . . . . . . . . . . . . . . . . . .=',e12.4//)
305 & 5x,
'BL1 . . . . . . . . . . . . . . . . . .=',e12.4/,
306 & 5x,
'BL2 . . . . . . . . . . . . . . . . . .=',e12.4/,
307 & 5x,
'BL3 . . . . . . . . . . . . . . . . . .=',e12.4/,
308 & 5x,
'BL4 . . . . . . . . . . . . . . . . . .=',e12.4/,
309 & 5x,
'BL5 . . . . . . . . . . . . . . . . . .=',e12.4//)
311 & 5x,
'RL1 . . . . . . . . . . . . . . . . . .=',e12.4/,
312 & 5x,
'RL2 . . . . . . . . . . . . . . . . . .=',e12.4/,
313 & 5x,
'RL3 . . . . . . . . . . . . . . . . . .=',e12.4/,
314 & 5x,
'RL4 . . . . . . . . . . . . . . . . . .=',e12.4/,
315 & 5x,
'RL5 . . . . . . . . . . . . . . . . . .=',e12.4//)
317 & 5x,
'OMEGA . . . . . . . . . . . . . . . . .=',e12.4/,
318 & 5x,
'C PARAMETER . . . . . . . . . . . . . .=',e12.4/,
319 & 5x,
'DETONATION VELOCITY . . . . . . . . . .=',e12.4/,
320 & 5x,'chapman jouguet pressure. . . . . . . .=
',E12.4/,
321 & 5X,'chapman jouguet volume. . . . . . . . .=
',E12.4/,
322 & 5X,'initial energy per unit volume. . . . .=
',E12.4/,
323 & 5X,'initial pressure. . . . . . . . . . . .=
',E12.4/,
324 & 5X,'pressure shift. . . . . . . . . . . . .=
',E12.4/,
325 & 5X,'burn fraction method. . . . . . . . . .=
',I10/)
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)