Exodus 8.24
Loading...
Searching...
No Matches
/exodus_for/test/testrd.f
1C Copyright(C) 1999-2020 National Technology & Engineering Solutions
2C of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
3C NTESS, the U.S. Government retains certain rights in this software.
4C
5C See packages/seacas/LICENSE for details
6
7 program testrd
8
9c This is a test program for the Fortran binding of the EXODUS II
10c database read routines
11
12c 09/07/93 V.R. Yarberry - Modified for API 2.00
13 implicit none
14
15 include 'exodusII.inc'
16
17 integer iin, iout, ierr
18 integer exoid, num_dim, num_nodes, num_elem, num_elem_blk
19 integer num_node_sets
20 integer num_side_sets
21 integer i, j, k, elem_map(5), connect(10), node_list(100)
22 integer elem_list(100), side_list(100), ids(10)
23 integer num_elem_per_set(10), num_nodes_per_set(10)
24 integer num_df_per_set(10)
25 integer num_df_in_set, num_sides_in_set
26 integer df_ind(10),node_ind(10),elem_ind(10),num_qa_rec,num_info
27 integer num_glo_vars, num_nod_vars, num_ele_vars
28 integer truth_tab(3,5)
29 integer num_time_steps
30 integer num_elem_in_block(10), num_nodes_per_elem(10)
31 integer num_attr(10), node_ctr_list(10), node_ctr
32 integer num_nodes_in_set, num_elem_in_set
33 integer df_list_len, list_len, elem_list_len, node_list_len
34 integer node_num, time_step, var_index, beg_time, end_time
35 integer elem_num
36 integer cpu_ws,io_ws, mod_sz
37 integer num_props, prop_value
38 integer mxalnmlen, mxusnmlen
39
40 real time_value, time_values(100), var_values(100)
41 real x(100), y(100), z(100)
42 real attrib(100), dist_fact(100)
43 real vers
44
45 character*(MXSTLN) coord_names(3), qa_record(4,2), var_names(3)
46 character*(MXSTLN) name
47 character*(MXSTLN) blk_names(5)
48 character*(MXSTLN) nset_names(2)
49 character*(MXSTLN) sset_names(5)
50 character*(MXLNLN) inform(3), titl
51 character typ*(MXSTLN)
52 character*(MXSTLN) prop_names(3)
53 character*(MXSTLN) attrib_names(100)
54
55 data iin /5/, iout /6/
56
57c open EXODUS II files
58
59 cpu_ws = 0
60 io_ws = 0
61
62 exoid = excre("test.exo", exnocl, cpu_ws, io_ws, ierr)
63
64 exoid = exopen("test.exo", exread, cpu_ws, io_ws, vers, ierr)
65 write (iout, '(/"after exopen, error = ",i3)')
66 1 ierr
67
68 write (iout, '("test.exo is an EXODUSII file; version ",
69 1 f4.2)') vers
70 write (iout, '(" I/O word size",i2)') io_ws
71
72 mod_sz = exlgmd(exoid)
73 write (iout, '(" Model Size",i2)') mod_sz
74
75 num_props = exinqi(exoid, exnebp)
76 mxalnmlen = exinqi(exoid, exdbmxalnm)
77 mxusnmlen = exinqi(exoid, exdbmxusnm)
78 write (iout, '(" Maximum Allowed/Used DB Name Size ",i4,i4)')
79 * mxalnmlen, mxusnmlen
80
81c read database parameters
82
83 call exgini (exoid, titl, num_dim, num_nodes, num_elem,
84 1 num_elem_blk, num_node_sets, num_side_sets, ierr)
85 write (iout, '(/"after exgini, error = ", i3)' ) ierr
86
87 write (iout, '("database parameters:"/
88 1 "title = ", a81 /
89 2 "num_dim = ", i3 /
90 3 "num_nodes = ", i3 /
91 4 "num_elem = ", i3 /
92 5 "num_elem_blk = ", i3 /
93 6 "num_node_sets = ", i3 /
94 7 "num_side_sets = ", i3)')
95 8 titl,num_dim, num_nodes, num_elem,
96 9 num_elem_blk,num_node_sets, num_side_sets
97
98c read nodal coordinates values and names from database
99
100 call exgcor (exoid, x, y, z, ierr)
101 write (iout, '(/"after exgcor, error = ", i3)' ) ierr
102
103 write (iout, '("x coords = ")')
104 do 10 i = 1, num_nodes
105 write (iout, '(f5.1)') x(i)
106 10 continue
107
108 write (iout, '("y coords = ")')
109 do 20 i = 1, num_nodes
110 write (iout, '(f5.1)') y(i)
111 20 continue
112
113 if (num_dim .gt. 2) then
114 write (iout, '("z coords = ")')
115 do 22 i = 1, num_nodes
116 write (iout, '(f5.1)') z(i)
117 22 continue
118 endif
119
120 call exgcon (exoid, coord_names, ierr)
121 write (iout, '(/"after exgcon, error = ", i3)' ) ierr
122
123 write (iout, '("x coord name = ", a9)') coord_names(1)
124 write (iout, '("y coord name = ", a9)') coord_names(2)
125
126c read element order map
127
128 call exgmap (exoid, elem_map, ierr)
129 write (iout, '(/"after exgmap, error = ", i3)' ) ierr
130
131 do 30 i = 1, num_elem
132 write (iout, '("elem_map(",i1,") = ", i1)') i, elem_map(i)
133 30 continue
134
135c read element block parameters
136
137 call exgebi (exoid, ids, ierr)
138 write (iout, '(/"after exgebi, error = ", i3)' ) ierr
139
140 do 40 i = 1, num_elem_blk
141
142 call exgelb (exoid, ids(i), typ, num_elem_in_block(i),
143 1 num_nodes_per_elem(i), num_attr(i), ierr)
144 write (iout, '(/"after exgelb, error = ", i3)' ) ierr
145
146 call exgnam (exoid, exeblk, ids(i), name, ierr)
147 write (iout, '("element block id = ", i2,/
148 1 "element type = ", a9,/
149 * "block name = ", a32,/
150 2 "num_elem_in_block = ", i2,/
151 3 "num_nodes_per_elem = ", i2,/
152 4 "num_attr = ", i2)')
153 5 ids(i), typ, name,
154 * num_elem_in_block(i),
155 6 num_nodes_per_elem(i), num_attr(i)
156
157 40 continue
158
159c read element block properties */
160
161 num_props = exinqi(exoid, exnebp)
162 write (iout,
163 1 '(/"There are ",i2," properties for each element block")')
164 2 num_props
165
166 call exgpn(exoid, exeblk, prop_names, ierr)
167 write (iout, '("after exgpn, error = ", i3)' ) ierr
168
169 do 47 i = 1, num_props
170 do 45 j = 1, num_elem_blk
171 call exgp(exoid, exeblk,ids(j),prop_names(i),prop_value,ierr)
172 if (ierr .eq. 0) then
173 write( iout,
174 1 '("elem block ",i2," property(",i2,"): ",a," = ",i5)' )
175 2 j, i, prop_names(i), prop_value
176 else
177 write (iout, '(/"after exgp, error = ", i3)' ) ierr
178 endif
179 45 continue
180 47 continue
181
182c read element connectivity
183
184 do 60 i = 1, num_elem_blk
185
186 call exgelc (exoid, ids(i), connect, ierr)
187 write (iout, '(/"after exgelc, error = ", i3)' ) ierr
188
189 write (iout, '("connect array for elem block ", i2)') ids(i)
190
191 do 50 j = 1, num_nodes_per_elem(i)
192 write (iout, '(i3)') connect(j)
193 50 continue
194
195 60 continue
196
197c read element block names
198
199 call exgnams(exoid, exeblk, num_elem_blk, blk_names, ierr)
200 write (iout, '(/"after exgnams, error = ", i3)' ) ierr
201 do i=1, num_elem_blk
202 write (iout, '("element block ",i2," name: ",a)' )
203 2 i, blk_names(i)
204 end do
205
206c read element block attributes
207
208 do 70 i = 1, num_elem_blk
209
210 call exgeat (exoid, ids(i), attrib, ierr)
211 write (iout, '(/"after exgeat, error = ", i3)' ) ierr
212
213 call exgean (exoid, ids(i), num_attr(i), attrib_names, ierr)
214 write (iout, '(/"after exgean, error = ", i3)' ) ierr
215
216 write (iout,
217 * '("element block ", i2, " has ",i2," attribute(s) and ",
218 * i2, " element(s):")')
219 * ids(i), num_attr(i), num_elem_in_block(i)
220 do j=1, num_attr(i)
221 write (iout, 69) attrib_names(j),
222 * (attrib(k),k= j, num_attr(i)*num_elem_in_block(i),
223 * num_attr(i))
224 end do
225 69 format(a32," = ", 10(f6.4,2x))
226 70 continue
227
228c read individual node sets
229
230 if (num_node_sets .gt. 0) then
231 call exgnsi (exoid, ids, ierr)
232 write (iout, '(/"after exgnsi, error = ", i3)' ) ierr
233 endif
234
235 do 100 i = 1, num_node_sets
236
237 call exgnp (exoid, ids(i), num_nodes_in_set,
238 1 num_df_in_set, ierr)
239 write (iout, '(/"after exgnp, error = ", i3)' ) ierr
240
241 write (iout, '(/"node set ", i2, " parameters: ",/
242 2 "num_nodes = ", i2)') ids(i), num_nodes_in_set
243
244 call exgns (exoid, ids(i), node_list, ierr)
245 write (iout, '(/"after exgns, error = ", i3)' ) ierr
246
247 if (num_df_in_set .gt. 0) then
248 call exgnsd (exoid, ids(i), dist_fact, ierr)
249 write (iout, '(/"after exgnsd, error = ", i3)' ) ierr
250 endif
251
252 write (iout, '(/"node list for node set ", i2)') ids(i)
253
254 do 80 j = 1, num_nodes_in_set
255 write (iout, '(i3)') node_list(j)
256 80 continue
257
258 if (num_df_in_set .gt. 0) then
259 write (iout, '("dist factors for node set ", i2)') ids(i)
260 do 90 j = 1, num_nodes_in_set
261 write (iout, '(f5.2)') dist_fact(j)
262 90 continue
263 else
264 write (iout, '("no dist factors for node set ", i2)') ids(i)
265 endif
266
267 100 continue
268
269c read node set names
270
271 call exgnams(exoid, exnset, num_node_sets, nset_names, ierr)
272 write (iout, '(/"after exgnams, error = ", i3)' ) ierr
273 do i=1, num_node_sets
274 write (iout, '("node set ",i2," name: ",a)' )
275 2 i, nset_names(i)
276 end do
277
278c read node set properties
279
280 num_props = exinqi(exoid, exnnsp)
281 write (iout,
282 1 '(/"There are ",i2," properties for each node set")')
283 2 num_props
284
285 call exgpn(exoid, exnset, prop_names, ierr)
286 write (iout, '("after exgpn, error = ", i3)' ) ierr
287
288 do 107 i = 1, num_props
289 do 105 j = 1, num_node_sets
290 call exgp(exoid,exnset,ids(j),prop_names(i),prop_value,ierr)
291 if (ierr .eq. 0) then
292 write( iout,
293 1 '("node set ",i2," property(",i2,"): ",a," = ",i5)' )
294 2 j, i, prop_names(i), prop_value
295 else
296 write (iout, '(/"after exgp, error = ", i3)' ) ierr
297 endif
298 105 continue
299 107 continue
300
301c read concatenated node sets; this produces the same information as
302c the above code which reads individual node sets
303
304 num_node_sets = exinqi(exoid, exnods)
305
306 if (num_node_sets .gt. 0) then
307 list_len = exinqi(exoid, exnsnl)
308 write(iout,'(/"after EXNSNL =",i3," exinq, error = ",i3)')
309 1 list_len,ierr
310
311 list_len = exinqi(exoid, exnsdf)
312 write(iout,'(/"after EXNSDF =",i3," exinq, error = ",i3)')
313 1 list_len,ierr
314
315 call exgcns (exoid, ids, num_nodes_per_set, num_df_per_set,
316 1 node_ind, df_ind, node_list, dist_fact, ierr)
317 write (iout, '(/"after exgcns, error = ", i3)' ) ierr
318
319 write (iout, '(/"concatenated node set info")')
320
321 write (iout, '("ids = ")')
322
323 do 110 i = 1, num_node_sets
324 write (iout, '(i3)') ids(i)
325 110 continue
326
327 write (iout, '("num_nodes_per_set = ")')
328
329 do 120 i = 1, num_node_sets
330 write (iout, '(i3)') num_nodes_per_set(i)
331 120 continue
332
333 write (iout, '("node_ind = ")')
334
335 do 130 i = 1, num_node_sets
336 write (iout, '(i3)') node_ind(i)
337 130 continue
338
339 write (iout, '("node_list = ")')
340
341 do 140 i = 1, list_len
342 write (iout, '(i3)') node_list(i)
343 140 continue
344
345 write (iout, '("dist_fact = ")')
346
347 do 150 i = 1, list_len
348 write (iout, '(f5.3)') dist_fact(i)
349 150 continue
350 endif
351
352c read individual side sets
353
354 if (num_side_sets .gt. 0) then
355 call exgssi (exoid, ids, ierr)
356 write (iout, '(/"after exgssi, error = ", i3)' ) ierr
357 endif
358
359 do 190 i = 1, num_side_sets
360
361 call exgsp (exoid, ids(i), num_sides_in_set, num_df_in_set,
362 1 ierr)
363 write (iout, '(/"after exgsp, error = ", i3)' ) ierr
364
365 write (iout, '("side set ", i2, " parameters:",/
366 2 "num_sides = ", i3,/
367 3 "num_dist_factors = ", i3)')
368 4 ids(i), num_sides_in_set, num_df_in_set
369
370 call exgss (exoid, ids(i), elem_list, side_list, ierr)
371 write (iout, '(/"after exgss, error = ", i3)' ) ierr
372
373 call exgssn (exoid, ids(i), node_ctr_list, node_list, ierr)
374 write (iout, '(/"after exgssn, error = ", i3)' ) ierr
375
376 if (num_df_in_set .gt. 0) then
377 call exgssd (exoid, ids(i), dist_fact, ierr)
378 write (iout, '(/"after exgssd, error = ", i3)' ) ierr
379 endif
380
381 write (iout, '(/"element list for side set ", i2)') ids(i)
382
383 num_elem_in_set = num_sides_in_set
384 do 160 j = 1, num_elem_in_set
385 write (iout, '(i3)') elem_list(j)
386 160 continue
387
388 write (iout, '("side list for side set ", i2)') ids(i)
389
390 do 170 j = 1, num_sides_in_set
391 write (iout, '(i3)') side_list(j)
392 170 continue
393
394 node_ctr = 0
395 write (iout, '("node list for side set ", i2)') ids(i)
396 do 178 k=1, num_elem_in_set
397 do 175 j=1, node_ctr_list(k)
398 write (iout, '(i3)') node_list(j+node_ctr)
399 175 continue
400 node_ctr = node_ctr+node_ctr_list(k)
401 178 continue
402
403 if (num_df_in_set .gt. 0) then
404 write (iout, '("dist factors for side set ", i2)') ids(i)
405 do 180 j = 1, num_df_in_set
406 write (iout, '(f6.3)') dist_fact(j)
407 180 continue
408 else
409 write (iout, '("no dist factors for side set ", i2)') ids(i)
410 endif
411
412 190 continue
413
414c read side set names
415
416 call exgnams(exoid, exsset, num_side_sets, sset_names, ierr)
417 write (iout, '(/"after exgnams, error = ", i3)' ) ierr
418 do i=1, num_side_sets
419 write (iout, '("side set ",i2," name: ",a)' )
420 2 i, sset_names(i)
421 end do
422
423c read side set properties
424
425 num_props = exinqi(exoid, exnssp)
426 write (iout,
427 1 '(/"There are ",i2," properties for each side set")')
428 2 num_props
429
430 call exgpn(exoid, exsset, prop_names, ierr)
431 write (iout, '("after exgpn, error = ", i3)' ) ierr
432
433 do 197 i = 1, num_props
434 do 195 j = 1, num_side_sets
435 call exgp(exoid, exsset,ids(j),prop_names(i),prop_value,ierr)
436 if (ierr .eq. 0) then
437 write( iout,
438 1 '("side set ",i2," property(",i2,"): ",a," = ",i5)' )
439 2 j, i, prop_names(i), prop_value
440 else
441 write (iout, '(/"after exgp, error = ", i3)' ) ierr
442 endif
443 195 continue
444 197 continue
445
446 num_side_sets = exinqi(exoid, exsids)
447 write (iout, '(/"after exinq: EXSIDS =",i3,", error = ",i3)')
448 1 num_side_sets,ierr
449
450 if (num_side_sets .gt. 0) then
451 elem_list_len = exinqi(exoid, exssel)
452 write (iout, '(/"after exinq: EXSSEL =",i3,", error = ",i3)')
453 1 elem_list_len,ierr
454
455 node_list_len = exinqi(exoid, exssnl)
456 write (iout, '(/"after exinq: EXSSNL =",i3,", error = ",i3)')
457 1 node_list_len,ierr
458
459 df_list_len = exinqi(exoid, exssdf)
460 write (iout, '(/"after exinq: EXSSDF =",i3,", error = ",i3)')
461 1 df_list_len,ierr
462
463c read concatenated side sets; this produces the same information as
464c the above code which reads individual side sets
465
466 call exgcss (exoid, ids, num_elem_per_set, num_df_per_set,
467 1 elem_ind, df_ind, elem_list, side_list, dist_fact,
468 2 ierr)
469 write (iout, '(/"after exgcss, error = ", i3)' ) ierr
470
471 write (iout, '("concatenated side set info")')
472
473 write (iout, '("ids = ")')
474
475 do 200 i = 1, num_side_sets
476 write (iout, '(i3)') ids(i)
477 200 continue
478
479 write (iout, '("num_elem_per_set = ")')
480
481 do 210 i = 1, num_side_sets
482 write (iout, '(i3)') num_elem_per_set(i)
483 210 continue
484
485 write (iout, '("num_df_per_set = ")')
486
487 do 220 i = 1, num_side_sets
488 write (iout, '(i3)') num_df_per_set(i)
489 220 continue
490
491 write (iout, '("elem_ind = ")')
492
493 do 230 i = 1, num_side_sets
494 write (iout, '(i3)') elem_ind(i)
495 230 continue
496
497 write (iout, '("df_ind = ")')
498
499 do 240 i = 1, num_side_sets
500 write (iout, '(i3)') df_ind(i)
501 240 continue
502
503 write (iout, '("elem_list = ")')
504
505 do 250 i = 1, elem_list_len
506 write (iout, '(i3)') elem_list(i)
507 250 continue
508
509 write (iout, '("side_list = ")')
510
511 do 260 i = 1, elem_list_len
512 write (iout, '(i3)') side_list(i)
513 260 continue
514
515 write (iout, '("dist_fact = ")')
516
517 do 270 i = 1, df_list_len
518 write (iout, '(f6.3)') dist_fact(i)
519 270 continue
520 endif
521
522c read QA records
523
524 num_qa_rec = exinqi(exoid, exqa)
525 call exgqa (exoid, qa_record, ierr)
526 write (iout, '(/"after exgqa, error = ", i3)' ) ierr
527
528 write (iout, '("QA records = ")')
529
530 do 290 i = 1, num_qa_rec
531 do 280 j = 1, 4
532 write (iout, '(a)') qa_record(j,i)
533 280 continue
534 290 continue
535
536c read information records
537
538 num_info = exinqi(exoid, exinfo)
539 call exginf (exoid, inform, ierr)
540 write (iout, '(/"after exginf, error = ", i3)' ) ierr
541
542 write (iout, '("info records = ")')
543
544 do 300 i = 1, num_info
545 write (iout, '(a81)') inform(i)
546 300 continue
547
548c read global variables parameters and names
549
550 call exgvp (exoid, "g", num_glo_vars, ierr)
551 write (iout, '(/"after exgvp, error = ", i3)' ) ierr
552
553 call exgvan (exoid, "g", num_glo_vars, var_names, ierr)
554 write (iout, '(/"after exgvan, error = ", i3)' ) ierr
555
556 write (iout, '("There are ",i2," global variables; their names ",
557 1 "are :")') num_glo_vars
558
559 do 320 i = 1, num_glo_vars
560 write (iout, '(a9)') var_names(i)
561 320 continue
562
563c read nodal variables parameters and names
564
565 call exgvp (exoid, "n", num_nod_vars, ierr)
566 write (iout, '(/"after exgvp, error = ", i3)' ) ierr
567
568 call exgvan (exoid, "n", num_nod_vars, var_names, ierr)
569 write (iout, '(/"after exgvan, error = ", i3)' ) ierr
570
571 write (iout, '("There are ",i2," nodal variables; their names ",
572 1 "are :")') num_nod_vars
573
574 do 330 i = 1, num_nod_vars
575 write (iout, '(a9)') var_names(i)
576 330 continue
577
578c read element variables parameters and names
579
580 call exgvp (exoid, "e", num_ele_vars, ierr)
581 write (iout, '(/"after exgvp, error = ", i3)' ) ierr
582
583 call exgvan (exoid, "e", num_ele_vars, var_names, ierr)
584 write (iout, '(/"after exgvan, error = ", i3)' ) ierr
585
586 write (iout, '("There are ",i2," element variables; their names ",
587 1 "are :")') num_ele_vars
588
589 do 340 i = 1, num_ele_vars
590 write (iout, '(a9)') var_names(i)
591 340 continue
592
593c read element variable truth table
594
595 call exgvtt (exoid, num_elem_blk, num_ele_vars, truth_tab, ierr)
596 write (iout, '(/"after exgvtt, error = ", i3)' ) ierr
597
598 write (iout, '("This is the element variable truth table:")')
599
600 do 360 i = 1, num_elem_blk
601 do 350 j = 1, num_ele_vars
602 write (iout, '(i2)') truth_tab(j,i)
603 350 continue
604 360 continue
605
606c determine how many time steps are stored
607
608 num_time_steps = exinqi(exoid, extims)
609 write (iout, '("There are ",i2," time steps in the database.")')
610 1 num_time_steps
611
612c read time value at one time step
613
614 time_step = 3
615 call exgtim (exoid, time_step, time_value, ierr)
616 write (iout, '(/"after exgtim, error = ", i3)' ) ierr
617
618 write (iout, '("time value at time step ",i2," = ", f5.3)')
619 1 time_step, time_value
620
621c read time values at all time steps
622
623 call exgatm (exoid, time_values, ierr)
624 write (iout, '(/"after exgatm, error = ", i3)' ) ierr
625
626 write (iout, '("time values at all time steps are:")')
627
628 do 370 i = 1, num_time_steps
629 write (iout, '(f5.3)') time_values(i)
630 370 continue
631
632 var_index = 1
633 beg_time = 1
634 end_time = -1
635
636c read all global variables at one time step
637
638 call exggv (exoid, time_step, num_glo_vars, var_values, ierr)
639 write (iout, '(/"after exggv, error = ", i3)' ) ierr
640
641 write (iout, '("global variable values at time step ",i2)')
642 1 time_step
643
644 do 400 i = 1, num_glo_vars
645 write (iout, '(f5.3)') var_values(i)
646400 continue
647
648c read a single global variable through time
649
650 call exggvt (exoid, var_index, beg_time, end_time, var_values,
651 1 ierr)
652 write (iout, '(/"after exggvt, error = ", i3)' ) ierr
653
654 write (iout, '("global variable ",i2," values through time:")')
655 1 var_index
656
657 do 410 i = 1, num_time_steps
658 write (iout, '(f5.3)') var_values(i)
659410 continue
660
661c read a nodal variable at one time step
662
663 call exgnv (exoid, time_step, var_index, num_nodes, var_values,
664 1 ierr)
665 write (iout, '(/"after exgnv, error = ", i3)' ) ierr
666
667 write (iout, '("nodal variable ",i2," values at time step ",i2)')
668 1 var_index, time_step
669
670 do 420 i = 1, num_nodes
671 write (iout, '(f5.3)') var_values(i)
672420 continue
673
674c read a nodal variable through time
675
676 node_num = 1
677
678 call exgnvt (exoid, var_index, node_num, beg_time, end_time,
679 1 var_values, ierr)
680 write (iout, '(/"after exgnvt, error = ", i3)' ) ierr
681
682 write (iout, '("nodal variable ",i2," values for node ",i2,
683 1 " through time:")') var_index, node_num
684
685 do 430 i = 1, num_time_steps
686 write (iout, '(f5.3)') var_values(i)
687430 continue
688
689c read an element variable at one time step
690
691 call exgebi (exoid, ids, ierr)
692 write (iout, '(/"after exgebi, error = ", i3)' ) ierr
693
694 do 450 i = 1, num_elem_blk
695
696 call exgev (exoid, time_step, var_index, ids(i),
697 1 num_elem_in_block(i), var_values, ierr)
698 write (iout, '(/"after exgev, error = ", i3)' ) ierr
699
700 if (ierr .eq. 0) then
701 write (iout, '("element variable ",i2," values of element ",
702 1 "block ",i2," at time step ",i2)')
703 2 var_index, ids(i), time_step
704 endif
705
706 do 440 j = 1, num_elem_in_block(i)
707 write (iout, '(f5.3)') var_values(j)
708440 continue
709
710450 continue
711
712c read an element variable through time
713
714 var_index = 2
715 elem_num = 2
716
717 call exgevt (exoid, var_index, elem_num, beg_time, end_time,
718 1 var_values, ierr)
719 write (iout, '(/"after exgevt, error = ", i3)' ) ierr
720
721 write (iout, '("element variable ",i2," values for element ",i2,
722 1 " through time:")') var_index, elem_num
723
724 do 460 i = 1, num_time_steps
725 write (iout, '(f5.3)') var_values(i)
726460 continue
727
728 call exclos (exoid, ierr)
729 write (iout, '(/"after exclos, error = ", i3)' ) ierr
730
731 stop
732 end
void exgqa(int *idexo, char *qa_record, int *ierr, int qa_recordlen)
Definition exo_jack.c:368
int excre(char *path, int *clobmode, int *cpu_word_size, int *io_word_size, int *ierr, int pathlen)
Definition exo_jack.c:176
void exginf(int *idexo, char *info, int *ierr, int infolen)
Definition exo_jack.c:485
void exgssd(int *idexo, entity_id *side_set_id, real *side_set_dist_fact, int *ierr)
Definition exo_jack.c:1742
int64_t exinqi(int *idexo, int *req_info)
Definition exo_jack.c:2402
void exgnsd(int *idexo, entity_id *node_set_id, real *node_set_dist_fact, int *ierr)
Definition exo_jack.c:1550
void exgebi(int *idexo, void_int *elem_blk_ids, int *ierr)
Definition exo_jack.c:830
void exgevt(int *idexo, int *elem_var_index, void_int *elem_number, int *beg_time_step, int *end_time_step, real *elem_var_vals, int *ierr)
Definition exo_jack.c:2273
void exgnams(int *idexo, int *type, int *num_obj, char *names, int *ierr, int nameslen)
Definition exo_jack.c:1124
void exggvt(int *idexo, int *glob_var_index, int *beg_time_step, int *end_time_step, real *glob_var_vals, int *ierr)
Definition exo_jack.c:2169
void exgp(int *idexo, int *obj_type, entity_id *obj_id, char *prop_name, void_int *value, int *ierr, int prop_namelen)
Definition exo_jack.c:1390
void exgcon(int *idexo, char *coord_names, int *ierr, int coord_nameslen)
Definition exo_jack.c:627
void exgssi(int *idexo, void_int *side_set_ids, int *ierr)
Definition exo_jack.c:1751
void exgmap(int *idexo, void_int *elem_map, int *ierr)
Definition exo_jack.c:697
int exopen(char *path, int *mode, int *cpu_word_size, int *io_word_size, float *version, int *ierr, int pathlen)
Definition exo_jack.c:201
void exgnam(int *idexo, int *type, int *id, char *name, int *ierr, int namelen)
Definition exo_jack.c:1181
void exgvtt(int *idexo, int *num_entity, int *num_var, int *var_tab, int *ierr)
Definition exo_jack.c:2101
void exgean(int *idexo, entity_id *elem_blk_id, int *num_attr, char *names, int *ierr, int nameslen)
Definition exo_jack.c:935
void exgelb(int *idexo, entity_id *elem_blk_id, char *elem_type, void_int *num_elem_this_blk, void_int *num_nodes_per_elem, void_int *num_attr, int *ierr, int elem_typelen)
Definition exo_jack.c:799
void exclos(int *idexo, int *ierr)
Definition exo_jack.c:227
void exgcor(int *idexo, real *x_coor, real *y_coor, real *z_coor, int *ierr)
Definition exo_jack.c:560
void exgcns(int *idexo, void_int *node_set_ids, void_int *num_nodes_per_set, void_int *num_dist_per_set, void_int *node_sets_node_index, void_int *node_sets_dist_index, void_int *node_sets_node_list, real *node_sets_dist_fact, int *ierr)
Definition exo_jack.c:1634
void exgtim(int *idexo, int *time_step, real *time_value, int *ierr)
Definition exo_jack.c:2373
void exgpn(int *idexo, int *obj_type, char *prop_names, int *ierr, int prop_nameslen)
Definition exo_jack.c:1270
void exgssn(int *idexo, entity_id *side_set_id, void_int *side_set_node_cnt_list, void_int *side_set_node_list, int *ierr)
Definition exo_jack.c:2427
int exlgmd(int *idexo)
Definition exo_jack.c:2584
void exgnsi(int *idexo, void_int *node_set_ids, int *ierr)
Definition exo_jack.c:1559
void exgini(int *idexo, char *title, void_int *num_dim, void_int *num_nodes, void_int *num_elem, void_int *num_elem_blk, void_int *num_node_sets, void_int *num_side_sets, int *ierr, int titlelen)
Definition exo_jack.c:279
void exgns(int *idexo, entity_id *node_set_id, void_int *node_set_node_list, int *ierr)
Definition exo_jack.c:1541
void exgcss(int *idexo, void_int *side_set_ids, void_int *num_elem_per_set, void_int *num_dist_per_set, void_int *side_sets_elem_index, void_int *side_sets_dist_index, void_int *side_sets_elem_list, void_int *side_sets_side_list, real *side_sets_dist_fact, int *ierr)
Definition exo_jack.c:1825
void exgnvt(int *idexo, int *nodal_var_index, void_int *node_number, int *beg_time_step, int *end_time_step, real *nodal_var_vals, int *ierr)
Definition exo_jack.c:2216
void exgeat(int *idexo, entity_id *elem_blk_id, real *attrib, int *ierr)
Definition exo_jack.c:926
void exgev(int *idexo, int *time_step, int *elem_var_index, entity_id *elem_blk_id, void_int *num_elem_this_blk, real *elem_var_vals, int *ierr)
Definition exo_jack.c:2254
void exgatm(int *idexo, real *time_values, int *ierr)
Definition exo_jack.c:2382
void exgvp(int *idexo, char *var_type, int *num_vars, int *ierr, int var_typelen)
Definition exo_jack.c:1920
void exgss(int *idexo, entity_id *side_set_id, void_int *side_set_elem_list, void_int *side_set_side_list, int *ierr)
Definition exo_jack.c:1723
void exgnv(int *idexo, int *time_step, int *nodal_var_index, void_int *num_nodes, real *nodal_var_vals, int *ierr)
Definition exo_jack.c:2198
void exgelc(int *idexo, entity_id *elem_blk_id, void_int *connect, int *ierr)
Definition exo_jack.c:848
void exggv(int *idexo, int *time_step, int *num_glob_vars, real *glob_var_vals, int *ierr)
Definition exo_jack.c:2159
void exgsp(int *idexo, entity_id *side_set_id, void_int *num_sides_in_set, void_int *num_df_in_set, int *ierr)
Definition exo_jack.c:1694
void exgnp(int *idexo, entity_id *node_set_id, void_int *num_nodes_in_set, void_int *num_dist_in_set, int *ierr)
Definition exo_jack.c:1513
void exgvan(int *idexo, char *var_type, int *num_vars, char *var_names, int *ierr, int var_typelen, int var_nameslen)
Definition exo_jack.c:1981