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

Go to the source code of this file.

Functions/Subroutines

subroutine hm_messages (is_dyna)

Function/Subroutine Documentation

◆ hm_messages()

subroutine hm_messages ( integer, intent(in) is_dyna)

Definition at line 33 of file hm_messages.F.

34C-----------------------------------------------
35C ROUTINE DESCRIPTION :
36C ===================
37C COLLECT SYNTAX ERROR MESSAGES FOUND BY HM_READER
38C PRINT SYNTAX ERROR MESSAGES FOUND BY HM_READER
39C STOP STARTER + PRINT SUMMARY IN CASE SYNTAX ERROR DETECTED
40C-----------------------------------------------
41C DUMMY ARGUMENTS DESCRIPTION:
42C ===================
43C NAME DESCRIPTION
44C
45C IS_DYNA =1 : IT IS A LS-DYNA INPUT FORMAT
46C-----------------------------------------------
47C M o d u l e s
48C-----------------------------------------------
49 USE message_mod
51C-----------------------------------------------
52C I m p l i c i t T y p e s
53C-----------------------------------------------
54#include "implicit_f.inc"
55C-----------------------------------------------
56C C o m m o n B l o c k s
57C-----------------------------------------------
58#include "units_c.inc"
59C-----------------------------------------------
60C D u m m y A r g u m e n t s
61C-----------------------------------------------
62C INPUT ARGUMENTS
63 INTEGER,INTENT(IN)::IS_DYNA
64C-----------------------------------------------
65C L o c a l V a r i a b l e s
66C-----------------------------------------------
67 INTEGER I,J,NBMESSAGES,MSG_ID,MSG_TYPE,LINE_NB
68 CHARACTER(LEN=NCHARLINE) :: FILE_NAME
69 CHARACTER*1000 MSG_DESCR,MSG_BLOCK,MSG_LINE
70 INTEGER IS_READER_KO,FILE_END,NB_INCLUDE_DYNA
71C-----------------------------------------------
72C E x t e r n a l F u n c t i o n s
73C-----------------------------------------------
74C=======================================================================
75 WRITE(iout,'(A)')''
76 WRITE(iout,'(A)')''
77 WRITE(iout,'(A)')'************************************************************************'
78 WRITE(iout,'(A)')'* INPUT READING PROCESS'
79 WRITE(iout,'(A)')'************************************************************************'
80 nbmessages = 0
81 is_reader_ko = 0
82C--------------------------------------------------
83C BROWSE MESSAGES
84C--------------------------------------------------
85C RADIOSS INPUT FORMAT READING MESSAGES ( SYNTAX PB)
86C--------------------------------------------------
87C GET NUMBER OF MESSAGES
88 CALL cpp_get_message_number_radioss(nbmessages)
89 DO i=1,nbmessages
90 msg_id = 0
91 msg_type = 0
92 msg_descr = ''
93 file_name = ''
94 msg_block = ''
95 msg_line = ''
96 CALL cpp_get_message_radioss(i,msg_id,msg_type,msg_descr,file_name,
97 . line_nb,msg_block,msg_line)
98C OUTPUT MESSAGE IN RADIOSS 0.out FILE
99 IF(msg_id /= 0)THEN
100 IF(msg_type == 0)THEN
101 CALL ancmsg(msgid=msg_id,
102 . msgtype=msginfo,
103 . anmode=aninfo,
104 . c1=msg_block(1:len_trim(msg_block)-1),
105 . c2=msg_line(1:len_trim(msg_line)-1),
106 . c3=msg_descr(1:len_trim(msg_descr)-1))
107 ELSEIF(msg_type == 1)THEN
108 IF (msg_id > 109000)THEN
109 file_end = 1
110 IF (msg_descr(1:7) == 'At line')THEN
111 DO j=1,len_trim(msg_descr)-5
112 IF (msg_descr(j:j+4) == '_FULL') file_end = j+5
113 ENDDO
114 ENDIF
115 CALL ancmsg(msgid=msg_id,
116 . msgtype=msgwarning,
117 . anmode=aninfo,
118 . c1=msg_block(1:len_trim(msg_block)-1),
119 . c2=msg_line(1:len_trim(msg_line)-1),
120 . c3=msg_descr(file_end:len_trim(msg_descr)-1))
121 ELSE
122 CALL ancmsg(msgid=msg_id,
123 . msgtype=msgwarning,
124 . anmode=aninfo,
125 . c1=msg_block(1:len_trim(msg_block)-1),
126 . c2=msg_line(1:len_trim(msg_line)-1),
127 . c3=msg_descr(1:len_trim(msg_descr)-1))
128 ENDIF
129 ELSEIF(msg_type >= 2)THEN
130 is_reader_ko = is_reader_ko + 1
131 IF (msg_id > 109000)THEN
132 file_end = 1
133 IF (msg_descr(1:7) == 'At line')THEN
134 DO j=1,len_trim(msg_descr)-5
135 IF (msg_descr(j:j+4) == '_FULL') file_end = j+5
136 ENDDO
137 ENDIF
138 IF (msg_id == 109000 .OR. msg_id == 109001) THEN
139 CALL ancmsg(msgid=msg_id,
140 . msgtype=msgerror,
141 . anmode=aninfo,
142 . c1=msg_descr(1:len_trim(msg_descr)-1))
143 ELSEIF (msg_id > 109002) THEN
144 CALL ancmsg(msgid=msg_id,
145 . msgtype=msgerror,
146 . anmode=aninfo,
147 . c1=msg_block(1:len_trim(msg_block)-1),
148 . c2=msg_line(1:len_trim(msg_line)-1),
149 . c3=msg_descr(file_end:len_trim(msg_descr)-1))
150 ENDIF
151 ELSE
152 CALL ancmsg(msgid=msg_id,
153 . msgtype=msgerror,
154 . anmode=aninfo,
155 . c1=msg_block(1:len_trim(msg_block)-1),
156 . c2=msg_line(1:len_trim(msg_line)-1),
157 . c3=msg_descr(1:len_trim(msg_descr)-1))
158 ENDIF
159 ENDIF
160 ENDIF
161 ENDDO
162C--------------------------------------------------
163C CHECK FOR SEVERAL /INCLUDE_DYNA
164C--------------------------------------------------
165 nb_include_dyna = 0
166 CALL hm_option_count('/INCLUDE_LS-DYNA', nb_include_dyna)
167 IF (nb_include_dyna > 1) THEN
168 CALL ancmsg(msgid=3006,
169 . msgtype=msgerror,
170 . anmode=aninfo)
171 is_reader_ko = is_reader_ko + 1
172 ENDIF
173C--------------------------------------------------
174C LS-DYNA INPUT FORMAT READING MESSAGES ( SYNTAX PB)
175C--------------------------------------------------
176C GET NUMBER OF MESSAGES
177 IF(is_dyna == 1) THEN
178 nbmessages = 0
179 CALL cpp_get_message_number_dyna(nbmessages)
180 DO i=1,nbmessages
181 msg_id = 0
182 msg_type = 0
183 msg_descr = ''
184 file_name = ''
185 msg_block = ''
186 msg_line = ''
187 CALL cpp_get_message_dyna(i,msg_id,msg_type,msg_descr,file_name,
188 . line_nb,msg_block,msg_line)
189C OUTPUT MESSAGE IN RADIOSS 0.out FILE
190 IF(msg_id /= 0)THEN
191 IF(msg_type == 0)THEN
192 IF (msg_id > 200000)THEN
193 CALL ancmsg(msgid=msg_id,
194 . msgtype=msginfo,
195 . anmode=aninfo,
196 . c1=msg_descr(1:len_trim(msg_descr)-1))
197 ELSE
198 CALL ancmsg(msgid=msg_id,
199 . msgtype=msginfo,
200 . anmode=aninfo,
201 . c1=msg_block(1:len_trim(msg_block)-1),
202 . c2=msg_line(1:len_trim(msg_line)-1),
203 . c3=msg_descr(1:len_trim(msg_descr)-1))
204 ENDIF
205 ELSEIF(msg_type == 1)THEN
206 IF (msg_id > 200000)THEN
207 CALL ancmsg(msgid=msg_id,
208 . msgtype=msgwarning,
209 . anmode=aninfo,
210 . c1=msg_descr(1:len_trim(msg_descr)-1))
211 ELSE
212 CALL ancmsg(msgid=msg_id,
213 . msgtype=msgwarning,
214 . anmode=aninfo,
215 . c1=msg_block(1:len_trim(msg_block)-1),
216 . c2=msg_line(1:len_trim(msg_line)-1),
217 . c3=msg_descr(1:len_trim(msg_descr)-1))
218 ENDIF
219 ELSEIF(msg_type >= 2)THEN
220 is_reader_ko = is_reader_ko + 1
221 IF (msg_id == 109000 .OR. msg_id == 109001 .OR. msg_id > 200000)THEN
222 CALL ancmsg(msgid=msg_id,
223 . msgtype=msgerror,
224 . anmode=aninfo,
225 . c1=msg_descr(1:len_trim(msg_descr)-1))
226 ELSE
227 CALL ancmsg(msgid=msg_id,
228 . msgtype=msgerror,
229 . anmode=aninfo,
230 . c1=msg_block(1:len_trim(msg_block)-1),
231 . c2=msg_line(1:len_trim(msg_line)-1),
232 . c3=msg_descr(1:len_trim(msg_descr)-1))
233 ENDIF
234 ENDIF
235 ENDIF
236C--------------------------------------------------
237 ENDDO
238 ENDIF
239
240
241 IF (is_reader_ko /= 0) THEN
242 CALL ancmsg(msgid=2000,
243 . msgtype=msgerror,
244 . anmode=anstop,
245 . i1=is_reader_ko)
246 ELSE
247 WRITE(iout,'(A)')''
248 WRITE(iout,'(A)')' -NO SYNTAX ERROR DETECTED DURING INPUT READING PROCESS'
249 WRITE(iout,'(a)')''
250 WRITE(IOUT,'(a)')''
251 WRITE(IOUT,'(a)')''
252 ENDIF
253 WRITE(IOUT,'(a)')''
254 WRITE(IOUT,'(a)')'************************************************************************'
255 WRITE(IOUT,'(a)')''
256C-----------
257 RETURN
subroutine hm_option_count(entity_type, hm_option_number)
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