39 include
'exodusII.inc'
42 integer exoid, num_dim,num_nodes,elem_map(5),num_elem,num_elem_blk
43 integer num_elem_in_block(10), num_nodes_per_elem(10),numattr(10)
44 integer num_node_sets, num_side_sets
45 integer i, j, k, m, connect(10)
46 integer node_list(100), elem_list(100), side_list(100)
47 integer ebids(10),ids(10), num_nodes_per_set(10)
48 integer num_elem_per_set(10), num_df_per_set(10)
49 integer df_ind(10), node_ind(10), elem_ind(10)
50 integer num_qa_rec, num_info
51 integer num_glo_vars, num_nod_vars, num_ele_vars
52 integer truth_tab(3,5)
53 integer whole_time_step, num_time_steps
54 integer cpu_word_size, io_word_size
57 real glob_var_vals(100), nodal_var_vals(100)
58 real time_value, elem_var_vals(100)
59 real x(100), y(100), z(100)
60 real attrib(100), dist_fact(100)
62 character*(MXSTLN) coord_names(3)
63 character*(MXSTLN) blk_names(5)
64 character*(MXSTLN) nset_names(2)
65 character*(MXSTLN) sset_names(5)
66 character*(MXSTLN) cname
67 character*(MXSTLN) var_names(3)
68 character*(MXSTLN) qa_record(4,2)
69 character*(MXLNLN) inform(3)
70 character*(MXSTLN) prop_names(2)
71 character*(MXSTLN) attrib_names(1)
73 data iin /5/, iout /6/
76 write (iout,
'("after exopts, error = ", i4)') ierr
82 exoid =
excre(
"test.exo",
83 1 exclob, cpu_word_size, io_word_size, ierr)
84 write (iout,
'("after excre for test.exo, id: ", i4)') exoid
85 write (iout,
'(" cpu word size: ",i4," io word size: ",i4)')
86 1 cpu_word_size, io_word_size
87 write (iout,
'("after excre, error = ", i4)') ierr
98 call expini (exoid,
"This is a test", num_dim, num_nodes,
99 1 num_elem, num_elem_blk, num_node_sets,
100 2 num_side_sets, ierr)
102 write (iout,
'("after expini, error = ", i4)' ) ierr
104 if (ierr .ne. 0)
then
209 call expcor (exoid, x, y, z, ierr)
210 write (iout,
'("after expcor, error = ", i4)' ) ierr
211 if (ierr .ne. 0)
then
217 coord_names(1) =
"xcoor"
218 coord_names(2) =
"ycoor"
219 coord_names(3) =
"zcoor"
221 call expcon (exoid, coord_names, ierr)
222 write (iout,
'("after expcon, error = ", i4)' ) ierr
224 if (ierr .ne. 0)
then
234 do 10 i = 1, num_elem
238 call expmap (exoid, elem_map, ierr)
239 write (iout,
'("after expmap, error = ", i4)' ) ierr
240 if (ierr .ne. 0)
then
249 num_elem_in_block(1) = 1
250 num_elem_in_block(2) = 1
251 num_elem_in_block(3) = 1
252 num_elem_in_block(4) = 1
253 num_elem_in_block(5) = 1
255 num_nodes_per_elem(1) = 4
256 num_nodes_per_elem(2) = 4
257 num_nodes_per_elem(3) = 8
258 num_nodes_per_elem(4) = 4
259 num_nodes_per_elem(5) = 6
274 call expelb (exoid,ebids(1),cname,num_elem_in_block(1),
275 1 num_nodes_per_elem(1),numattr(1),ierr)
276 write (iout,
'("after expelb, error = ", i4)' ) ierr
277 if (ierr .ne. 0)
then
282 call expelb (exoid,ebids(2),cname,num_elem_in_block(2),
283 1 num_nodes_per_elem(2),numattr(2),ierr)
284 write (iout,
'("after expelb, error = ", i4)' ) ierr
285 if (ierr .ne. 0)
then
291 call expelb (exoid,ebids(3),cname,num_elem_in_block(3),
292 1 num_nodes_per_elem(3),numattr(3),ierr)
293 write (iout,
'("after expelb, error = ", i4)' ) ierr
294 if (ierr .ne. 0)
then
300 call expelb (exoid,ebids(4),cname,num_elem_in_block(4),
301 1 num_nodes_per_elem(4),numattr(4),ierr)
302 write (iout,
'("after expelb, error = ", i4)' ) ierr
303 if (ierr .ne. 0)
then
309 call expelb (exoid,ebids(5),cname,num_elem_in_block(5),
310 1 num_nodes_per_elem(5),numattr(5),ierr)
311 write (iout,
'("after expelb, error = ", i4)' ) ierr
312 if (ierr .ne. 0)
then
317 blk_names(1) =
"block_a";
318 blk_names(2) =
"block_b";
319 blk_names(3) =
"block_c";
320 blk_names(4) =
"block_d";
321 blk_names(5) =
"block_e";
323 call expnams(exoid, ex_elem_block, num_elem_blk, blk_names, ierr)
324 write (iout,
'("after expnams, error = ", i4)' ) ierr
325 if (ierr .ne. 0)
then
332 prop_names(1) =
"MATL"
333 prop_names(2) =
"DENSITY"
334 call exppn(exoid,ex_elem_block,2,prop_names,ierr)
335 write (iout,
'("after exppn, error = ", i4)' ) ierr
336 if (ierr .ne. 0)
then
341 call expp(exoid, ex_elem_block, ebids(1),
"MATL", 10, ierr)
342 write (iout,
'("after expp, error = ", i4)' ) ierr
343 if (ierr .ne. 0)
then
347 call expp(exoid, ex_elem_block, ebids(2),
"MATL", 20, ierr)
348 write (iout,
'("after expp, error = ", i4)' ) ierr
349 if (ierr .ne. 0)
then
353 call expp(exoid, ex_elem_block, ebids(3),
"MATL", 30, ierr)
354 write (iout,
'("after expp, error = ", i4)' ) ierr
355 if (ierr .ne. 0)
then
359 call expp(exoid, ex_elem_block, ebids(4),
"MATL", 40, ierr)
360 write (iout,
'("after expp, error = ", i4)' ) ierr
361 if (ierr .ne. 0)
then
365 call expp(exoid, ex_elem_block, ebids(5),
"MATL", 50, ierr)
366 write (iout,
'("after expp, error = ", i4)' ) ierr
367 if (ierr .ne. 0)
then
381 call expelc (exoid, ebids(1), connect, ierr)
382 write (iout,
'("after expelc, error = ", i4)' ) ierr
383 if (ierr .ne. 0)
then
393 call expelc (exoid, ebids(2), connect, ierr)
394 write (iout,
'("after expelc, error = ", i4)' ) ierr
395 if (ierr .ne. 0)
then
409 call expelc (exoid, ebids(3), connect, ierr)
410 write (iout,
'("after expelc, error = ", i4)' ) ierr
411 if (ierr .ne. 0)
then
421 call expelc (exoid, ebids(4), connect, ierr)
422 write (iout,
'("after expelc, error = ", i4)' ) ierr
423 if (ierr .ne. 0)
then
435 call expelc (exoid, ebids(5), connect, ierr)
436 write (iout,
'("after expelc, error = ", i4)' ) ierr
437 if (ierr .ne. 0)
then
446 call expeat (exoid, ebids(1), attrib, ierr)
447 write (iout,
'("after expeat, error = ", i4)' ) ierr
448 if (ierr .ne. 0)
then
454 call expeat (exoid, ebids(2), attrib, ierr)
455 write (iout,
'("after expeat, error = ", i4)' ) ierr
456 if (ierr .ne. 0)
then
461 call expeat (exoid, ebids(3), attrib, ierr)
462 write (iout,
'("after expeat, error = ", i4)' ) ierr
463 if (ierr .ne. 0)
then
468 call expeat (exoid, ebids(4), attrib, ierr)
469 write (iout,
'("after expeat, error = ", i4)' ) ierr
470 if (ierr .ne. 0)
then
475 call expeat (exoid, ebids(5), attrib, ierr)
476 write (iout,
'("after expeat, error = ", i4)' ) ierr
477 if (ierr .ne. 0)
then
482 attrib_names(1) =
'THICKNESS'
484 call expean (exoid, ebids(i), 1, attrib_names, ierr)
485 write (iout,
'("after expean, error = ", i4)' ) ierr
486 if (ierr .ne. 0)
then
507 call expnp (exoid, 20, 5, 5, ierr)
508 write (iout,
'("after expnp, error = ", i4)' ) ierr
509 if (ierr .ne. 0)
then
513 call expns (exoid, 20, node_list, ierr)
514 write (iout,
'("after expns, error = ", i4)' ) ierr
515 if (ierr .ne. 0)
then
519 call expnsd (exoid, 20, dist_fact, ierr)
520 write (iout,
'("after expnsd, error = ", i4)' ) ierr
521 if (ierr .ne. 0)
then
534 call expnp (exoid, 21, 3, 3, ierr)
535 write (iout,
'("after expnp, error = ", i4)' ) ierr
536 if (ierr .ne. 0)
then
540 call expns (exoid, 21, node_list, ierr)
541 write (iout,
'("after expns, error = ", i4)' ) ierr
542 if (ierr .ne. 0)
then
546 call expnsd (exoid, 21, dist_fact, ierr)
547 write (iout,
'("after expnsd, error = ", i4)' ) ierr
548 if (ierr .ne. 0)
then
561 num_nodes_per_set(1) = 5
562 num_nodes_per_set(2) = 3
564 num_df_per_set(1) = 5
565 num_df_per_set(2) = 3
595 nset_names(1) =
"nodeset_a1";
596 nset_names(2) =
"nodeset_b2";
598 call expnams(exoid, ex_node_set, num_node_sets, nset_names, ierr)
599 write (iout,
'("after expnams, error = ", i4)' ) ierr
600 if (ierr .ne. 0)
then
608 prop_names(1) =
"FACE"
609 call expp(exoid, ex_node_set, 20, prop_names(1), 4, ierr)
610 write (iout,
'("after expp, error = ", i4)' ) ierr
611 if (ierr .ne. 0)
then
616 call expp(exoid, ex_node_set, 21, prop_names(1), 5, ierr)
617 write (iout,
'("after expp, error = ", i4)' ) ierr
618 if (ierr .ne. 0)
then
626 prop_names(1) =
"VELOCITY"
627 call exppa(exoid, ex_node_set, prop_names(1), prop_array, ierr)
628 write (iout,
'("after exppa, error = ", i4)' ) ierr
629 if (ierr .ne. 0)
then
651 call expsp (exoid, 30, 2, 4, ierr)
652 write (iout,
'("after expsp, error = ", i4)' ) ierr
653 if (ierr .ne. 0)
then
658 call expss (exoid, 30, elem_list, side_list, ierr)
659 write (iout,
'("after expss, error = ", i4)' ) ierr
660 if (ierr .ne. 0)
then
665 call expssd (exoid, 30, dist_fact, ierr)
666 write (iout,
'("after expssd, error = ", i4)' ) ierr
667 if (ierr .ne. 0)
then
685 call expsp (exoid, 31, 2, 4, ierr)
686 write (iout,
'("after expsp, error = ", i4)' ) ierr
687 if (ierr .ne. 0)
then
692 call expss (exoid, 31, elem_list, side_list, ierr)
693 write (iout,
'("after expss, error = ", i4)' ) ierr
694 if (ierr .ne. 0)
then
699 call expssd (exoid, 31, dist_fact, ierr)
700 write (iout,
'("after expssd, error = ", i4)' ) ierr
701 if (ierr .ne. 0)
then
724 call expsp (exoid, 32, 7, 0, ierr)
725 write (iout,
'("after expsp, error = ", i4)' ) ierr
726 if (ierr .ne. 0)
then
731 call expss (exoid, 32, elem_list, side_list, ierr)
732 write (iout,
'("after expss, error = ", i4)' ) ierr
733 if (ierr .ne. 0)
then
750 call expsp (exoid, 33, 4, 0, ierr)
751 write (iout,
'("after expsp, error = ", i4)' ) ierr
752 if (ierr .ne. 0)
then
757 call expss (exoid, 33, elem_list, side_list, ierr)
758 write (iout,
'("after expss, error = ", i4)' ) ierr
759 if (ierr .ne. 0)
then
778 call expsp (exoid, 34, 5, 0, ierr)
779 write (iout,
'("after expsp, error = ", i4)' ) ierr
780 if (ierr .ne. 0)
then
785 call expss (exoid, 34, elem_list, side_list, ierr)
786 write (iout,
'("after expss, error = ", i4)' ) ierr
787 if (ierr .ne. 0)
then
892 num_elem_per_set(1) = 2
893 num_elem_per_set(2) = 2
894 num_elem_per_set(3) = 7
895 num_elem_per_set(4) = 4
896 num_elem_per_set(5) = 5
898 num_nodes_per_set(1) = 4
899 num_nodes_per_set(2) = 4
900 num_nodes_per_set(3) = 28
901 num_nodes_per_set(4) = 12
902 num_nodes_per_set(5) = 20
947 num_df_per_set(1) = 4
948 num_df_per_set(2) = 4
949 num_df_per_set(3) = 0
950 num_df_per_set(4) = 0
951 num_df_per_set(5) = 0
970 prop_names(1) =
"COLOR"
971 call expp(exoid, ex_side_set, 30, prop_names(1), 100, ierr)
972 write (iout,
'("after expp, error = ", i4)' ) ierr
973 if (ierr .ne. 0)
then
978 call expp(exoid, ex_side_set, 31, prop_names(1), 101, ierr)
979 write (iout,
'("after expp, error = ", i4)' ) ierr
980 if (ierr .ne. 0)
then
985 sset_names(1) =
"surf_first"
986 sset_names(2) =
"surf_second";
987 sset_names(3) =
"surf_third";
988 sset_names(4) =
"surf_fourth";
989 sset_names(5) =
"surf_fifth";
991 call expnams(exoid, ex_side_set, num_side_sets, sset_names, ierr)
992 write (iout,
'("after expnams, error = ", i4)' ) ierr
993 if (ierr .ne. 0)
then
1004 qa_record(1,1) =
"TESTWT fortran version"
1005 qa_record(2,1) =
"testwt"
1006 qa_record(3,1) =
"07/07/93"
1007 qa_record(4,1) =
"15:41:33"
1008 qa_record(1,2) =
"FASTQ"
1009 qa_record(2,2) =
"fastq"
1010 qa_record(3,2) =
"07/07/93"
1011 qa_record(4,2) =
"16:41:33"
1013 call expqa (exoid, num_qa_rec, qa_record, ierr)
1014 write (iout,
'("after expqa, error = ", i4)' ) ierr
1015 if (ierr .ne. 0)
then
1027 inform(1) =
"This is the first information record."
1028 inform(2) =
"This is the second information record."
1029 inform(3) =
"This is the third information record."
1031 call expinf (exoid, num_info, inform, ierr)
1032 write (iout,
'("after expinf, error = ", i4)' ) ierr
1033 if (ierr .ne. 0)
then
1042 var_names(1) =
"glo_vars"
1044 call expvp (exoid,
"g", num_glo_vars, ierr)
1045 write (iout,
'("after expvp, error = ", i4)' ) ierr
1046 if (ierr .ne. 0)
then
1050 call expvan (exoid,
"g", num_glo_vars, var_names, ierr)
1051 write (iout,
'("after expvan, error = ", i4)' ) ierr
1052 if (ierr .ne. 0)
then
1060 var_names(1) =
"nod_var0"
1061 var_names(2) =
"nod_var1"
1063 call expvp (exoid,
"n", num_nod_vars, ierr)
1064 write (iout,
'("after expvp, error = ", i4)' ) ierr
1065 if (ierr .ne. 0)
then
1069 call expvan (exoid,
"n", num_nod_vars, var_names, ierr)
1070 write (iout,
'("after expvan, error = ", i4)' ) ierr
1071 if (ierr .ne. 0)
then
1079 var_names(1) =
"ele_var0"
1080 var_names(2) =
"ele_var1"
1081 var_names(3) =
"ele_var2"
1083 call expvp (exoid,
"e", num_ele_vars, ierr)
1084 write (iout,
'("after expvp, error = ", i4)' ) ierr
1085 if (ierr .ne. 0)
then
1089 call expvan (exoid,
"e", num_ele_vars, var_names, ierr)
1090 write (iout,
'("after expvan, error = ", i4)' ) ierr
1091 if (ierr .ne. 0)
then
1102 do 30 i = 1,num_elem_blk
1103 do 20 j = 1,num_ele_vars
1108 call expvtt (exoid, num_elem_blk, num_ele_vars, truth_tab, ierr)
1109 write (iout,
'("after expvtt, error = ", i4)' ) ierr
1110 if (ierr .ne. 0)
then
1125 do 110 i = 1, num_time_steps
1126 time_value =
real(i)/100.
1131 call exptim (exoid, whole_time_step, time_value, ierr)
1132 write (iout,
'("after exptim, error = ", i4)' ) ierr
1133 if (ierr .ne. 0)
then
1142 do 50 j = 1, num_glo_vars
1143 glob_var_vals(j) =
real(j+1) * time_value
1146 call expgv (exoid, whole_time_step, num_glo_vars,
1147 1 glob_var_vals, ierr)
1148 write (iout,
'("after expgv, error = ", i4)' ) ierr
1149 if (ierr .ne. 0)
then
1158 do 70 k = 1, num_nod_vars
1159 do 60 j = 1, num_nodes
1161 nodal_var_vals(j) =
real(k) + (
real(j) * time_value)
1165 call expnv (exoid, whole_time_step, k, num_nodes,
1166 1 nodal_var_vals, ierr)
1167 write (iout,
'("after expnv, error = ", i4)' ) ierr
1168 if (ierr .ne. 0)
then
1179 do 100 k = 1, num_ele_vars
1180 do 90 j = 1, num_elem_blk
1181 do 80 m = 1, num_elem_in_block(j)
1183 elem_var_vals(m) =
real(k+1) +
real(j+1) +
1184 1 (
real(m)*time_value)
1189 call expev (exoid, whole_time_step, k, ebids(j),
1190 1 num_elem_in_block(j), elem_var_vals, ierr)
1191 write (iout,
'("after expev, error = ", i4)' ) ierr
1192 if (ierr .ne. 0)
then
1200 whole_time_step = whole_time_step + 1
1206 call exupda (exoid, ierr)
1207 write (iout,
'("after exupda, error = ", i4)' ) ierr
1208 if (ierr .ne. 0)
then
1218 call exclos (exoid, ierr)
1219 write (iout,
'("after exclos, error = ", i4)' ) ierr