38
39
40
41
42
43
44 USE fail_param_mod
49
50
51
52#include "implicit_f.inc"
53
54
55
56#include "units_c.inc"
57
58
59
60 INTEGER ,INTENT(IN) :: FAIL_ID
61 INTEGER ,INTENT(IN) :: MAT_ID
62 INTEGER ,INTENT(IN) :: IRUPT
63 TYPE(UNIT_TYPE_) ,INTENT(IN) :: UNITAB
64 TYPE(SUBMODEL_DATA),INTENT(IN) :: LSUBMODEL(*)
65 TYPE(FAIL_PARAM_) ,INTENT(INOUT) :: FAIL
66 TYPE (FAIL_TAG_) ,INTENT(INOUT) :: FAIL_TAG
67
68
69
70 INTEGER :: IFAIL_SH
71 INTEGER ,PARAMETER :: NFUNC = 2
72 INTEGER ,DIMENSION(NFUNC) :: IFUNC
74
75 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
76
77 is_encrypted = .false.
78 is_available = .false.
79
80
81
83
84
85
86 ifail_sh = 0
87
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)
91
92 IF (ifail_sh == 1) THEN
93 pthkf = em06
94 ELSEIF (ifail_sh == 2) THEN
95 pthkf = one
96 ENDIF
97
98 fail%KEYWORD = 'NXT'
99 fail%IRUPT = irupt
100 fail%FAIL_ID = fail_id
101 fail%NUPARAM = 1
102 fail%NIPARAM = 0
103 fail%NUVAR = 2
104 fail%NFUNC = nfunc
105 fail%NTABLE = 0
106 fail%NMOD = 1
107 fail%PTHK = pthkf
108
109 ALLOCATE (fail%UPARAM(fail%NUPARAM))
110 ALLOCATE (fail%IPARAM(fail%NIPARAM))
111 ALLOCATE (fail%IFUNC (fail%NFUNC))
112 ALLOCATE (fail%TABLE (fail%NTABLE))
113
114
115 fail_tag%LF_DAMMX = fail_tag%LF_DAMMX + fail%NMOD
116 ALLOCATE (fail%MODE(fail%NMOD))
117 fail%MODE(1) = "Instability factor"
118
119 fail%IFUNC(1:nfunc) = ifunc(1:nfunc)
120 fail%UPARAM(1) = ifail_sh
121
122 IF(is_encrypted)THEN
123 WRITE(iout, 1000)
124 ELSE
125 IF(ifail_sh == 0) THEN
126 WRITE(iout, 1001)ifunc(1),ifunc(2)
127 ELSE
128 WRITE(iout, 1100)ifunc(1),ifunc(2)
129 ENDIF
130 ENDIF
131
132 1000 FORMAT(
133 & 5x,40h crypted DATA in failure model /,
134 & 5x,40h ----------------------------- /)
135 1001 FORMAT(
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//)
141 1100 FORMAT(
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//)
147
148 RETURN
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)