OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_fail.F File Reference
#include "implicit_f.inc"
#include "units_c.inc"
#include "com_xfem1.inc"
#include "userlib.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine hm_read_fail (mat_param, nummat, maxfail, fail_tag, ntable, table, failwave, nloc_dmg, unitab, lsubmodel)

Function/Subroutine Documentation

◆ hm_read_fail()

subroutine hm_read_fail ( type (matparam_struct_), dimension(nummat), intent(inout) mat_param,
integer, intent(in) nummat,
integer, intent(in) maxfail,
type (fail_tag_), dimension(0:maxfail ) fail_tag,
integer, intent(in) ntable,
type (ttable), dimension(ntable), intent(in) table,
type (failwave_str_) failwave,
type (nlocal_str_) nloc_dmg,
type (unit_type_), intent(in) unitab,
type (submodel_data), dimension(*), intent(in) lsubmodel )

Definition at line 89 of file hm_read_fail.F.

92C-----------------------------------------------
93C M o d u l e s
94C-----------------------------------------------
95 USE matparam_def_mod
96 USE elbuftag_mod
97 USE unitab_mod
98 USE message_mod
99 USE failwave_mod
101 USE submodel_mod
103 USE table_mod
104 USE hm_read_fail_spalling_mod
105 USE hm_read_fractal_dmg_mod
106 USE hm_read_fail_lemaitre_mod
107 USE hm_read_fail_composite_mod
109C============================================================================
110C I m p l i c i t T y p e s
111C-----------------------------------------------
112#include "implicit_f.inc"
113C-----------------------------------------------
114C C o m m o n B l o c k s
115C-----------------------------------------------
116#include "units_c.inc"
117#include "com_xfem1.inc"
118#include "userlib.inc"
119C-----------------------------------------------
120C D u m m y A r g u m e n t s
121C-----------------------------------------------
122 INTEGER ,INTENT(IN) :: NUMMAT
123 INTEGER ,INTENT(IN) :: NTABLE
124 INTEGER ,INTENT(IN) :: MAXFAIL
125 TYPE (FAIL_TAG_), DIMENSION(0:MAXFAIL ) :: FAIL_TAG
126 TYPE (FAILWAVE_STR_) :: FAILWAVE
127 TYPE (NLOCAL_STR_) :: NLOC_DMG
128 TYPE (TTABLE) ,INTENT(IN) :: TABLE(NTABLE)
129 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(INOUT) :: MAT_PARAM
130 TYPE (SUBMODEL_DATA),INTENT(IN) ::LSUBMODEL(*)
131 TYPE (UNIT_TYPE_),INTENT(IN) :: UNITAB
132C-----------------------------------------------
133C L o c a l V a r i a b l e s
134C-----------------------------------------------
135 INTEGER I,J,N,IMAT,IFAIL,IFL,ILAW,MAT_ID,FAIL_ID,
136 . ILOC,IRUPT,IFAILWAVE,UNIT_ID,IXFEM,HM_NBFAIL,IUNIT,IFLAGUNIT
137 INTEGER ,DIMENSION(:) ,ALLOCATABLE :: FAIL_MAT_NUM
138 CHARACTER MESS*40
139 CHARACTER(LEN = NCHARKEY) :: KEY
140 CHARACTER(LEN=NCHARTITLE) :: TITR
141C----------------------------------
142 my_real unitab_sub(4)
143 CHARACTER(LEN=NCHARLINE) :: IUSER_KEY
144C----------------------------------
145 LOGICAL :: IS_AVAILABLE,IS_ID_LINE
146C----------------------------------
147 DATA mess /'FAILURE MODELS DEFINITION '/
148C======================================================================-
149 is_available = .false.
150 is_id_line = .false.
151c
152c default allocation sizes of internal variables in element buffer
153c
154 DO i = 0,maxfail ! common to all failure models of the same type (IRUPT)
155 fail_tag(i)%LF_DAM = 0
156 fail_tag(i)%LF_DAMMX = 1
157 fail_tag(i)%LF_DAMINI = 0
158 fail_tag(i)%LF_TDEL = 1
159 fail_tag(i)%LF_INDX = 0
160 fail_tag(i)%LF_OFF = 1
161 fail_tag(i)%LF_DIR = 0
162 ENDDO
163c
164 icrack3d = 0
165c--------------------------------------------------
166c COUNT FAILURE MODELS USING CFG FILES
167c--------------------------------------------------
168c
169 CALL hm_option_count('FAILURE',hm_nbfail)
170c
171C--------------------------------------------------
172C EXTRACT DATAS OF /FAIL/... LINE
173C--------------------------------------------------
174 ALLOCATE (fail_mat_num(hm_nbfail))
175 fail_mat_num(:) = 0
176c
177 CALL hm_option_start('FAILURE')
178c
179 DO ifail = 1,hm_nbfail
180c
181 CALL hm_option_read_key(lsubmodel,
182 . option_id = fail_id, ! read in optional line if added
183 . unit_id = unit_id ,
184 . keyword2 = key )
185c
186 CALL hm_get_intv('mat_id' ,mat_id ,is_available,lsubmodel)
187c
188c ! number of failure models par material law
189 DO imat = 1,nummat-1
190 IF (mat_param(imat)%MAT_ID == mat_id) THEN
191 mat_param(imat)%NFAIL = mat_param(imat)%NFAIL + 1
192 fail_mat_num(ifail) = imat
193 EXIT
194 ENDIF
195 END DO
196 END DO ! IFAIL
197c-------------------------------------------------
198c Allocate and initialize failure structure for each material
199c-------------------------------------------------
200c
201 CALL fail_init(mat_param ,nummat)
202c
203 mat_param(1:nummat)%NFAIL = 0
204c-------------------------------------------------
205c Read failure models and add to material data structure
206c-------------------------------------------------
207 CALL hm_option_start('FAILURE')
208c
209 DO ifail = 1,hm_nbfail
210 imat = fail_mat_num(ifail)
211c
212 CALL hm_option_read_key(lsubmodel,
213 . option_id = fail_id, ! read in optional line if added
214 . unit_id = unit_id ,
215 . keyword2 = key )
216 CALL hm_get_intv('mat_id' ,mat_id ,is_available,lsubmodel)
217c
218 IF (imat == 0) THEN ! MAT_ID not found for this failure model
219 CALL ancmsg(msgid=3050,anmode=aninfo,msgtype=msgwarning,
220 . c1= key ,
221 . i1= fail_id,
222 . i2= mat_id)
223c
224 ELSE IF (imat > 0) THEN
225c
226 ! CHECK IF Unit_ID exists
227 iunit = 1
228 IF (unit_id > 0) THEN
229 iflagunit = 0
230 DO iunit=1,unitab%NUNITS
231 IF (unitab%UNIT_ID(iunit) == unit_id) THEN
232 iflagunit = 1
233 unit_id = iunit
234 EXIT
235 ENDIF
236 ENDDO
237 IF (iflagunit == 0) THEN
238 CALL ancmsg(msgid=659,anmode=aninfo,msgtype=msgerror,
239 . i1= mat_id,
240 . i2= unit_id,
241 . c1='MATERIAL',
242 . c2='FAILURE MODEL',
243 . c3=' ')
244 ENDIF
245 ENDIF
246c
247 CALL hm_get_intv('mat_id' ,mat_id ,is_available,lsubmodel)
248 CALL hm_get_boolv ('ID_CARD_EXIST',is_id_line,is_available)
249 IF ( .NOT. (is_id_line)) fail_id = 0
250c
251 ixfem = 0
252 iloc = 0
253 ifailwave = 0
254c
255 ! Printing out material ID, failure criterion type and ID
256 WRITE(iout,1000) mat_id,adjustr(key(1:10)),fail_id
257c
258 IF (mat_param(imat)%MAT_ID == mat_id) THEN
259 mat_param(imat)%NFAIL = mat_param(imat)%NFAIL + 1
260 ifl = mat_param(imat)%NFAIL
261 ilaw = mat_param(imat)%ILAW
262c------- ----------------------------------------------------------------
263c
264 IF (key(1:5) == 'JOHNS') THEN
265 irupt = 1
266 CALL hm_read_fail_johnson(mat_param(imat)%FAIL(ifl),
267 . mat_id ,fail_id ,ilaw ,irupt ,ixfem ,
268 . mat_param(imat)%TITLE ,lsubmodel ,unitab )
269c---
270c
271 ELSEIF (key(1:5) == 'TBUTC') THEN
272 irupt = 2
273 CALL hm_read_fail_tbutcher(mat_param(imat)%FAIL(ifl),
274 . mat_id ,fail_id ,irupt ,ixfem ,
275 . lsubmodel,unitab )
276c
277 ELSEIF (key(1:5) == 'WILKI') THEN
278 irupt = 3
279 CALL hm_read_fail_wilkins(mat_param(imat)%FAIL(ifl),
280 . mat_id ,fail_id ,irupt ,lsubmodel,unitab )
281c
282 ELSEIF (key(1:5) == 'USER1') THEN
283 irupt = 4
284 unitab_sub(1) = unitab%UNIT_ID(iunit)
285 unitab_sub(2) = unitab%FAC_M(iunit)
286 unitab_sub(3) = unitab%FAC_L(iunit)
287 unitab_sub(4) = unitab%FAC_T(iunit)
288 iuser_key = repeat(' ', ncharline)
289 iuser_key(1:len_trim(key)) = key(1:len_trim(key))
290!
291 CALL hm_read_fail_user(mat_param(imat)%FAIL(ifl),
292 . irupt,iuser_key,userl_avail,
293 . lsubmodel,unitab_sub,mat_id)
294c
295 ELSEIF (key(1:5) == 'USER2') THEN
296 irupt = 5
297 unitab_sub(1) = unitab%UNIT_ID(iunit)
298 unitab_sub(2) = unitab%FAC_M(iunit)
299 unitab_sub(3) = unitab%FAC_L(iunit)
300 unitab_sub(4) = unitab%FAC_T(iunit)
301 iuser_key = repeat(' ', ncharline)
302 iuser_key(1:len_trim(key)) = key(1:len_trim(key))
303!
304 CALL hm_read_fail_user(mat_param(imat)%FAIL(ifl),
305 . irupt,iuser_key,userl_avail,
306 . lsubmodel,unitab_sub,mat_id)
307c
308 ELSEIF (key(1:5) == 'USER3') THEN
309 irupt = 6
310 unitab_sub(1) = unitab%UNIT_ID(iunit)
311 unitab_sub(2) = unitab%FAC_M(iunit)
312 unitab_sub(3) = unitab%FAC_L(iunit)
313 unitab_sub(4) = unitab%FAC_T(iunit)
314 iuser_key = repeat(' ', ncharline)
315 iuser_key(1:len_trim(key)) = key(1:len_trim(key))
316!
317 CALL hm_read_fail_user(mat_param(imat)%FAIL(ifl),
318 . irupt,iuser_key,userl_avail,
319 . lsubmodel,unitab_sub,mat_id)
320c
321 ELSEIF (key(1:3) == 'FLD') THEN
322 irupt = 7
323 CALL hm_read_fail_fld(mat_param(imat)%FAIL(ifl),
324 . mat_id ,fail_id ,irupt ,ixfem ,
325 . lsubmodel,unitab ,fail_tag(irupt))
326c
327 ELSEIF (key(1:5) == 'SPALL') THEN
328 irupt = 8
329 CALL hm_read_fail_spalling(mat_param(imat)%FAIL(ifl),
330 . mat_id ,fail_id ,irupt ,
331 . lsubmodel,unitab ,fail_tag(irupt),iout )
332c
333 ELSEIF (key(1:6) == 'WIERZB') THEN
334 irupt = 9
335 CALL hm_read_fail_wierzbicki(mat_param(imat)%FAIL(ifl),
336 . mat_id ,fail_id ,irupt ,lsubmodel,unitab )
337c
338 ELSEIF (key(1:8) == 'TENSSTRA') THEN
339 irupt = 10
340 CALL hm_read_fail_tensstrain(mat_param(imat)%FAIL(ifl),
341 . mat_id ,fail_id ,irupt ,
342 . lsubmodel,unitab ,unit_id )
343c
344 ELSEIF (key(1:6) == 'ENERGY') THEN
345 irupt = 11
346 CALL hm_read_fail_energy(mat_param(imat)%FAIL(ifl),
347 . mat_id ,fail_id ,irupt ,lsubmodel,unitab)
348c
349 ELSEIF (key(1:11) == 'FRACTAL_DMG') THEN
350 irupt = 12
351 CALL hm_read_fractal_dmg(mat_param(imat)%FAIL(ifl),
352 . mat_id ,fail_id ,irupt ,lsubmodel,unitab ,iout )
353 fail_tag(irupt)%LF_DAM = 1
354 fail_tag(irupt)%LF_DAMMX = 1
355c
356 ELSEIF (key(1:5) == 'CHANG') THEN
357 irupt = 13
358 CALL hm_read_fail_chang(mat_param(imat)%FAIL(ifl),
359 . mat_id ,fail_id ,irupt ,
360 . lsubmodel,unitab ,fail_tag(irupt))
361c
362 ELSEIF (key(1:6) == 'HASHIN') THEN
363 irupt = 14
364 CALL hm_read_fail_hashin(mat_param(imat)%FAIL(ifl),
365 . mat_id ,fail_id ,irupt ,ifailwave,
366 . lsubmodel,unitab ,fail_tag(irupt))
367c
368 !! ELSEIF (KEY(1:6) == '') THEN
369 !! IRUPT = 15 ! not used
370c
371 ELSEIF (key(1:4) == 'PUCK') THEN
372 irupt = 16
373 CALL hm_read_fail_puck(mat_param(imat)%FAIL(ifl),
374 . mat_id ,fail_id ,irupt ,
375 . lsubmodel,unitab ,fail_tag(irupt))
376c
377 !! ELSEIF (KEY(1:10) == '') THEN
378 !! IRUPT = 17 ! not used
379c
380 ELSEIF (key(1:8) == 'LAD_DAMA') THEN
381 irupt = 18
382 CALL hm_read_fail_ladeveze(mat_param(imat)%FAIL(ifl),
383 . mat_id ,fail_id ,irupt ,
384 . lsubmodel,unitab)
385c
386 !! ELSEIF (KEY(1:8) == ' ') THEN ! not used
387 !! IRUPT = 19
388c
389 ELSEIF (key(1:7) == 'CONNECT') THEN
390 irupt = 20
391 CALL hm_read_fail_connect(mat_param(imat)%FAIL(ifl),
392 . mat_id ,fail_id ,irupt ,unit_id ,
393 . lsubmodel,unitab ,fail_tag(irupt))
394c
395 !! ELSEIF (KEY(1:10) == ' ') THEN
396 !! IRUPT = 21 ! not used
397c
398 !! ELSEIF (KEY(1:8) == ' ') THEN
399 !! IRUPT = 22 ! not used
400c
401 ELSEIF (key(1:4) == 'TAB1') THEN
402 irupt = 23
403 CALL hm_read_fail_tab1(mat_param(imat)%FAIL(ifl),
404 . mat_id ,fail_id ,irupt ,ixfem ,
405 . lsubmodel,unitab )
406c
407 ELSEIF (key(1:4) == 'TAB2') THEN
408 irupt = 41
409 CALL hm_read_fail_tab2(mat_param(imat)%FAIL(ifl),
410 . mat_id ,fail_id ,irupt ,mat_param(imat)%TITLE,
411 . lsubmodel,unitab )
412c
413 ELSEIF (key(1:3) == 'TAB') THEN
414 irupt = 37
415 CALL hm_read_fail_tab_old(mat_param(imat)%FAIL(ifl),
416 . mat_id ,fail_id ,irupt ,ixfem ,
417 . lsubmodel,unitab )
418c
419 ELSEIF (key(1:10) == 'ORTHSTRAIN') THEN
420 irupt = 24
421 CALL hm_read_fail_orthstrain(mat_param(imat)%FAIL(ifl),
422 . fail_id ,irupt ,lsubmodel,unitab ,
423 . fail_tag(irupt))
424c
425 ELSEIF (key(1:3) == 'NXT') THEN
426 irupt = 25
427 CALL hm_read_fail_nxt(mat_param(imat)%FAIL(ifl),
428 . mat_id ,fail_id ,irupt ,
429 . lsubmodel,unitab ,fail_tag(irupt))
430c
431 ELSEIF (key(1:9) == 'SNCONNECT') THEN
432 irupt = 26
433 CALL hm_read_fail_snconnect(mat_param(imat)%FAIL(ifl),
434 . mat_id ,fail_id ,irupt ,lsubmodel,unitab )
435 fail_tag(irupt)%LF_DAM = 3
436c
437 ELSEIF (key(1:3) == 'EMC') THEN
438 irupt = 27
439 CALL hm_read_fail_emc(mat_param(imat)%FAIL(ifl),
440 . mat_id ,fail_id ,irupt ,lsubmodel,unitab )
441c
442 ELSEIF (key(1:5) == 'ALTER') THEN
443 irupt = 28
444 CALL hm_read_fail_alter(mat_param(imat)%FAIL(ifl) ,fail_tag ,
445 . maxfail ,mat_id ,fail_id ,irupt ,ixfem ,
446 . ifailwave,lsubmodel,unitab )
447c
448 ELSEIF (key(1:8) == 'SAHRAEI') THEN
449 irupt = 29
450 CALL hm_read_fail_sahraei(mat_param(imat)%FAIL(ifl),
451 . mat_id ,fail_id ,irupt ,lsubmodel,unitab )
452c
453 ELSEIF (key(1:6) == 'BIQUAD') THEN
454 irupt = 30
455 CALL hm_read_fail_biquad(mat_param(imat)%FAIL(ifl),
456 . mat_id ,fail_id ,irupt ,
457 . mat_param(imat)%TITLE ,lsubmodel,unitab )
458c
459 ELSEIF (key(1:6) == 'FABRIC') THEN
460 irupt = 31
461 CALL hm_read_fail_fabric(mat_param(imat)%FAIL(ifl),
462 . mat_id ,fail_id ,irupt ,unit_id ,
463 . lsubmodel,unitab )
464c
465 ELSEIF (key(1:7) == 'HC_DSSE') THEN
466 irupt = 32
467 CALL hm_read_fail_hc_dsse(mat_param(imat)%FAIL(ifl),
468 . mat_id ,fail_id ,irupt ,lsubmodel,unitab )
469 fail_tag(irupt)%LF_DAM = 1 ! damag
470 fail_tag(irupt)%LF_INDX = 1 ! HC_DSc
471 ELSEIF (key(1:10) == 'MULLINS_OR') THEN
472 irupt = 33
473 CALL hm_read_mullins_or(mat_param(imat)%FAIL(ifl),
474 . mat_id ,fail_id ,irupt ,lsubmodel,unitab )
475c
476 ELSEIF (key(1:9) == 'COCKCROFT') THEN
477 irupt = 34
478 CALL hm_read_fail_cockcroft(mat_param(imat)%FAIL(ifl),
479 . mat_id ,fail_id ,irupt ,lsubmodel,unitab )
480c
481 ELSEIF (key(1:6) == 'GURSON') THEN
482 irupt = 35
483 CALL hm_read_fail_gurson(mat_param(imat)%FAIL(ifl),
484 . mat_id ,fail_id ,irupt ,iloc ,
485 . mat_param(imat)%TITLE ,lsubmodel,unitab )
486c
487 ELSEIF (key(1:6) == 'VISUAL') THEN
488 irupt = 36
489 CALL hm_read_fail_visual(mat_param(imat)%FAIL(ifl),
490 . mat_id ,fail_id ,irupt ,lsubmodel,unitab )
491c
492 ELSEIF (key(1:10) == 'ORTHBIQUAD') THEN
493 irupt = 38
494 CALL hm_read_fail_orthbiquad(mat_param(imat)%FAIL(ifl),
495 . mat_id ,fail_id ,irupt ,
496 . mat_param(imat)%TITLE ,lsubmodel,unitab )
497c
498 ELSEIF (key(1:5) == 'GENE1') THEN
499 irupt = 39
500 CALL hm_read_fail_gene1(mat_param(imat)%FAIL(ifl),
501 . mat_id ,fail_id ,irupt ,
502 . mat_param(imat)%TITLE ,lsubmodel,unitab,
503 . fail_tag(irupt))
504c
505 ELSEIF (key(1:4) == 'RTCL') THEN
506 irupt = 40
507 CALL hm_read_fail_rtcl(mat_param(imat)%FAIL(ifl),
508 . mat_id ,fail_id ,irupt ,lsubmodel,unitab )
509c
510 ELSEIF (key(1:6) == 'INIEVO') THEN
511 irupt = 42
512 CALL hm_read_fail_inievo(mat_param(imat)%FAIL(ifl),
513 . mat_id ,fail_id ,irupt ,
514 . mat_param(imat)%TITLE ,lsubmodel,unitab )
515 fail_tag(irupt)%LF_DAMINI = 1
516c
517 ELSEIF (key(1:7) == 'SYAZWAN') THEN
518 irupt = 43
519 CALL hm_read_fail_syazwan(mat_param(imat)%FAIL(ifl),
520 . mat_id ,fail_id ,irupt ,
521 . mat_param(imat)%TITLE ,lsubmodel,unitab )
522c
523 ELSEIF (key(1:6) == 'TSAIWU') THEN
524 irupt = 44
525 CALL hm_read_fail_tsaiwu(mat_param(imat)%FAIL(ifl),
526 . mat_id ,fail_id ,irupt ,lsubmodel,unitab,
527 . fail_tag(irupt))
528c
529 ELSEIF (key(1:8) == 'TSAIHILL') THEN
530 irupt = 45
531 CALL hm_read_fail_tsaihill(mat_param(imat)%FAIL(ifl),
532 . mat_id ,fail_id ,irupt ,lsubmodel,unitab ,
533 . fail_tag(irupt))
534c
535 ELSEIF (key(1:7) == 'HOFFMAN') THEN
536 irupt = 46
537 CALL hm_read_fail_hoffman(mat_param(imat)%FAIL(ifl),
538 . mat_id ,fail_id ,irupt ,lsubmodel,unitab,
539 . fail_tag(irupt))
540c
541 ELSEIF (key(1:9) == 'MAXSTRAIN') THEN
542 irupt = 47
543 CALL hm_read_fail_maxstrain(mat_param(imat)%FAIL(ifl),
544 . mat_id ,fail_id ,irupt ,lsubmodel,unitab ,
545 . fail_tag(irupt))
546c
547 ELSEIF(key(1:9) == 'ORTHENERG')THEN
548 irupt = 48
549 CALL hm_read_fail_orthenerg(mat_param(imat)%FAIL(ifl),
550 . fail_id ,irupt ,lsubmodel,unitab )
551c
552 ELSEIF (key(1:8) == 'LEMAITRE') THEN
553 irupt = 50
554 CALL hm_read_fail_lemaitre(mat_param(imat)%FAIL(ifl),
555 . fail_id ,irupt ,lsubmodel,unitab ,iout )
556c
557 ELSEIF (key(1:9) == 'COMPOSITE') THEN
558 irupt = 51
559 CALL hm_read_fail_composite(mat_param(imat)%FAIL(ifl),
560 . fail_id ,irupt ,lsubmodel,unitab ,fail_tag(irupt),
561 . iout)
562 ENDIF
563c------- --
564c
565 nloc_dmg%IMOD = max(nloc_dmg%IMOD, iloc)
566 failwave%WAVE_MOD = max(failwave%WAVE_MOD,ifailwave)
567
568 mat_param(imat)%IFAILWAVE = ifailwave
569 mat_param(imat)%NLOC = iloc
570 mat_param(imat)%IXFEM = ixfem
571 IF (ixfem == 1) icrack3d = 1
572c
573 ENDIF ! MAT_ID
574 ENDIF ! IMAT > 0
575c
576 END DO ! IFAIL
577c------------------------------
578 DEALLOCATE (fail_mat_num)
579C-----------
580 RETURN
581C-----------
582 1000 FORMAT(//
583 & 5x,'MAT_ID . . . . . . . . . . . . . . .=',i10/
584 & 5x,'FAILURE MODEL TYPE . . . . . . . . .=',a/
585 & 5x,'FAIL_ID. . . . . . . . . . . . . . .=',i10/)
586C-----------
#define my_real
Definition cppsort.cpp:32
subroutine fail_init(mat_param, nummat)
Definition fail_init.F:30
subroutine hm_get_boolv(name, bval, is_available)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_count(entity_type, hm_option_number)
subroutine hm_option_start(entity_type)
subroutine hm_read_fail_alter(fail, fail_tag, maxfail, mat_id, fail_id, irupt, ixfem, ifailwave, lsubmodel, unitab)
subroutine hm_read_fail_biquad(fail, mat_id, fail_id, irupt, titr, lsubmodel, unitab)
subroutine hm_read_fail_chang(fail, mat_id, fail_id, irupt, lsubmodel, unitab, fail_tag)
subroutine hm_read_fail_cockcroft(fail, mat_id, fail_id, irupt, lsubmodel, unitab)
subroutine hm_read_fail_connect(fail, mat_id, fail_id, irupt, unit_id, lsubmodel, unitab, fail_tag)
subroutine hm_read_fail_emc(fail, mat_id, fail_id, irupt, lsubmodel, unitab)
subroutine hm_read_fail_energy(fail, mat_id, fail_id, irupt, lsubmodel, unitab)
subroutine hm_read_fail_fabric(fail, mat_id, fail_id, irupt, unit_id, lsubmodel, unitab)
subroutine hm_read_fail_fld(fail, mat_id, fail_id, irupt, ixfem, lsubmodel, unitab, fail_tag)
subroutine hm_read_fail_gene1(fail, mat_id, fail_id, irupt, titr, lsubmodel, unitab, fail_tag)
subroutine hm_read_fail_gurson(fail, mat_id, fail_id, irupt, nloc_mod, titr, lsubmodel, unitab)
subroutine hm_read_fail_hashin(fail, mat_id, fail_id, irupt, frwave, lsubmodel, unitab, fail_tag)
subroutine hm_read_fail_hc_dsse(fail, mat_id, fail_id, irupt, lsubmodel, unitab)
subroutine hm_read_fail_hoffman(fail, mat_id, fail_id, irupt, lsubmodel, unitab, fail_tag)
subroutine hm_read_fail_inievo(fail, mat_id, fail_id, irupt, titr, lsubmodel, unitab)
subroutine hm_read_fail_johnson(fail, mat_id, fail_id, ilaw, irupt, ixfem, titr, lsubmodel, unitab)
subroutine hm_read_fail_ladeveze(fail, mat_id, fail_id, irupt, lsubmodel, unitab)
subroutine hm_read_fail_maxstrain(fail, mat_id, fail_id, irupt, lsubmodel, unitab, fail_tag)
subroutine hm_read_mullins_or(fail, mat_id, fail_id, irupt, lsubmodel, unitab)
subroutine hm_read_fail_nxt(fail, mat_id, fail_id, irupt, lsubmodel, unitab, fail_tag)
subroutine hm_read_fail_orthbiquad(fail, mat_id, fail_id, irupt, titr, lsubmodel, unitab)
subroutine hm_read_fail_orthenerg(fail, fail_id, irupt, lsubmodel, unitab)
subroutine hm_read_fail_orthstrain(fail, fail_id, irupt, lsubmodel, unitab, fail_tag)
subroutine hm_read_fail_puck(fail, mat_id, fail_id, irupt, lsubmodel, unitab, fail_tag)
subroutine hm_read_fail_rtcl(fail, mat_id, fail_id, irupt, lsubmodel, unitab)
subroutine hm_read_fail_sahraei(fail, mat_id, fail_id, irupt, lsubmodel, unitab)
subroutine hm_read_fail_snconnect(fail, mat_id, fail_id, irupt, lsubmodel, unitab)
subroutine hm_read_fail_syazwan(fail, mat_id, fail_id, irupt, titr, lsubmodel, unitab)
subroutine hm_read_fail_tab1(fail, mat_id, fail_id, irupt, ixfem, lsubmodel, unitab)
subroutine hm_read_fail_tab2(fail, mat_id, fail_id, irupt, titr, lsubmodel, unitab)
subroutine hm_read_fail_tab_old(fail, mat_id, fail_id, irupt, ixfem, lsubmodel, unitab)
subroutine hm_read_fail_tbutcher(fail, mat_id, fail_id, irupt, ixfem, lsubmodel, unitab)
subroutine hm_read_fail_tensstrain(fail, mat_id, fail_id, irupt, lsubmodel, unitab, unit_id)
subroutine hm_read_fail_tsaihill(fail, mat_id, fail_id, irupt, lsubmodel, unitab, fail_tag)
subroutine hm_read_fail_tsaiwu(fail, mat_id, fail_id, irupt, lsubmodel, unitab, fail_tag)
subroutine hm_read_fail_user(fail, irupt, iuser_key, userl_avail, lsubmodel, unitab_sub, mat_id)
subroutine hm_read_fail_visual(fail, mat_id, fail_id, irupt, lsubmodel, unitab)
subroutine hm_read_fail_wierzbicki(fail, mat_id, fail_id, irupt, lsubmodel, unitab)
subroutine hm_read_fail_wilkins(fail, mat_id, fail_id, irupt, lsubmodel, unitab)
#define max(a, b)
Definition macros.h:21
integer, parameter nchartitle
integer, parameter ncharkey
integer, parameter ncharline
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)
Definition message.F:889