37
38
39
40 USE mat_elem_mod
43
44
45
46#include "implicit_f.inc"
47
48
49
50 INTEGER, INTENT(IN) :: IPARG(NPARG,NGROUP),NPROPG,
51 . IPM(NPROPMI,NUMMAT),IGEO(NPROPGI,NUMGEO),
52 . NUMMAT,NUMGEO,NGROUP,NPARG,NPROPMI,NPROPGI
53 my_real,
INTENT(IN) :: geo(npropg,numgeo)
54 TYPE (ELBUF_STRUCT_) ,DIMENSION(NGROUP) :: ELBUF_STR
55 TYPE (STACK_PLY) :: STACK
56 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(INOUT) :: MAT_PARAM
57
58
59
60 INTEGER :: NG,ITY,IGTYP,PID,NLAY,IFL,NFAIL,NPTTOT,IL,
61 . IMAT,ISUBSTACK,IPTHKLY,PROP_ID,MAT_ID
62 my_real :: p_thickg,p_thickfail,pthkly
63
64
65
66
67
68 DO ng = 1,ngroup
69
70
71 igtyp = iparg(38,ng)
72 pid = iparg(62,ng)
73 isubstack = iparg(71,ng)
74
75
76 IF ((igtyp == 1).OR.(igtyp == 9).OR.(igtyp == 10).OR.(igtyp == 11).OR.
77 . (igtyp == 16).OR.(igtyp == 17).OR.(igtyp == 51).OR.(igtyp == 52)) THEN
78
79
80 p_thickg = geo(42,pid)
81 prop_id = igeo(1,pid)
82 nlay = elbuf_str(ng)%NLAY
83 ipthkly = 1 + 4*nlay
84 npttot = 0
85 DO il = 1,nlay
86 npttot = npttot + elbuf_str(ng)%BUFLY(il)%NPTT
87 ENDDO
88
89
90 DO il = 1,nlay
91
92
93 nfail = elbuf_str(ng)%BUFLY(il)%NFAIL
94 imat = elbuf_str(ng)%BUFLY(il)%IMAT
95 IF ((igtyp == 51).OR.(igtyp == 52)) THEN
96 pthkly = stack%GEO(ipthkly + il,isubstack)
97 ENDIF
98 mat_id = ipm(1,imat)
99
100
101 DO ifl = 1,nfail
102
103
104 p_thickfail = mat_param(imat)%FAIL(ifl)%PTHK
105
106
107
108 IF (nlay == 1) THEN
109 IF (((p_thickfail > zero).AND.(p_thickg < zero)).OR.
110 . ((p_thickfail < zero).AND.(p_thickg > zero))) THEN
112 . msgtype=msgwarning,
113 . anmode=aninfo_blind_1,
114 . i1=prop_id,
115 . r1=p_thickg,
116 . i2=mat_id,
117 . r2=p_thickfail,
118 . prmod=msg_cumu)
119 ENDIF
120
121 ELSEIF (nlay == npttot) THEN
122 IF (p_thickfail /= zero) THEN
124 . msgtype=msgwarning,
125 . anmode=aninfo_blind_1,
126 . i1=prop_id,
127 . i2=igtyp,
128 . prmod=msg_cumu)
129 ENDIF
130
131 ELSE
132 IF (((p_thickfail > zero).AND.(pthkly < zero)).OR.
133 . ((p_thickfail < zero).AND.(pthkly > zero))) THEN
135 . msgtype=msgwarning,
136 . anmode=aninfo_blind_1,
137 . i1=prop_id,
138 . i2=il,
139 . r1=pthkly,
140 . i3=mat_id,
141 . r2=p_thickfail,
142 . prmod=msg_cumu)
143 ENDIF
144 ENDIF
145 ENDDO
146 ENDDO
147 ENDIF
148 ENDDO
149
150
152 . msgtype=msgwarning,
153 . anmode=aninfo_blind_1,
154 . prmod=msg_print)
156 . msgtype=msgwarning,
157 . anmode=aninfo_blind_1,
158 . prmod=msg_print)
160 . msgtype=msgwarning,
161 . anmode=aninfo_blind_1,
162 . prmod=msg_print)
163
164
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)