33 SUBROUTINE report(IH3DREADER,N,IMVW,WFEXT,WFEXT_MD)
38 USE user_interface_mod
43#include "implicit_f.inc"
52#include "commandline.inc"
58#include "submodel.inc"
62 INTEGER IH3DREADER,N,IMVW
67 INTEGER IOUTREP,LEN_CWD, OUT_TMP, IS_MESSAGE, IS_WARNING,IS_FILE_FOUND, IEND
68 INTEGER*4 GETCWD, STATUS
69 CHARACTER FILNAM*100,MVWNAM*100
70 CHARACTER(LEN=LPATH) :: CWD
73 CHARACTER ELTYP(0:105)*5
76 my_real entot, entot1, err, err1, x99, emass,entot1b
77 DOUBLE PRECISION ENTOTB
78 INTEGER :: LEN_TMP_NAME
79 CHARACTER(len=2148) :: TMP_NAME
82 1
'SOLID',
'QUAD ',
'SHELL',
'TRUSS',
'BEAM ',
83 2
'SPRIN',
'SH_3N',
' ',
'AIRBA',
'INTER',
84 3
'NODE ',
' ',
' ',
' ',
' ',
85 4
' ',
' ',
' ',
' ',
' ',
86 5
' ',
' ',
' ',
' ',
' ',
87 6
' ',
' ',
' ',
' ',
' ',
88 7
' ',
' ',
' ',
' ',
' ',
89 8
' ',
' ',
' ',
' ',
' ',
90 9
' ',
' ',
' ',
' ',
' ',
91 a
' ',
' ',
' ',
' ',
' ',
92 b
'SPCEL','fvbag
',' ',' ',' ',
93 C ' ',' ',' ',' ',' ',
94 D ' ',' ',' ',' ',' ',
95 E ' ',' ',' ',' ',' ',
96 F ' ',' ',' ',' ',' ',
99 i
' ',
' ',
' ',
' ',
' ',
100 j
' ',
' ',
' ',
' ',
' ',
101 k
' ',
' ',
' ',
' ',
'XELEM',
102 k
'IGE3D',
' ',
' ',
' ',
' '/
110 entotb = entot + encin2 + enrot2
111 entot1=entot0 + wfext
112 entot1b=entot0 + wfext + deltae + wfext_md
113 IF(abs(entot1b)>em20)
THEN
114 err = entotb/entot1b - one
120 emass = (xmass - mass0) / mass0
122 CALL date_and_time(date,time)
124 len_cwd = len_trim(cwd)
125 filnam=rootnam(1:rootlen)//
'_report.html'
126 mvwnam=rootnam(1:rootlen)//
'.mvw'
132 OPEN(unit=ioutrep,file=tmp_name
133 . access=
'SEQUENTIAL',
134 . form=
'FORMATTED',status=
'UNKNOWN')
136 WRITE(ioutrep,
'(A)')
'<html>'
137 WRITE(ioutrep,
'(A)')
'<head>'
138 IF(got_inspire_alm == 1)
THEN
139 WRITE(ioutrep,
'(A,I4,A)')
'<title>Altair Solver '' Report</title>'
141 WRITE(ioutrep,
'(A,I4,A)')
'<title>Altair Radioss(TM) ',2022,
' Report</title>'
143 WRITE(ioutrep,
'(A)')
'<script language="JavaScript">'
144 WRITE(ioutrep,
'(A)')
'function h3d()'
145 WRITE(ioutrep,
'(A)')
'{'
146 WRITE(ioutrep,
'(A)')
'winProps = "height=600,width=520,location=no,scrollbars=no,menubars=no,toolbars=no,
147 . status=no,resizable=yes";'
148 WRITE(ioutrep,
'(A,A,A)')
'window.open("''_frames.html","H3D",winProps);'
149 WRITE(ioutrep,
'(A)')
'}'
150 WRITE(ioutrep,
'(A)')
'</script>'
151 WRITE(ioutrep,
'(A)')
'</head>'
152 WRITE(ioutrep,
'(A)')
' '
153 WRITE(ioutrep,
'(A)')
'<body bgcolor="#FFFFFF" text="#000000">'
154 WRITE(ioutrep,
'(A)')
' '
155 WRITE(ioutrep,
'(A)')
'<table>'
156 WRITE(ioutrep,
'(A)')
'<tr>'
157 WRITE(ioutrep,
'(A)')
'<td>'
158 IF(got_inspire_alm == 1)
THEN
159 WRITE(ioutrep,
'(A,I10,A)')
'<font face="Arial" size="5"><b><i>Altair Solver ',2022,
' Report</i></b></font><br>'
161 WRITE(ioutrep,
'(A,I10,A)')
'<font face="Arial" size="5"><b><i>Altair Radioss(TM) ',2022,
' Report</i></b></font><br>'
163 WRITE(ioutrep,
'(A)')
'<font face="Arial" size="4"><b><i> </i></b></font>'
164 WRITE(ioutrep,
'(A)')
'</td></tr>'
165 WRITE(ioutrep,
'(A)')
'</table>'
166 WRITE(ioutrep,
'(A)')
' '
167 WRITE(ioutrep,
'(A)')
'<hr size="3" color="#000000" noshade>'
168 WRITE(ioutrep,
'(A)')
'<font face="Arial" size="2">'
169 WRITE(ioutrep
'(11A)''Run submitted ''/',date(5:6),
'/',date(7:8),
' , ',time(1:2),
'h',time(3:4),
'mn'
170 WRITE(ioutrep,
'(A)')
'<p>'
171 IF(got_inspire_alm == 1)
THEN
172 WRITE(ioutrep,
'(4A)')
'Solver Input file : ',cwd(1:len_cwd),
'/''_0000.rad'
173 WRITE(ioutrep,
'(A)''<p>'
174 WRITE(ioutrep,
'(4A)')
'Solver Input file : ',cwd(1:len_cwd),
'/',rootnam(1:rootlen
'_0001.rad'
175 WRITE(ioutrep,
'(A)')
'<p>'
177 WRITE(ioutrep,
'(4A)')
'Starter Input file : ',cwd(1:len_cwd),
'/',rootnam(1:rootlen),'_0000.rad
'
178 WRITE(IOUTREP,'(a)
')'<p>
'
179 WRITE(IOUTREP,'(4a)
')'engine input file :
',CWD(1:LEN_CWD),'/
',ROOTNAM(1:ROOTLEN),'_0001.rad
'
180 WRITE(IOUTREP,'(a)
')'<p>
'
182 WRITE(IOUTREP,'(a)
')'<br>
'
183 WRITE(IOUTREP,'(a)
')' '
184 WRITE(IOUTREP,'(a)
')'<font face=
"Arial" size=
"4"><b><i>run summary</i></b></font>
'
185 WRITE(IOUTREP,'(a)
')'<hr size=
"1" color=
"#000000" noshade>
'
186 WRITE(IOUTREP,'(a)
')'<p>'
187 WRITE(ioutrep,
'(A)')
' '
188 WRITE(ioutrep,
'(A)')
'<li type="square">'
189 WRITE(ioutrep,
'(A)')
'<font face="Arial" size="3"><b>Finite element model information</b></font>'
190 WRITE(ioutrep,
'(A)')
'<font face="Arial" size="2">'
191 WRITE(ioutrep,
'(A)')
'<ul>'
192 WRITE(ioutrep,
'(A)')
'<table cellspacing="0" cellpadding="0">'
195 WRITE(ioutrep,
'(A)')
'<p>'
196 WRITE(ioutrep,
'(A)')
'<li><b>Model Information</b>'
197 WRITE(ioutrep,
'(A)')
'<table cellspacing="0" cellpadding="0">'
198 WRITE(ioutrep,
'(A)')
'<tr>'
199 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of parts: </td>'
200 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',npart,
'</td>'
201 WRITE(ioutrep,
'(A)')
'</tr>'
202 IF(nummat-1 >= 1)
THEN
203 WRITE(ioutrep,
'(A)')
'<tr>'
204 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of Material laws: </td>'
205 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',nummat-1,
'</td>'
206 WRITE(ioutrep,
'(A)')
'</tr>'
209 WRITE(ioutrep,
'(A)')
'<tr>'
210 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of properties: </td>'
211 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numgeo,
'</td>'
212 WRITE(ioutrep,
'(A)')
'</tr>'
215 WRITE(ioutrep,
'(A)')
'<tr>'
216 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of functions: </td>'
217 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',nfunct,
'</td>'
218 WRITE(ioutrep,
'(A)')
'</tr>'
220 WRITE(ioutrep,
'(A)')
'</table>'
221 WRITE(ioutrep,
'(A)')
' '
224 WRITE(ioutrep,
'(A)')
'<p>'
225 WRITE(ioutrep,
'(A)')
'<li><b>Mesh information</b>'
226 WRITE(ioutrep,
'(A)')
'<table cellspacing="0" cellpadding="0">'
227 WRITE(ioutrep,
'(A)')
'<tr>'
228 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of nodes: </td>'
229 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numnodg,
'</td>'
230 WRITE(ioutrep,
'(A)')
'</tr>'
231 WRITE(ioutrep,
'(A)')
'<tr>'
232 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of elements: </td>'
233 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numelqg+numelsg+numelcg+numeltg+numelpg+numelrg,
'</td>'
234 WRITE(ioutrep,
'(A)')
'</tr>'
235 WRITE(ioutrep,
'(A)')
'<tr>'
236 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of parts: </td>'
237 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',npart,
'</td>'
238 WRITE(ioutrep,
'(A)')
'</tr>'
240 WRITE(ioutrep,
'(A)')
'<tr>'
241 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of Rigid bodies: </td>'
242 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',nrbody,
'</td>'
243 WRITE(ioutrep,
'(A)')
'</tr>'
246 WRITE(ioutrep,
'(A)')
'<tr>'
247 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of Rbe2s: </td>'
248 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',nrbe2g,
'</td>'
249 WRITE(ioutrep,
'(A)')
'</tr>'
252 WRITE(ioutrep,
'(A)')
'<tr>'
253 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of Rbe3s: </td>'
254 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',nrbe3g,
'</td>'
255 WRITE(ioutrep,
'(A)')
'</tr>'
257 WRITE(ioutrep,
'(A)')
'</table>'
258 WRITE(ioutrep,
'(A)')
' '
259 WRITE(ioutrep,
'(A)')
'<p>'
260 WRITE(ioutrep,
'(A)')
'<li><b>Elements</b>'
261 WRITE(ioutrep,
'(A)')
'<table cellspacing="0" cellpadding="0">'
263 WRITE(ioutrep,
'(A)')
'<tr>'
264 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of 2D solid elements: </td>'
265 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numelqg,
'</td>'
266 WRITE(ioutrep,
'(A)')
'</tr>'
269 WRITE(ioutrep,
'(A)')
'<tr>'
270 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of 3D solid elements (TETRA4 & BRICK): </td>'
271 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numelsg,
'</td>'
272 WRITE(ioutrep,
'(A)')
'</tr>'
274 IF(numels10g /= 0)
THEN
275 WRITE(ioutrep,
'(A)')
'<tr>'
276 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of 3D solid elements (TETRA10): </td>'
277 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numels10g,
'</td>'
278 WRITE(ioutrep,
'(A)')
'</tr>'
280 IF(numels16g /= 0)
THEN
281 WRITE(ioutrep,
'(A)')
'<tr>'
282 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of 3D solid elements (SOLID16): </td>'
283 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numels16g,
'</td>'
284 WRITE(ioutrep,
'(A)')
'</tr>'
286 IF(numels20g /= 0)
THEN
287 WRITE(ioutrep,
'(A)')
'<tr>'
288 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of 3D solid elements (SOLID20): </td>'
289 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numels20g,
'</td>'
290 WRITE(ioutrep,
'(A)')
'</tr>'
293 WRITE(ioutrep,
'(A)')
'<tr>'
294 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of 3D shell elements (4-NODES): </td>'
295 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numelcg,
'</td>'
296 WRITE(ioutrep,
'(A)')
'</tr>'
298 IF(numeltgg /= 0)
THEN
299 WRITE(ioutrep,
'(A)')
'<tr>'
300 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of 3D shell elements (3-NODES): </td>'
301 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numeltgg,
'</td>'
302 WRITE(ioutrep,
'(A)')
'</tr>'
304 IF(numeltrg /= 0)
THEN
305 WRITE(ioutrep,
'(A)')
'<tr>'
306 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of 3D truss elements: </td>'
307 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numeltrg,
'</td>'
308 WRITE(ioutrep,
'(A)')
'</tr>'
311 WRITE(ioutrep,
'(A)')
'<tr>'
312 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of 3D beam elements: </td>'
313 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numelpg,
'</td>'
314 WRITE(ioutrep,
'(A)')
'</tr>'
317 WRITE(ioutrep,
'(A)')
'<tr>'
318 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of 3D spring elements: </td>'
319 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numelrg,
'</td>'
320 WRITE(ioutrep,
'(A)')
'</tr>'
323 WRITE(ioutrep,
'(A)')
'<tr>'
324 WRITE(ioutrep
'(A)''<td><font face="Arial" size="2">Number of multipurpose elements: </td>'
325 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numelxg,
'</td>'
326 WRITE(ioutrep,
'(A)')
'</tr>'
328 IF(numelig3d /= 0)
THEN
329 WRITE(ioutrep,
'(A)')
'<tr>'
330 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of iso-geometrics elements: </td>'
331 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numelig3d,
'</td>'
332 WRITE(ioutrep,
'(A)')
'</tr>'
335 WRITE(ioutrep,
'(A)')
'<tr>'
336 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of smooth particles (SPH CELLS): </td>'
337 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numsphg,
'</td>'
338 WRITE(ioutrep,
'(A)')
'</tr>'
340 WRITE(ioutrep,
'(A)')
'</table>'
341 WRITE(ioutrep,
'(A)')
' '
343 WRITE(ioutrep,
'(A)')
'<p>'
344 WRITE(ioutrep,
'(A)')
'<li><b>Loads and boundaries</b>'
345 WRITE(ioutrep,
'(A)')
'<table cellspacing="0" cellpadding="0">'
347 WRITE(ioutrep,
'(A)')
'<tr>'
348 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of Boundary conditions : </td>'
349 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',numbcs,
'</td>'
350 WRITE(ioutrep,
'(A)')
'</tr>'
353 WRITE(ioutrep,
'(A)')
'<tr>'
354 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of cloads : </td>'
355 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',nconld,
'</td>'
356 WRITE(ioutrep,
'(A)')
'</tr>'
359 WRITE(ioutrep,
'(A)')
'<tr>'
360 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of interfaces : </td>'
361 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',ninter,
'</td>'
362 WRITE(ioutrep,
'(A)')
'</tr>'
365 WRITE(ioutrep,
'(A)')
'<tr>'
366 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of flexible bodies : </td>'
367 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',nfxbody,
'</td>'
368 WRITE(ioutrep,'(a)
')'</tr>
'
371 WRITE(IOUTREP,'(a)
')'<tr>
'
372 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of gravities : </td>
'
373 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2">
',NGRAV,'</td>
'
374 WRITE(IOUTREP,'(a)
')'</tr>
'
377 WRITE(IOUTREP,'(a)
')'<tr>
'
378 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of imposed disp/vel/acc : </td>
'
379 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2">
',NFXVEL,'</td>
'
380 WRITE(IOUTREP,'(a)
')'</tr>
'
383 WRITE(IOUTREP,'(a)
')'<tr>
'
384 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of initial velocities : </td>
'
385 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2">
',NINVEL,'</td>
'
386 WRITE(IOUTREP,'(a)
')'</tr>
'
389 WRITE(IOUTREP,'(a)
')'<tr>
'
390 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of monitored volumes: </td>
'
391 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2"',NVOLU,''
392 WRITE(IOUTREP,'(a)
')'</tr>
'
395 WRITE(IOUTREP,'(a)
')'<tr>
'
396 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of rigid walls: </td>
'
397 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2"',NRWALL,''
398 WRITE(IOUTREP,'(a)
')'</tr>
'
400 WRITE(IOUTREP,'(a)
')'</table>
'
401 WRITE(IOUTREP,'(a)
')' '
402 WRITE(IOUTREP,'(a)
')'<p>
'
404 WRITE(IOUTREP,'(a)
')'<p>
'
405 IF(GOT_INSPIRE_ALM == 1)THEN
406 WRITE(IOUTREP,'(a)
')'<li><b>solver tools</b>
'
408 WRITE(IOUTREP,'(a)
')'<li><b>
radioss tools</b>
'
410 WRITE(IOUTREP,'(a)
')'<table cellspacing=
"0" cellpadding=
"0">
'
411 IF(NCLUSTER /= 0)THEN
412 WRITE(IOUTREP,'(a)
')'<tr>
'
413 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of
'
414 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2">
',NCLUSTER,'</td>
'
415 WRITE(IOUTREP,'(a)
')'</tr>
'
418 WRITE(IOUTREP,'(a)
')'<tr>
'
419 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of drapes: </td>
'
420 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2">
',NDRAPE,'</td>
'
421 WRITE(IOUTREP,'(a)
')'</tr>
'
424 WRITE(IOUTREP,'(a)
')'<tr>
'
425 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of plies: </td>
'
426 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2">
',NUMPLY,'</td>
'
427 WRITE(IOUTREP,'(a)
')'</tr>
'
429 IF(NUMSTACK /= 0)THEN
430 WRITE(IOUTREP,'(a)
')'<tr>
'
431 WRITE(IOUTREP,'(a)
')'<td><font face
"Arial" size=
"2">number of stacks:  
'
432 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2">
',NUMSTACK,'</td>
'
433 WRITE(IOUTREP,'(a)
')'</tr>
'
436 WRITE(IOUTREP,'(a)')
'<tr>'
437 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of node groups: </td>'
438 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',ngrnod,
'</td>'
439 WRITE(ioutrep,
'(A)')
'</tr>'
442 WRITE(ioutrep,
'(A)')
'<tr>'
443 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of brick groups: </td>'
444 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',ngrbric,
'</td>'
445 WRITE(ioutrep,
'(A)')
'</tr>'
448 WRITE(ioutrep,
'(A)')
'<tr>'
449 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of quad groups: </td>'
450 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',ngrquad,
'</td>'
451 WRITE(ioutrep,
'(A)')
'</tr>'
454 WRITE(ioutrep,
'(A)')
'<tr>'
455 WRITE(ioutrep,
'(A)')'<td><font face=
"Arial" size=
"2">number of shell groups: </td>
'
456 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2">
',NGRSHEL,'</td>
'
457 WRITE(IOUTREP,'(a)
')'</tr>
'
460 WRITE(IOUTREP,'(a)
')'<tr>
'
461 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of 3 node shell groups: </td>
'
462 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2">
',NGRSH3N,'</td>
'
463 WRITE(IOUTREP,'(a)
')'</tr>
'
466 WRITE(IOUTREP,'(a)
')'<tr>
'
467 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of truss groups: </td>
'
468 WRITE(IOUTREP,'(a,i10,a)')
'<td><font face="Arial" size="2">',ngrtrus,
'</td>'
469 WRITE(ioutrep,
'(A)')
'</tr>'
472 WRITE(ioutrep,
'(A)')
'<tr>'
473 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of beam groups: </td>'
474 WRITE(ioutrep,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2">
',NGRBEAM,'</td>
'
475 WRITE(IOUTREP,'(a)
')'</tr>
'
478 WRITE(IOUTREP,'(a)
')'<tr>
'
479 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of spring groups: </td>
'
480 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2">
',NGRSPRI,'</td>
'
481 WRITE(IOUTREP,'(a)
')'</tr>
'
484 WRITE(IOUTREP,'(a)
')'<tr>
'
485 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of part groups: </td>
'
486 WRITE(IOUTREP,'(a,i10,a)')
'<td><font face="Arial" size="2">',ngrpart,
'</td>'
487 WRITE(ioutrep,
'(A)')
'</tr>'
490 WRITE(ioutrep,
'(A)')
'<tr>'
491 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of surface groups: </td>'
492 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',nsurf,
'</td>'
493 WRITE(ioutrep,
'(A)')
'</tr>'
496 WRITE(ioutrep,
'(A)')
'<tr>'
497 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of line groups: </td>'
498 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',nslin,
'</td>'
499 WRITE(ioutrep,
'(A)')
'</tr>'
501 IF(sensors%NSENSOR /= 0)
THEN
502 WRITE(ioutrep,
'(A)')'<tr>
'
503 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of sensors: </td>
'
504 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2">
',SENSORS%NSENSOR,'</td>
'
505 WRITE(IOUTREP,'(a)
')'</tr>
'
508 WRITE(IOUTREP,'(a)
')'<tr>
'
509 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of skews: </td>
'
510 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2">
',NUMSKW,'</td>
'
511 WRITE(IOUTREP,'(a)
')'</tr>
'
514 WRITE(IOUTREP,'(a)
')'<tr>
'
515 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of frames: </td>
'
516 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2">
',NUMFRAM,'</td>
'
517 WRITE(IOUTREP,'(a)
')'</tr>
'
520 WRITE(IOUTREP,'(a)
')'<tr>
'
521 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of submodels: </td>
'
522 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2">
',NSUBMOD,'</td>
'
523 WRITE(IOUTREP,'(a)
')'</tr>
'
525 WRITE(IOUTREP,'(a)
')'</table>
'
526 WRITE(IOUTREP,'(a)
')' '
529 WRITE(IOUTREP,'(a)
')'<p>
'
530 WRITE(IOUTREP,'(a)
')'<li><b>
Data history</b>
'
531 WRITE(IOUTREP,'(a)
')'<table cellspacing=
"0" cellpadding=
"0">
'
533 WRITE(IOUTREP,'(a)
')'<tr>
'
534 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">number of th groups: </td>
'
535 WRITE(IOUTREP,'(a,i10,a)
')'<td><font face=
"Arial" size=
"2">
',NTHGRP,'</td>'
536 WRITE(ioutrep,
'(A)')
'</tr>'
539 WRITE(ioutrep,
'(A)')
'<tr>'
540 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of sections: </td>'
541 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',nsect,
'</td>'
542 WRITE(ioutrep,
'(A)')
'</tr>'
545 WRITE(ioutrep,
'(A)')
'<tr>'
546 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of accelerometers: </td>'
547 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',naccelm,
'</td>'
548 WRITE(ioutrep,
'(A)')
'</tr>'
551 WRITE(ioutrep,
'(A)')
'<tr>'
552 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Number of gauges: </td>'
553 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',nbgauge,
'</td>'
554 WRITE(ioutrep,
'(A)')
'</tr>'
556 WRITE(ioutrep,
'(A)')
'</table>'
557 WRITE(ioutrep,
'(A)')
' '
596 WRITE(ioutrep,
'(A)')
'<p>'
599 outname = rootnam(1:rootlen)//
'_0000.out'
603 OPEN (unit=out_tmp,status=
'OLD',form=
'FORMATTED',file=outname,err=100)
608 DO WHILE (is_message == 0)
609 READ(out_tmp,
'(A)',
END=100)cart
610 IF (cart(1:29) ==
' TERMINATION WITH WARNING') is_warning = 1
611 IF (cart(1:29) ==
'| ERROR(S) SUMMARY') is_message = 1
614 IF(is_warning == 1)
THEN
615 WRITE(ioutrep,
'(A)')
' '
616 WRITE(ioutrep,
'(A)')
'<li type="square">'
617 IF(got_inspire_alm == 1)
THEN
618 WRITE(ioutrep,
'(A)')
'<font face="Arial" size="3"><b>Solver : Warning(s) :</b></font>'
620 WRITE(ioutrep,
'(A)')
'<font face="Arial" size="3"><b>Starter : Warning(s) :</b></font>'
622 WRITE(ioutrep,
'(A)')
'</li>'
623 WRITE(ioutrep,
'(A)')
'<p>'
624 WRITE(ioutrep,
'(A)')
'<table cellspacing="0" cellpadding="0">'
627 READ(out_tmp,
'(A)',
END=100)cart
629 WRITE(ioutrep,
'(A)')
'<tr>'
630 IF (cart /=
' ' . and.
631 . cart(61:118) /=
'---------------------------------------------------------')
632 .
WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="1"> ',cart(63:119),
' </td>'
633 WRITE(ioutrep,
'(A)')
'</tr>'
634 READ(out_tmp,
'(A)',
END=100)cart
635 IF (cart(1:29) ==
'-----------------------------')iend = 1
638 IF ( is_file_found == 0 )
THEN
639 WRITE(ioutrep,
'(A)')
' '
640 WRITE(ioutrep,
'(A)')
'<li type="square">'
641 IF(got_inspire_alm == 1)
THEN
642 WRITE(ioutrep,
'(A)')
'<font face="Arial" size="3"><b>Solver : Warning(s) :</b></font>'
644 WRITE(ioutrep,
'(A)')
'<font face="Arial" size="3"><b>Starter : Warning(s) :</b></font>'
646 WRITE(ioutrep,
'(A)')
'</li>'
647 WRITE(ioutrep,
'(A)')
'<p>'
648 WRITE(ioutrep,
'(A)')
'<tr>'
649 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">No 0.out file found !!! </td>'
650 WRITE(ioutrep,
'(A)')
'</tr>'
651 WRITE(ioutrep,
'(A)')
'<tr>'
652 WRITE(ioutrep,
'(A)')
'<td><font face="Arial" size="2">Not able to write information !!! </td>'
653 WRITE(ioutrep,
'(A)')
'</tr>'
659 WRITE(ioutrep,
'(A)')
'</table>'
670 WRITE(ioutrep,
'(A)')
'<li type="square">'
671 IF(got_inspire_alm == 1)
THEN
672 WRITE(ioutrep,
'(A)')
'<font face="Arial" size="3"><b>Solver : Last cycle information :</b></font>'
674 WRITE(ioutrep,
'(A)')
'<font face="Arial" size="3"><b>Engine : Last cycle information :</b></font>'
676 WRITE(ioutrep,
'(A)')
'</li>'
677 WRITE(ioutrep,
'(A)')
'<p>'
679 IF(n == 2 .OR. n == 4 .OR. n == 5 .OR. n == 20)
THEN
680 WRITE(ioutrep,
'(A)')
'<tr>'
681 WRITE(ioutrep,
'(A)')'<td><font face=
"Arial" size=
"2">error termination </td>
'
682 WRITE(IOUTREP,'(a)
')'</tr>
'
684 WRITE(IOUTREP,'(a)
')'<tr>
'
685 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">user break </td>
'
686 WRITE(IOUTREP,'(a)
')'</tr>
'
688 WRITE(IOUTREP,'(a)
')'<tr>
'
689 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">normal termination </td>
'
690 WRITE(IOUTREP,'(a)
')'</tr>
'
693 WRITE(IOUTREP,'(a)
')'<p>
'
694 WRITE(IOUTREP,'(a)
')'<table cellspacing=
"0" cellpadding=
"0">
'
695 WRITE(IOUTREP,'(a)
')'<tr>
'
696 WRITE(IOUTREP,'(a)
')'<td><font face=
"Arial" size=
"2">
'
697 WRITE(IOUTREP,'(a)
')'cycle
'
698 WRITE(IOUTREP,'(a)
')'</td><td><font face=
"Arial" size=
"2">
'
699 WRITE(IOUTREP,'(a)
')'final time
'
700 WRITE(IOUTREP,'(a)
')'</td><td><font face=
"Arial" size=
"2">
'
701 WRITE(IOUTREP,'(a)
')'time-step '
702 WRITE(ioutrep,
'(A)')
'</td><td align="right"><font face="Arial" size="2">'
703 WRITE(ioutrep,
'(A)')
'ELEMENT '
704 WRITE(ioutrep,
'(A)')
'</td><td align="right"><font face="Arial" size="2">'
705 WRITE(ioutrep,
'(A)')
'%ERROR '
706 WRITE(ioutrep,
'(A)')
'</td><td align="right"><font face="Arial" size="2">'
707 WRITE(ioutrep,
'(A)')
'I-ENERGY '
708 WRITE(ioutrep,
'(A)')
'</td><td align="right"><font face="Arial" size="2">'
709 WRITE(ioutrep,
'(A)')
'K-ENERGY T '
710 WRITE(ioutrep,
'(A)')
'</td><td align="right"><font face="Arial" size="2">'
711 WRITE(ioutrep,
'(A)')
'K-ENERGY R '
712 WRITE(ioutrep,
'(A)')
'</td><td align="right"><font face="Arial" size="2">'
713 WRITE(ioutrep,
'(A)')
'EXT-WORK '
714 WRITE(ioutrep,
'(A)')
'</td><td align="right"><font face="Arial" size="2">'
715 WRITE(ioutrep,
'(A)')
'MAS.ERR'
716 WRITE(ioutrep,
'(A)')
'</td></tr>'
717 WRITE(ioutrep,
'(A)')
'<tr><td colspan=10>'
718 WRITE(ioutrep,
'(A)')
'<hr size="1" color="#000000" noshade>'
719 WRITE(ioutrep,
'(A)')
'</td></tr>'
720 WRITE(ioutrep,
'(A)')
'<tr align="center">'
722 WRITE(ioutrep,
'(A,I10,A)')
'<td><font face="Arial" size="2">',ncycle,
'</td>'
723 WRITE(ioutrep,
'(A,G11.4,A)')
'<td><font face="Arial" size="2">',tt,
'</td>'
724 WRITE(ioutrep,
'(A,G11.4,A)')
'<td><font face="Arial" size="2">',dt2,
'</td>'
725 WRITE(ioutrep,
'(2A,I10,A)')
'<td><font face="Arial" size="2">',eltyp(itypts),nelts,
'</td>'
726 WRITE(ioutrep,
'(A,G11.4,A)')
'<td><font face="Arial" size="2">',err1,
'</td>'
727 WRITE(ioutrep,
'(A,G11.4,A)')
'<td><font face="Arial" size="2">',enint,
'</td>'
728 WRITE(ioutrep,
'(A,G11.4,A)')
'<td><font face="Arial" size="2">',encin,
'</td>'
729 WRITE(ioutrep,
'(A,G11.4,A)')
'<td><font face="Arial" size="2">',enrot,
'</td>'
730 WRITE(ioutrep,'(a,g11.4,a)
')'<td><font face=
"Arial" size=
"2">
',WFEXT,'</td>
'
731 WRITE(IOUTREP,'(a,g11.4,a)
')'<td align=
"right"><font face=
"Arial" size=
"2">
',EMASS,'</td>
'
732 WRITE(IOUTREP,'(a)
')'</tr>
'
733 WRITE(IOUTREP,'(a)
')'</table>
'
734 WRITE(IOUTREP,'(a)
')'</li>
'
735 WRITE(IOUTREP,'(a)
')'</ul>
'
736 WRITE(IOUTREP,'(a)
')'<p>
'
738.OR.
IF (IH3DREADER /= 0 IMVW /= 0) THEN
740 WRITE(IOUTREP,'(a)
')' '
741 WRITE(IOUTREP,'(a)
')'<font face=
"Arial" size=
"4"><b><i>results summary</i></b></font>
'
742 WRITE(IOUTREP,'(a)
')'<hr size=
"1" color=
"#000000" noshade>
'
743 WRITE(IOUTREP,'(a)
')'<p>
'
747 WRITE(IOUTREP,'(a)
')'<a href=
"',MVWNAM(1:ROOTLEN+4),'">
Open ',MVWNAM(1:ROOTLEN+4),' with hyperview</a>
'
748 WRITE(IOUTREP,'(a)
')'<p>
'
751 IF (IH3DREADER /= 0) THEN
752 WRITE(IOUTREP,'(a)
')'<object
id=
"HVPControl" width=800 height=600
'
753 WRITE(IOUTREP,'(a)
')'classid=
"clsid:D28D4D39-57F5-4DFB-8832-C8CB1B1DC410">
'
754 WRITE(IOUTREP,'(3a)
')'<param name=
"src" value=
"',ROOTNAM(1:ROOTLEN),'.h3d" />
'
755 IF (IH3DREADER == 1) WRITE(IOUTREP,'(a)
')'<param name=
"inplace" value=
"1" '
756 IF (IH3DREADER == 2) WRITE(IOUTREP,'(a)
')'<param name=
"inplace" value=
"0" />
'
757 WRITE(IOUTREP,'(a)
')'<param name=
"launch_size" value=
"800x600" />
'
764 WRITE(IOUTREP,'(a)
')'<embed type
"application/x-h3d"'
765 WRITE(ioutrep,
'(A)')
'pluginspage="http://www.altair.com"'
766 WRITE(ioutrep,
'(A)')
'width=800 height=600'
767 WRITE(ioutrep,
'(A)')
'src="',rootnam(1:rootlen),
'h3d"'
768 IF (ih3dreader == 1)
WRITE(ioutrep,
'(A)')
'inplace=1'
769 IF (ih3dreader == 2)
WRITE(ioutrep,
'(A)')
'inplace=0'
770 WRITE(ioutrep,
'(A)')
'launch_size="800x600"'
771 WRITE(ioutrep,
'(A)')
'>'
772 WRITE(ioutrep,
'(A)')
'</OBJECT>'
773 WRITE(ioutrep,
'(A)')
'<p>'
782 IF (ih3dreader /= 0 .OR. imvw /= 0)
THEN
783 WRITE(ioutrep,
'(A)')'</font>
'
786 WRITE(IOUTREP,'(a)
')'<p>
'
787 WRITE(IOUTREP,'(a)
')' '
788 WRITE(IOUTREP,'(a)
')'<br>
'
789 WRITE(IOUTREP,'(a)
')'<hr size=
"1" color=
"#000000" width=
"50%" noshade>
'
790 WRITE(IOUTREP,'(a)
')'<center>
'
791 WRITE(IOUTREP,'(a)
')'<font face=
"Arial" size=
"1">
'
792 WRITE(IOUTREP,'(a)
')'<b>&
#169; 1996-2022 Altair Engineering, Inc.</b>'
793 WRITE(ioutrep,
'(A)')
'</font> '
794 WRITE(ioutrep,
'(A)')'</center>
'
795 WRITE(IOUTREP,'(a)
')'</body>
'
796 WRITE(IOUTREP,'(a)
')'</html>
'