36 . FAIL ,MAT_ID ,FAIL_ID ,IRUPT ,
37 . LSUBMODEL,UNITAB ,FAIL_TAG )
52#include "implicit_f.inc"
60 INTEGER ,
INTENT(IN) :: FAIL_ID
61 INTEGER ,
INTENT(IN) :: MAT_ID
62 INTEGER ,
INTENT(IN) :: IRUPT
64 TYPE(),
INTENT(IN) :: LSUBMODEL(*)
65 TYPE(fail_param_) ,
INTENT(INOUT) :: FAIL
66 TYPE (FAIL_TAG_) ,
INTENT(INOUT) :: FAIL_TAG
71 INTEGER ,
PARAMETER :: NFUNC = 2
72 INTEGER ,
DIMENSION(NFUNC) :: IFUNC
75 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
77 is_encrypted = .false.
78 is_available = .false.
88 CALL hm_get_intv (
'fct_ID1' ,ifunc(1) ,is_available,lsubmodel)
89 CALL hm_get_intv (
'fct_ID2' ,ifunc(2) ,is_available,lsubmodel)
90 CALL hm_get_intv (
'Ifail_sh' ,ifail_sh ,is_available,lsubmodel)
92 IF (ifail_sh == 1)
THEN
94 ELSEIF (ifail_sh == 2)
THEN
100 fail%FAIL_ID = fail_id
109 ALLOCATE (fail%UPARAM(fail%NUPARAM))
110 ALLOCATE (fail%IPARAM(fail%NIPARAM))
111 ALLOCATE (fail%IFUNC (fail%NFUNC))
112 ALLOCATE (fail%TABLE (fail%NTABLE))
115 fail_tag%LF_DAMMX = fail_tag%LF_DAMMX + fail%NMOD
116 ALLOCATE (fail%MODE(fail%NMOD))
117 fail%MODE(1) =
"Instability factor"
119 fail%IFUNC(1:nfunc) = ifunc(1:nfunc)
120 fail%UPARAM(1) = ifail_sh
125 IF(ifail_sh == 0)
THEN
126 WRITE(iout, 1001)ifunc(1),ifunc(2)
128 WRITE(iout, 1100)ifunc(1),ifunc(2)
133 & 5x,40h crypted
DATA in failure model /,
134 & 5x,40h ----------------------------- /)
136 & 5x,40h nxt failure criteria /,
137 & 5x,40h ------------------------ /,
138 & 5x,
' NO SHELL ELEMENT DELETION AFTER FAILURE' /,
139 & 5x,
'S-R CURVE FORMING LIMIT DIAGRAM . . . . . . . =',i10/,
140 & 5x,
'3D CURVE FORMING LIMIT DIAGRAM . . . . . . . =',i10
142 & 5x,40h nxt failure criteria /,
143 & 5x,40h ------------------------ /,
144 & 5x,
' SHELL ELEMENT DELETION AFTER FAILURE' /,
145 & 5x,
'S-R CURVE FORMING LIMIT DIAGRAM . . . . . . . =',i10/,
146 & 5x,
'3D CURVE FORMING LIMIT DIAGRAM . . . . . . . =',i10//)
subroutine hm_read_fail_nxt(fail, mat_id, fail_id, irupt, lsubmodel, unitab, fail_tag)